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.
MastercardCredit CardsDigital IdentityFinancial ServicesFraud PreventionOpen BankingPaymentsFortune 500Agentic Commerce
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
}
}
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/transaction"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.