This documents the additional process of publishing the transaction-request being done after the card-transaction process (e.g. transfer, oubound-auth, etc).
Schema
This is the recent schema for the kafka-message 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
A corresponding schema for the slacker-manager validation-API can be found here: Card Transaction Anti-Fraud Check [WIP]
{ "type": "record", "name": "CardPaymentCreatedEventV2", "namespace": "ph.safibank.avro.cards", "fields": [ { "name": "id", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "transactionId", "type": "string" }, { "name": "transactionCode", "type": "string" }, { "name": "customerId", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "accountId", "type": "string" }, { "name": "counterPartAccountId", "type": "string" }, { "name": "isReversal", "type": "boolean" }, { "name": "settlementState", "type": { "type": "enum", "name": "CardSettlementState", "symbols": [ "CARD_PAYMENT", "AUTHORIZE", "FINAL_SETTLEMENT", "RELEASE" ] } }, { "name": "amount", "type": { "type": "bytes", "logicalType": "decimal", "precision": 20, "scale": 5 } }, { "name": "status", "type": { "type": "enum", "name": "CardTransactionStatus", "symbols": [ "PENDING", "SUCCESS", "FAILED", "CANCELLED" ] } }, { "name": "currency", "type": "string", "default": "PHP" }, { "name": "timestamp", "type": "string" }, { "name": "fee", "type": { "type": "bytes", "logicalType": "decimal", "precision": 20, "scale": 5 }, "default": "0.00" }, { "name": "feeCurrency", "type": "string", "default": "PHP" }, { "name": "cardDetails", "type": { "type": "record", "name": "CardDetail", "fields": [ { "name": "cardId", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "cardType", "type": { "type": "enum", "name": "CardType", "symbols": [ "PHYSICAL", "VIRTUAL" ] } }, { "name": "proxyNumber", "type": "string" }, { "name": "lastFourDigitsCardNumber", "type": "string" }, { "name": "cardVendor", "type": "string" } ] } }, { "name": "categoryCode", "type": { "type": "enum", "name": "CardCategoryCodeAvro", "symbols": [ "ATM", "ECOMM", "POS" ] } }, { "name": "merchantCode", "type": "string", "default": "MCC" }, { "name": "merchantName", "type": "string" }, { "name": "mti", "type": "string" }, { "name": "processingCode", "type": "string" }, { "name": "panEntryMode", "type": "string" }, { "name": "cardAcceptorTerminalID", "type": "string" }, { "name": "cardAcceptorMerchantID", "type": "string" }, { "name": "receiverEmail", "type": "string" }, { "name": "receiverPhone", "type": "string" }, { "name": "receiverAccountName", "type": "string" }, { "name": "receiverIdType", "type": "string" }, { "name": "cardAcceptorTermName", "type": "string" }, { "name": "ecomIndicator", "type": "string" }, { "name": "acquirerCountryCode", "type": "string" }, { "name": "payerEmail", "type": "string" }, { "name": "payerPhone", "type": "string" }, { "name": "payerAccountName", "type": "string" }, { "name": "payerIdType", "type": "string" }, { "name": "ccFirstname", "type": "string" }, { "name": "ccLastname", "type": "string" }, { "name": "ccBin", "type": "string" }, { "name": "ccLastDigits", "type": "string" }, { "name": "ccExpDate", "type": "string" }, { "name": "transactionCurrencyCode", "type": "string" }, { "name": "transactionChannel", "type": "string" }, { "name": "cardHolderBillingAmount", "type": "string" }, { "name": "systemTraceAuditNumber", "type": "string" }, { "name": "localTransactionDateTime", "type": "string" }, { "name": "networkID", "type": "string" }, { "name": "PosDataSF4", "type": "string" }, { "name": "PosDataSF5", "type": "string" }, { "name": "PosDataSF7", "type": "string" }, { "name": "PosDataSF10", "type": "string" }, { "name": "acquirerID", "type": "string" }, { "name": "retrievalReferenceNumber", "type": "string" }, { "name": "authorizationID", "type": "string" }, { "name": "cardHolderCurrencyCode", "type": "string" }, { "name": "OrgtransactionID", "type": "string" }, { "name": "threeDsAuthTID", "type": "string" }, { "name": "DCCIndicator", "type": "string" }, { "name": "UCAFIndicator", "type": "string" }, { "name": "threeDsValidation", "type": "string" }, { "name": "PANValidation", "type": "string" }, { "name": "expiryDateValidation", "type": "string" }, { "name": "pinValidation", "type": "string" }, { "name": "originalDataElement", "type": "string" }, { "name": "originalTransactionID ", "type": "string" }, { "name": "RRN ", "type": "string" } ] }
{ "type": "record", "name": "CardWithdrawalCreatedEventV2", "namespace": "ph.safibank.avro.cards", "fields": [ { "name": "id", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "transactionId", "type": "string" }, { "name": "transactionCode", "type": "string" }, { "name": "customerId", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "accountId", "type": "string" }, { "name": "counterPartAccountId", "type": "string" }, { "name": "isReversal", "type": "boolean" }, { "name": "settlementState", "type": { "type": "enum", "name": "CardSettlementState", "symbols": [ "CARD_PAYMENT", "AUTHORIZE", "FINAL_SETTLEMENT", "RELEASE" ] } }, { "name": "amount", "type": { "type": "bytes", "logicalType": "decimal", "precision": 20, "scale": 5 } }, { "name": "status", "type": { "type": "enum", "name": "CardTransactionStatus", "symbols": [ "PENDING", "SUCCESS", "FAILED", "CANCELLED" ] } }, { "name": "currency", "type": "string", "default": "PHP" }, { "name": "timestamp", "type": "string" }, { "name": "fee", "type": { "type": "bytes", "logicalType": "decimal", "precision": 20, "scale": 5 }, "default": "0.00" }, { "name": "feeCurrency", "type": "string", "default": "PHP" }, { "name": "cardDetails", "type": { "type": "record", "name": "CardDetail", "fields": [ { "name": "cardId", "type": { "type": "string", "logicalType": "uuid" } }, { "name": "cardType", "type": { "type": "enum", "name": "CardType", "symbols": [ "PHYSICAL", "VIRTUAL" ] } }, { "name": "proxyNumber", "type": "string" }, { "name": "lastFourDigitsCardNumber", "type": "string" }, { "name": "cardVendor", "type": "string" } ] } }, { "name": "categoryCode", "type": { "type": "enum", "name": "CardCategoryCodeAvro", "symbols": [ "ATM", "ECOMM", "POS" ] } }, { "name": "merchantCode", "type": "string", "default": "MCC" }, { "name": "merchantName", "type": "string" }, { "name": "mti", "type": "string" }, { "name": "processingCode", "type": "string" }, { "name": "panEntryMode", "type": "string" }, { "name": "cardAcceptorTerminalID", "type": "string" }, { "name": "cardAcceptorMerchantID", "type": "string" }, { "name": "receiverEmail", "type": "string" }, { "name": "receiverPhone", "type": "string" }, { "name": "receiverAccountName", "type": "string" }, { "name": "receiverIdType", "type": "string" }, { "name": "cardAcceptorTermName", "type": "string" }, { "name": "ecomIndicator", "type": "string" }, { "name": "acquirerCountryCode", "type": "string" }, { "name": "payerEmail", "type": "string" }, { "name": "payerPhone", "type": "string" }, { "name": "payerAccountName", "type": "string" }, { "name": "payerIdType", "type": "string" }, { "name": "ccFirstname", "type": "string" }, { "name": "ccLastname", "type": "string" }, { "name": "ccBin", "type": "string" }, { "name": "ccLastDigits", "type": "string" }, { "name": "ccExpDate", "type": "string" }, { "name": "transactionCurrencyCode", "type": "string" }, { "name": "transactionChannel", "type": "string" }, { "name": "cardHolderBillingAmount", "type": "string" }, { "name": "systemTraceAuditNumber", "type": "string" }, { "name": "localTransactionDateTime", "type": "string" }, { "name": "networkID", "type": "string" }, { "name": "PosDataSF4", "type": "string" }, { "name": "PosDataSF5", "type": "string" }, { "name": "PosDataSF7", "type": "string" }, { "name": "PosDataSF10", "type": "string" }, { "name": "acquirerID", "type": "string" }, { "name": "retrievalReferenceNumber", "type": "string" }, { "name": "authorizationID", "type": "string" }, { "name": "cardHolderCurrencyCode", "type": "string" }, { "name": "OrgtransactionID", "type": "string" }, { "name": "threeDsAuthTID", "type": "string" }, { "name": "DCCIndicator", "type": "string" }, { "name": "UCAFIndicator", "type": "string" }, { "name": "threeDsValidation", "type": "string" }, { "name": "PANValidation", "type": "string" }, { "name": "expiryDateValidation", "type": "string" }, { "name": "pinValidation", "type": "string" }, { "name": "originalDataElement", "type": "string" }, { "name": "originalTransactionID ", "type": "string" }, { "name": "RRN ", "type": "string" } ] }