Mastercard · Schema
Mastercard Transaction
A financial transaction record processed through the Mastercard network, capturing the full lifecycle from authorization through settlement. Used across fraud detection, analytics, and reconciliation services.
Credit CardsDigital IdentityFinancial-ServicesFraud DetectionOpen BankingPaymentsFortune 500
Properties
| Name | Type | Description |
|---|---|---|
| transactionId | string | Unique identifier for the transaction, generated using UUID logic. |
| transactionIdentifiers | array | One or more identifiers used to locate the transaction in the Mastercard Data Warehouse. |
| cardNumber | string | Primary Account Number (PAN) used in the transaction. Must pass Luhn algorithm validation. |
| cardProductCode | string | Three-character code identifying the type of card used in the transaction (e.g., MSI for Mastercard Standard, MWE for World Elite). |
| transactionAmount | string | Transaction amount at the merchant location without decimal separators. Implied decimals depend on the currency. |
| transactionCurrencyCode | string | ISO 4217 numeric currency code for the transaction amount. |
| billingAmount | string | Amount appearing on the cardholder statement in the cardholder billing currency, without decimals. |
| billingCurrencyCode | string | ISO 4217 numeric currency code for the billing amount. |
| transactionDate | string | Local date at the merchant location when the transaction occurred, in YYYYMMDD format. |
| transactionTime | string | Local time at the merchant location when the transaction occurred, in HHmmss format. |
| settlementDate | string | Date the transaction was settled, in YYYYMMDD format. |
| timestamp | string | Timestamp of the request initiation in ISO 8601 format with CST timezone offset. |
| icaNumber | string | Interbank Card Association (ICA) number of the issuer or acquirer initiating the request. |
| acquirerId | string | ICA number of the acquiring institution for the transaction. |
| merchantId | string | Card acceptor or merchant unique identification number assigned by the acquirer. |
| merchantName | string | Name of the card acceptor. |
| merchantCity | string | City in which the merchant is located. |
| merchantStateProvinceCode | string | State or province code where the merchant is located. |
| merchantCountryCode | string | ISO 3166-1 alpha-3 country code where the merchant is located. |
| merchantPostalCode | string | Postal code at the merchant location. |
| merchantCategoryCode | string | Four-digit ISO 18245 Merchant Category Code (MCC) classifying the merchant business type. |
| terminalId | string | Unique code identifying a terminal at the card acceptor location. |
| terminalAttendanceIndicator | string | Indicates if the card acceptor was attending the terminal at the time of the transaction. |
| terminalOperatingEnvironment | string | Indicates whether the terminal is attended and its location environment. |
| terminalCapabilityIndicator | string | Indicates the capability of the terminal to read card data. |
| posEntryMode | string | Point of service entry mode indicating how the card number and expiration date were captured. |
| accountDeviceType | string | Indicates if the account uses magnetic stripe, chip, PIN, contactless, or combinations thereof. |
| cardholderPresenceIndicator | string | Indicates whether the cardholder was present at the point of transaction. |
| cardPresenceIndicator | string | Indicates whether the card was present at the point of transaction. |
| catLevelIndicator | string | Cardholder Activated Terminal (CAT) level indicator showing the type of automated terminal. |
| cvcInvalidIndicator | string | Indicates whether the Card Verification Code (CVC) was invalid. |
| avsResponseCode | string | Address Verification Service (AVS) response code from the authorization request. |
| authResponseCode | string | Authorization response code indicating the result of the authorization request. |
| network | string | Payment network through which the transaction was processed. |
| refId | string | Reference identifier generated by the originator to link request and response messages. |
| memo | string | Brief description by the originator providing context for the transaction. |
JSON Schema
{
"$id": "https://github.com/api-evangelist/mastercard/blob/main/json-schema/transaction.json",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Mastercard Transaction",
"description": "A financial transaction record processed through the Mastercard network, capturing the full lifecycle from authorization through settlement. Used across fraud detection, analytics, and reconciliation services.",
"type": "object",
"required": [
"transactionId",
"cardNumber",
"transactionAmount",
"transactionCurrencyCode",
"transactionDate",
"merchantId"
],
"properties": {
"transactionId": {
"type": "string",
"description": "Unique identifier for the transaction, generated using UUID logic.",
"format": "uuid",
"examples": ["ecb2d942-eabd-42b6-87fd-69c19692bdc6"]
},
"transactionIdentifiers": {
"type": "array",
"description": "One or more identifiers used to locate the transaction in the Mastercard Data Warehouse.",
"items": {
"$ref": "#/$defs/TransactionIdentifier"
}
},
"cardNumber": {
"type": "string",
"description": "Primary Account Number (PAN) used in the transaction. Must pass Luhn algorithm validation.",
"pattern": "^[0-9]{12,19}$",
"minLength": 12,
"maxLength": 19,
"examples": ["5505135664572870000"]
},
"cardProductCode": {
"type": "string",
"description": "Three-character code identifying the type of card used in the transaction (e.g., MSI for Mastercard Standard, MWE for World Elite).",
"minLength": 3,
"maxLength": 3,
"examples": ["MSI"]
},
"transactionAmount": {
"type": "string",
"description": "Transaction amount at the merchant location without decimal separators. Implied decimals depend on the currency.",
"pattern": "^[0-9]+$",
"minLength": 1,
"maxLength": 12,
"examples": ["10350"]
},
"transactionCurrencyCode": {
"type": "string",
"description": "ISO 4217 numeric currency code for the transaction amount.",
"pattern": "^[0-9]{3}$",
"minLength": 3,
"maxLength": 3,
"examples": ["826"]
},
"billingAmount": {
"type": "string",
"description": "Amount appearing on the cardholder statement in the cardholder billing currency, without decimals.",
"pattern": "^[0-9]+$",
"minLength": 1,
"maxLength": 12,
"examples": ["10350"]
},
"billingCurrencyCode": {
"type": "string",
"description": "ISO 4217 numeric currency code for the billing amount.",
"pattern": "^[0-9]{3}$",
"minLength": 3,
"maxLength": 3,
"examples": ["826"]
},
"transactionDate": {
"type": "string",
"description": "Local date at the merchant location when the transaction occurred, in YYYYMMDD format.",
"pattern": "^\\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$",
"minLength": 8,
"maxLength": 8,
"examples": ["20240115"]
},
"transactionTime": {
"type": "string",
"description": "Local time at the merchant location when the transaction occurred, in HHmmss format.",
"pattern": "^([01][0-9]|2[0-3])[0-5][0-9][0-5][0-9]$",
"minLength": 6,
"maxLength": 6
},
"settlementDate": {
"type": "string",
"description": "Date the transaction was settled, in YYYYMMDD format.",
"pattern": "^\\d{4}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])$",
"minLength": 8,
"maxLength": 8,
"examples": ["20240116"]
},
"timestamp": {
"type": "string",
"description": "Timestamp of the request initiation in ISO 8601 format with CST timezone offset.",
"format": "date-time",
"examples": ["2024-02-02T02:34:37-06:00"]
},
"icaNumber": {
"type": "string",
"description": "Interbank Card Association (ICA) number of the issuer or acquirer initiating the request.",
"minLength": 3,
"maxLength": 7,
"examples": ["1076"]
},
"acquirerId": {
"type": "string",
"description": "ICA number of the acquiring institution for the transaction.",
"minLength": 3,
"maxLength": 7,
"examples": ["5450"]
},
"merchantId": {
"type": "string",
"description": "Card acceptor or merchant unique identification number assigned by the acquirer.",
"minLength": 1,
"maxLength": 15,
"examples": ["A42E51982100100"]
},
"merchantName": {
"type": "string",
"description": "Name of the card acceptor.",
"minLength": 1,
"maxLength": 22,
"examples": ["BANKNEWPORT"]
},
"merchantCity": {
"type": "string",
"description": "City in which the merchant is located.",
"minLength": 1,
"maxLength": 13,
"examples": ["PHOENIX"]
},
"merchantStateProvinceCode": {
"type": "string",
"description": "State or province code where the merchant is located.",
"minLength": 2,
"maxLength": 3,
"examples": ["AZ"]
},
"merchantCountryCode": {
"type": "string",
"description": "ISO 3166-1 alpha-3 country code where the merchant is located.",
"minLength": 3,
"maxLength": 3,
"examples": ["USA"]
},
"merchantPostalCode": {
"type": "string",
"description": "Postal code at the merchant location.",
"minLength": 1,
"maxLength": 10,
"examples": ["85001"]
},
"merchantCategoryCode": {
"type": "string",
"description": "Four-digit ISO 18245 Merchant Category Code (MCC) classifying the merchant business type.",
"pattern": "^[0-9]{4}$",
"minLength": 4,
"maxLength": 4,
"examples": ["6011"]
},
"terminalId": {
"type": "string",
"description": "Unique code identifying a terminal at the card acceptor location.",
"minLength": 1,
"maxLength": 8,
"examples": ["5055D305"]
},
"terminalAttendanceIndicator": {
"type": "string",
"description": "Indicates if the card acceptor was attending the terminal at the time of the transaction.",
"minLength": 1,
"maxLength": 1
},
"terminalOperatingEnvironment": {
"type": "string",
"description": "Indicates whether the terminal is attended and its location environment.",
"minLength": 1,
"maxLength": 1
},
"terminalCapabilityIndicator": {
"type": "string",
"description": "Indicates the capability of the terminal to read card data.",
"minLength": 1,
"maxLength": 1
},
"posEntryMode": {
"type": "string",
"description": "Point of service entry mode indicating how the card number and expiration date were captured.",
"maxLength": 3,
"examples": ["051"]
},
"accountDeviceType": {
"type": "string",
"description": "Indicates if the account uses magnetic stripe, chip, PIN, contactless, or combinations thereof.",
"minLength": 1,
"maxLength": 1,
"examples": ["1"]
},
"cardholderPresenceIndicator": {
"type": "string",
"description": "Indicates whether the cardholder was present at the point of transaction.",
"minLength": 1,
"maxLength": 1
},
"cardPresenceIndicator": {
"type": "string",
"description": "Indicates whether the card was present at the point of transaction.",
"minLength": 1,
"maxLength": 1
},
"catLevelIndicator": {
"type": "string",
"description": "Cardholder Activated Terminal (CAT) level indicator showing the type of automated terminal.",
"minLength": 1,
"maxLength": 1
},
"cvcInvalidIndicator": {
"type": "string",
"description": "Indicates whether the Card Verification Code (CVC) was invalid.",
"minLength": 1,
"maxLength": 1
},
"avsResponseCode": {
"type": "string",
"description": "Address Verification Service (AVS) response code from the authorization request.",
"minLength": 1,
"maxLength": 1,
"examples": ["U"]
},
"authResponseCode": {
"type": "string",
"description": "Authorization response code indicating the result of the authorization request.",
"minLength": 2,
"maxLength": 2,
"examples": ["01"]
},
"network": {
"type": "string",
"description": "Payment network through which the transaction was processed.",
"enum": [
"MASTERCARD",
"MAESTRO",
"CIRRUS"
]
},
"refId": {
"type": "string",
"description": "Reference identifier generated by the originator to link request and response messages.",
"format": "uuid",
"examples": ["ecb2d942-eabd-42b6-87fd-69c19692bdc6"]
},
"memo": {
"type": "string",
"description": "Brief description by the originator providing context for the transaction.",
"maxLength": 1000
}
},
"$defs": {
"TransactionIdentifier": {
"type": "object",
"description": "An identifier used to locate a transaction within the Mastercard Data Warehouse. Exactly one of the identifier types should be provided.",
"properties": {
"banknetReferenceNumber": {
"type": "string",
"description": "Banknet Reference Number, a unique transaction identifier in the Mastercard network.",
"maxLength": 9
},
"systemTraceAuditNumber": {
"type": "string",
"description": "System Trace Audit Number used to identify transactions.",
"maxLength": 6
},
"authorizationCode": {
"type": "string",
"description": "Authorization code from the issuer.",
"maxLength": 6
},
"switchSerialNumber": {
"type": "string",
"description": "Switch serial number assigned during transaction processing.",
"maxLength": 22
}
}
}
}
}