environment | enum | Mandatory | Environment to which the transaction belongs. Allowed: PRODUCTION, TESTING. Files should only contain records from a single environment. |
transaction_id | string | Mandatory | Internal transaction ID in the PSP system. Must be unique; duplicates will be merged using the latest version by ingestion time. To update a transaction, re-send it with updated values. IDs longer than 64 characters will be truncated. Example: 6e088a06-3b6f-4b9b-a60a-d2fd985397be. |
transaction_type | enum | Mandatory | Type of the transaction. Allowed: PURCHASE, REFUND. |
merchant_registration_id | string | Mandatory | Legal registration ID of the merchant. If no matching merchant exists at processing time, a new merchant is created in a UNIDENTIFIED state until a matching record arrives via the merchants file. See Merchant Registration ID Types. |
merchant_registration_id_type | string | Mandatory | Type of registration ID — see Merchant Registration ID Types. Example: UEN. |
merchant_registered_country | country | Mandatory | Country where the merchant is legally registered — ISO 3166 alpha-2. Example: SG. |
internal_merchant_id | string | Optional | Internal merchant ID of the account to which this transaction belongs. IDs longer than 64 characters will be truncated. Example: 398-347-598. |
authorisation_id | string | Mandatory | Unique identifier for the authorisation of the transaction. Only populated when payment_method is CARD; may be blank otherwise. IDs longer than 64 characters will be truncated. See the authorisation specification. Example: b0a93f05-2e8d-4c3c-b409-6322d26b270e. |
transaction_currency | currency | Mandatory | Currency of the transaction — ISO 4217 alpha-3. May differ from the merchant trading currency (e.g. for Multi-Currency Pricing). Example: USD. |
transaction_amount | decimal | Mandatory | Transaction amount in the main unit of the currency, no thousand delimiters, dot as decimal separator. Amounts are rounded per Unicode CLDR. Negative values are converted via absolute value. Zero-amount records are rejected. Example: 20.00. |
processing_date_time | datetime | Mandatory | Time at which the transaction was processed (submitted and accepted for settlement) by the payment network — ISO 8601. Different from the authorisation time. Ideally UTC with a Z designator or UTC offset. Example: 2024-06-19T09:34:45Z. |
payment_method | enum | Mandatory | Payment method used. Allowed: CARD, WALLET, CASH, VOUCHER, BNPL, ACCOUNT_TO_ACCOUNT, BANK_TRANSFER, OTHER. |
mcc | string | Mandatory | Merchant Category Code used for this transaction or which best represents the merchant — 4-digit string, ISO 18245. Example: 5251. |
website_url | url | Mandatory | Website URL where the customer completed the transaction. Required when channel is ONLINE; may be blank otherwise. Example: www.timstiles.com. |
billing_descriptor | string | Mandatory | Billing descriptor used for the transaction. Required when payment_method is CARD; may be blank otherwise. Example: TIMS TILES. |
card_bin | string | Mandatory | First 6 or 8 digits of the card number. Required when payment_method is CARD; may be blank otherwise. Must be exactly 6 or 8 digits. Example: 413756. |
channel | string | Mandatory | Channel through which the transaction was processed. Allowed: POS, ONLINE, OTHER. Any other values are relabeled as OTHER. |
scheme_mid | string | Optional | Scheme merchant ID (MID) used for this transaction, if known. Example: 1286459. |
ip_address | string | Mandatory | IPv4 or IPv6 address from which the transaction was initiated. Required when channel is ONLINE. Unparseable values are nullified. Example: 83.48.126.235. |
terminal_id | string | Mandatory | Unique identifier of the terminal that processed the transaction. Required when channel is POS. Example: 10350001. |