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
View JSON Schema on GitHub

JSON Schema

visa-payment-transaction-schema.json Raw ↑
{
  "$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"
        }
      }
    }
  }
}