Visa · Schema
Visa Payment Transaction
Schema representing a Visa payment transaction including push funds, pull funds, and card payment operations across Visa Direct and other Visa payment APIs.
AccountsBankingCredit CardsDigital CommerceDigital WalletsFintechForeign ExchangeFraud PreventionMerchantsMoney MovementPaymentsTokenizationFortune 500
Properties
| Name | Type | Description |
|---|---|---|
| systemsTraceAuditNumber | string | A unique six-digit value assigned by the acquirer to identify a transaction |
| retrievalReferenceNumber | string | A 12-character value used to identify a transaction uniquely within the acquirer system |
| acquiringBin | string | Bank Identification Number (BIN) of the acquiring financial institution |
| acquirerCountryCode | string | ISO 3166-1 numeric country code of the acquiring institution |
| transactionCurrencyCode | string | ISO 4217 numeric currency code for the transaction |
| amount | number | Transaction amount in the specified currency |
| primaryAccountNumber | string | Primary Account Number (PAN) of the Visa card |
| cardExpiryDate | string | Card expiration date in YYYY-MM format |
| transactionIdentifier | integer | Unique transaction identifier assigned by VisaNet |
| actionCode | string | Response action code indicating the result of the transaction |
| approvalCode | string | Authorization approval code from the card issuer |
| responseCode | string | Response code from the issuer indicating transaction outcome |
| transmissionDateTime | string | Date and time of the transaction transmission in MMDDHHmmss format |
| businessApplicationId | string | Identifies the business use case for the transaction |
| cardAcceptor | object | |
| sender | object | |
| recipient | object |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://developer.visa.com/schemas/visa/payment-transaction.json",
"title": "Visa Payment Transaction",
"description": "Schema representing a Visa payment transaction including push funds, pull funds, and card payment operations across Visa Direct and other Visa payment APIs.",
"type": "object",
"required": [
"systemsTraceAuditNumber",
"retrievalReferenceNumber",
"acquiringBin",
"acquirerCountryCode",
"transactionCurrencyCode",
"amount"
],
"properties": {
"systemsTraceAuditNumber": {
"type": "string",
"description": "A unique six-digit value assigned by the acquirer to identify a transaction",
"pattern": "^\\d{6}$",
"maxLength": 6
},
"retrievalReferenceNumber": {
"type": "string",
"description": "A 12-character value used to identify a transaction uniquely within the acquirer system",
"maxLength": 12
},
"acquiringBin": {
"type": "string",
"description": "Bank Identification Number (BIN) of the acquiring financial institution",
"pattern": "^\\d{6,11}$"
},
"acquirerCountryCode": {
"type": "string",
"description": "ISO 3166-1 numeric country code of the acquiring institution",
"pattern": "^\\d{3}$"
},
"transactionCurrencyCode": {
"type": "string",
"description": "ISO 4217 numeric currency code for the transaction",
"pattern": "^\\d{3}$"
},
"amount": {
"type": "number",
"description": "Transaction amount in the specified currency",
"minimum": 0
},
"primaryAccountNumber": {
"type": "string",
"description": "Primary Account Number (PAN) of the Visa card",
"minLength": 13,
"maxLength": 19
},
"cardExpiryDate": {
"type": "string",
"description": "Card expiration date in YYYY-MM format",
"pattern": "^\\d{4}-(0[1-9]|1[0-2])$"
},
"transactionIdentifier": {
"type": "integer",
"description": "Unique transaction identifier assigned by VisaNet"
},
"actionCode": {
"type": "string",
"description": "Response action code indicating the result of the transaction",
"maxLength": 2
},
"approvalCode": {
"type": "string",
"description": "Authorization approval code from the card issuer",
"maxLength": 6
},
"responseCode": {
"type": "string",
"description": "Response code from the issuer indicating transaction outcome",
"maxLength": 2
},
"transmissionDateTime": {
"type": "string",
"description": "Date and time of the transaction transmission in MMDDHHmmss format"
},
"businessApplicationId": {
"type": "string",
"description": "Identifies the business use case for the transaction",
"enum": [
"AA", "BB", "BI", "BP", "CI", "CP", "FD", "GD",
"GP", "LO", "MD", "MP", "OG", "PD", "PP", "PS", "TL", "WT"
]
},
"cardAcceptor": {
"$ref": "#/$defs/CardAcceptor"
},
"sender": {
"$ref": "#/$defs/TransactionParty"
},
"recipient": {
"$ref": "#/$defs/TransactionParty"
}
},
"$defs": {
"CardAcceptor": {
"type": "object",
"description": "Information about the card acceptor (merchant) involved in the transaction",
"properties": {
"name": {
"type": "string",
"description": "Name of the card acceptor or merchant"
},
"terminalId": {
"type": "string",
"description": "Terminal identifier at the point of sale",
"maxLength": 8
},
"idCode": {
"type": "string",
"description": "Card acceptor identification code",
"maxLength": 15
},
"address": {
"$ref": "#/$defs/Address"
}
}
},
"TransactionParty": {
"type": "object",
"description": "Information about a sender or recipient in a funds transfer",
"properties": {
"name": {
"type": "string",
"description": "Full name of the party"
},
"accountNumber": {
"type": "string",
"description": "Account number of the party"
},
"address": {
"type": "string",
"description": "Street address of the party"
},
"city": {
"type": "string",
"description": "City of the party"
},
"countryCode": {
"type": "string",
"description": "ISO 3166-1 numeric country code",
"pattern": "^\\d{3}$"
}
}
},
"Address": {
"type": "object",
"description": "Physical address information",
"properties": {
"country": {
"type": "string",
"description": "Country code"
},
"state": {
"type": "string",
"description": "State or province code"
},
"city": {
"type": "string",
"description": "City name"
},
"zipCode": {
"type": "string",
"description": "Postal or ZIP code"
}
}
}
}
}