This documents the validation of a card-transaction request for fraud (TEMPORARY ASSUMPTION similar to transaction-request validation response status).
Related documentation (and should be the reference since fraud-management is owned by the slacker team): Slacker and GCP cloud function endpoint
Schema
This is the recent API schema as of 27th of December, 2022 as communicated by Alex Li Huang (Unlicensed) based on https://docs.google.com/spreadsheets/d/1zPHxiL9yc0QnX33AHftS-QgRPu-e7-sFJEb-KXocykc/edit#gid=1552125406
components: schemas: SlackerValidationRequestDto: type: object properties: mti: type: string description: Message Type Identifier processingCode: type: string description: Refer to processing codes section amount: type: number maxLength: 20 description: >- Transaction amount is the value dispensed / entered at transaction origination. The decimal value is decided from the Currency code. ISO 4217. This denotes the original currency or acquirer currency, need not be PHD(home currency). cardHolderBillingAmount: type: number maxLength: 20 description: Cardholder amount is transaction amounted converted to local currency amount, (PHD) timestamp: type: string maxLength: 36 description: >- Transmission Date and Time to be sent in ISO 8601 format, eg: 2022-01-25T04:01:52Z, in SGT format systemTraceAuditNumber: type: string maxLength: 6 description: Number to trace in Euronet system localTransactionDateTime: type: string maxLength: 36 description: >- Local Transaction Date and Time at the acquirer side to be sent in MMDDhhmmss. (Time zone is not known) ISO 8601 format, eg: 2022-01-25T04:01:52Z merchantCode: type: string maxLength: 4 description: Merchant Category Code acquirerCountryCode: type: string maxLength: 3 description: >- Acquirer bank country code to be passed in numeric code in ISO 4217. This field will tell where the txn is performed. Currently not used in MC platform panEntryMode: type: string maxLength: 3 description: PAN entry mode, see complete list below networkID: type: string maxLength: 3 description: >- "MCN" Mastercard Network PosDataSF4: type: string maxLength: 1 description: >- POS Cardholder Presence indicates whether the cardholder is present at the point of service and explains the condition if the cardholder is not present. PosDataSF5: type: string maxLength: 1 description: >- POS Card Presence indicates if the card is present at the point of service. PosDataSF7: type: string maxLength: 1 description: >- POS Transaction Status indicates the purpose or status of the request. PosDataSF10: type: string maxLength: 1 description: >- Cardholder-Activated Terminal Level indicates the type of cardholder activated terminal used by the cardholder to initiate the transaction acquirerID: type: string maxLength: 11 description: Unique id for Acquirer bank retrievalReferenceNumber: type: string maxLength: 12 description: >- Retrieval reference number can be used to trace the transaction from acquirer, scheme and euronet. Generated by acquirer, unique for that particular txn. Can be duplicated across different acquirers. authorizationID: type: string maxLength: 6 description: Authorization ID, to be generated by EN and sent this request. cardAcceptorTerminalID: type: string maxLength: 16 description: Merchant Terminal ID/ ATM ID cardAcceptorMerchantID: type: string maxLength: 16 description: Merchant ID/ For ATM what will this be? merchantName: type: string maxLength: 40 description: >- Merchant name and description/ ATM Name and location. Refers to DE43 in MC specs. Use last three characters of this field to identify DCC. If PH or PHL then local, if not PH or PHL, then can be fx or dcc. If transactionCurrencyCode is 608, then DCC. else fx. currency: type: string maxLength: 3 description: >- Transaction currency represents the currency in which transaction was performed. Format: ISO 4217, for example USD, need not be home currency. cardHolderCurrencyCode: type: string maxLength: 3 description: Cardholder currency represents the currency of issuer ISO 4217, home currency transactionId: type: string maxLength: 15 description: Unique ID for all transaction requests across MC EN and AIG OrgtransactionID: type: string maxLength: 15 description: This field will be used in follow up transactions like incremental auth, reversals and advice of the original transactions. threeDsAuthTID: type: string maxLength: 36 description: >- The Directory Server Transaction ID is generated by the EMV 3DS Mastercard Directory Server during the authentication transaction. Transaction ID during authorization in order to link authentication and authorization data. DCCIndicator: type: string maxLength: 1 description: Only populated for DCC Txn ecomIndicator: type: string maxLength: 2 description: >- Ecommerce Indicator. This field will represent if its Ecommerce Transaction or Tokenized Payment transaction. UCAFIndicator: type: string maxLength: 1 description: UCAF Collection Values represeting security of Ecommerce Transaction threeDsValidation: type: string maxLength: 1 description: This will be populated when Switch validates IAV successfully PANValidation: type: string maxLength: 1 description: PANValidation. expiryDateValidation: type: string maxLength: 1 description: Expiry date validation pinValidation: type: string maxLength: 1 description: Pin validation check. Only present if transaction is PIN base transaction. Like For ATM txns. CVVValidation: type: string maxLength: 1 description: CVV Validation. Only present if transaction is Card base transaction. CVV is present in the physical card mag data. CVV2Validation: type: string maxLength: 1 description: CVV2 Validation. Only present if transaction is Non-Card base transaction EMVValidation: type: string maxLength: 1 description: EMV Validation. Only present if transaction is EMV Card base transaction MSTransactionTypeId: type: String maxLength: 3 description: Transaction Type Identifier used to identify type / mode of funding MSTransactionRefData: type: String maxLength: 358 description: Additional transaction reference Data containing Sender Data accountId: type: string description: sender account ID counterPartAccountId: type: string description: beneficiary account ID fee: type: number description: transaction fee feeCurrency: type: string maxLength: 3 transactionCode: type: string settlementState: type: string enum: - CARD_PAYMENT - AUTHORIZE - FINAL_SETTLEMENT - RELEASE customerId: type: string status: type: string categoryCode: type: string enum: - ATM - ECOMM - POS originalDataElement: type: string originalTransactionID: type: string RRN: type: string cardDetails: $ref: '#/components/schemas/SlackerValidationCardDetailRequestDto' SlackerValidationCardDetailRequestDto: type: object properties: proxyNumber: type: string cardVendor: type: string cardId: type: string lastFourDigitCardNumber: type: string cardType: type: string