Visa Direct (AFT and OCT) Integration
Last updated: October 19, 2026
Important
Visa AFT / OCT addresses a specific category of merchants. Support is therefore available only for some card connectors and for specific use cases. Check the feature support in each connector integration sheet and contact our support team if needed.
Overview
This page describes how to configure and send Visa Account Funding Transactions (AFT) and Original Credit Transactions (OCT): the eligible Business Application IDs (BAI) and Merchant Category Codes (MCC), and the API parameters that the schemes require. For an introduction to Visa Direct, its use cases and the Visa transaction policies, see the Visa Direct (AFT and OCT) tutorial.
| Visa AFT | Visa OCT | |
|---|---|---|
| Purpose | Pull funds from a Visa account | Push funds to an eligible Visa card |
| Sender brand | Visa brand family | Any. If the sender uses a Visa brand, process the transaction as an AFT. |
| Recipient brand | Visa brand family | Visa brand family |
| Payment type | DB | CD |
| Processing code | transactionProcessingCode=FUNDING | transactionProcessingCode=PAYMENT |
| Visa Field 3 value | 10 | 26 |
Acquirers, service providers and merchants must use an appropriate Business Application Identifier (BAI) and Merchant Category Code (MCC) in the AFT / OCT authorization request message and in the clearing and settlement message. This identifies the type of AFT / OCT and the merchant or business entity that originates the transaction.
Check each card connector’s documentation for specific integration and configuration details. The general definitions of the sender, recipient and merchant parameter groups are listed in the API Reference.
Visa AFT
AFT requirements
- Sender brand: Visa brand family
- Recipient brand: Visa brand family
- Payment type:
DB - Eligible MCC: see the BAI and MCC table below
- Merchant account configuration to be considered: Business Application ID
- API parameters to be considered: see API requirements for Visa AFT transactions
BAI and MCC usage – AFT
| BAI | Use Case | MCC | Example of Use |
|---|---|---|---|
| FT | Funds Transfer | 4829 Non-Financial Institution Wire Transfer Money Orders If the wallet is used to purchase Liquid and Cryptocurrency assets (for example, Cryptocurrency), the applicable special condition indicator must be used. MCC 6051 Non-Financial Institutions – Foreign Currency, Liquid and Cryptocurrency Assets (for example, Cryptocurrency), Money Orders (Not Money Transfer), Account Funding (not Stored Value Load), Travelers Cheques, and Debt Repayment. Note: The term Non-Fiat Currency has been replaced with Liquid and Cryptocurrency Assets. 6211 Security Brokers/Dealers | Adding funds to or cashing out a Stored Value Digital Wallet (SVDW) account. Funding a Money Transfer where the OCT is not enabled as the push mechanism to the recipient. For the direct acquisition of cryptocurrency. For the acquisition of liquid assets (for example, stocks, shares, foreign currency, and cryptocurrency). |
| LA | Liquid Assets | 6012—Financial Institutions— Merchandise, Services, and Debt Repayment. | The client is acquiring a liquid asset or cryptocurrency in a transaction (direct acquisition) The client is loading a general purpose wallet with many uses (for example, investing, prepaid balance, cryptocurrency, with fiat currency from a non-credit card (if primary business/revenue is related to liquid and/or cryptocurrency assets)). |
| WT | Staged Digital Wallet (SDW) transfer (adding value to a digital wallet with a proprietary merchant acceptance network) | 6051 Non-Financial Institutions – Foreign Currency, Liquid and Cryptocurrency Assets (for example Cryptocurrency), Money Orders (not Money Transfer), Account Funding (not Stored Value Load), Travelers Cheques, and Debt Repayment If the funds will be used for a high-brand risk transaction, the applicable high-brand risk MCC must be used. If the funds are used for a gambling transaction, the applicable gambling MCC must be used. If the wallet is used to purchase Liquid and Cryptocurrency Assets (for example, Cryptocurrency), the applicable special condition indicator must be used. | Note: When a Visa card is used to fund a Staged Digital Wallet before the cardholder makes a purchase, an AFT with a BAI of WT must be used. WT must be used only by registered Staged Digital Wallet Operators (SDWO). For additional information on Staged Digital Wallet transactions, visit the Staged Digital Wallet Operators section at Visa Online (VOL). Note: Effective October 2024: Field 104 – Sender Data and Recipient Name will be required to support cross-border AFT. V.I.P. will reject AFTs with the existing reject code 0494 (when Field or data is missing or invalid). |
| FD | Funds Disbursement | Any MCC associated to the merchant | Insurance payouts where a third party uses an AFT to fund the disbursement of OCT on behalf of the insurance company. |
| TU | Prepaid card load or top-up (adding value to an eligible reloadable prepaid card or funding the cardholder’s own prepaid account) | 6012 Financial Institutions – Merchandise and Services 6051 Non-Financial Institutions – Foreign Currency, Liquid and Cryptocurrency Assets (for example, Cryptocurrency), Money Orders (not Money Transfer), Travelers Check, and Debt Repayment 6540 Non-Financial Institutions – Stored Value Card Purchase/ Load | Note: Merchants that sell other goods and services in addition to stored value cards and offer prepaid card load capability can use the MCC associated with the merchant’s primary business in accordance with the Visa Merchant Data Standards Manual. |
API requirements for Visa AFT transactions
The schemes require a specific set of fields within AFT transactions. The table below lists the AFT-specific API parameters that you must send with AFT transactions.
| API parameter | Format | Applicability |
|---|---|---|
transactionProcessingCode=FUNDING | Enum
| FUNDING - all AFT transactions PURCHASE - for use cases of a digital or physical goods or services (in fact this is flagged as purchase to acquirer, when this API parameter is not sent) PAYMENT - for OCT transactions (goes along with the paymentType=CD) |
transactionBai | AN2 | Business Application ID. A two-character code that identifies the intended use of a push or pull payment. It determines the data carried in the message, the limits and economics that may apply to the transaction, and may be used by the sending and/or receiving issuer to make an authorization decision. Should contain one of the following values: |
merchant.city | AN100 | For Canada/Australia should be merchant city |
merchantTransactionId | AN255 | all AFT transactions |
sender.birthDate | yyyy-MM-dd | Cross-border AFT use cases |
sender.accountNumberType | Enum
| If value is CARD_ACCOUNT, then the card number to be sent in card.number, otherwise, send account number in sender.accountNumber |
sender.accountNumber | AN32 | All (for non-card accounts). |
sender.givenName | AN50 | all AFT transactions |
sender.surname | AN50 | all AFT transactions |
sender.phone | AN25 | all AFT transactions |
sender.street | AN100 | all AFT transactions |
sender.city | AN50 | all AFT transactions |
sender.state | AN50 | all AFT transactions |
sender.country | AN3 (ISO 3166-1 Alpha 3) | all AFT transactions |
sender.entityType | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.nationality | A50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.occupation | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.birthCountry | A3 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.identificationType | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.identificationValue | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
sender.identificationCountry | A3 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.givenName | AN50 | all AFT transactions |
recipient.surname | AN50 | all AFT transactions |
merchant.mcc | AN4 | all AFT transactions |
merchant.postcode | AN16 | For AFT transactions destined for recipients in Canada, Australia |
merchant.legalName | AN100 | For AFT transactions destined for recipients in Canada, Australia |
merchant.street | AN100 | For AFT transactions destined for recipients in Canada, Australia For Cross-Border AFT and OCT transactions, Visa mandated (in AI15844) to include the field where transaction destined to New Zealand effective 17 Apr 2026 |
recipient.street | AN100 | For AFT transactions destined for recipients in Canada For Cross-Border AFT transactions, Visa mandated (in AI15844) to include recipient countries: Australia, New Zealand effective 17 Apr 2026 |
recipient.state | AN50 | For AFT transactions destined for recipients in Canada |
recipient.country | AN3 | For AFT transactions destined for recipients in Canada |
recipient.city | AN50 | For AFT transactions destined for recipients in Canada |
recipient.nationality | A50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.identificationType | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.identificationValue | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.identificationCountry | A3 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.entityType | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.relationship | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.occupation | AN50 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
recipient.birthCountry | A3 | For AFT transactions for the countries Argentina, Bangladesh, Chile, Colombia, Egypt, India and Saudi Arabia |
transactionPurposeAccount | AN | Defines the purpose of the account funding payment. Should contain one of the following values:
|
transactionPurposeCode | AN12 | Visa AFT and Visa OCT transactions destined for recipients in the countries
must include this field. The field value is case-sensitive and cannot contain messages or other text. |
forex.tax | N10.N2 | The foreign exchange markup fee amount applied to the sender’s AFT to cover currency conversion costs for cross-border transactions. |
merchant.state | AN50 | For AFT transactions destined for recipients in Canada, Australia |
Visa OCT
OCT requirements
- Sender brand: any. If the sender uses a Visa brand, the merchant must process the transaction as an AFT.
- Recipient brand: Visa brand family
- Payment type:
CD - Eligible MCC: see the BAI and MCC tables below
- Merchant account configuration to be considered: Business Application ID
- API parameters to be considered: see API requirements for Visa OCT transactions
BAI and MCC usage – Money Transfer
| BAI | Use Case | MCC | Example of Use |
|---|---|---|---|
| AA | Account-to-Account (sender moving money from his own account to his card account, Me-to-Me Money Transfer), Remote Deposit Check (RDC) capture, Consumer funding of their own account | 4829 - Non-Financial Institutions Wire Transfer Money orders 6012 - Financial Institutions – Merchandise and Services 6211 - Brokerage | |
| BI | Money Transfer is initiated from an online banking system, making it a bank-initiated transaction | 6012 - Financial Institutions – Merchandise and Services | |
| FT | Funds Transfer - Cashing out a Stored Value Digital Wallet (SVDW) account | 4829 - Non-Financial Institutions Wire Transfer Money orders 6012 - Financial Institutions – Merchandise and Services 6540 – Non-Financial Institutions – Stored Value Card Purchase/Load 6051 - Non-Financial Institutions – Non-fiat currency | |
| LA | Liquid Assets - A new BAI for Visa Direct transactions involving wallet prefunding or the direct purchase of liquid and cryptocurrency assets. Note: In Canada and the U.S. the new BAI value will not be applicable for origination of domestic OCTs. Issuers and issuer processors must be ready to receive new BAI value of LA for cross-border OCTs originating outside of Canada and the U.S. | 6012 - Financial Institutions — Merchandise, Services, and Debt Repayment 6051 – Non-Financial Institutions – Foreign Currency, Liquid and Cryptocurrency Assets (for example: Cryptocurrency), Money Orders (Not Money Transfer), Account Funding (not Stored Value Load), Travelers Cheques, and Debt Repayment—must identify Visa Direct transactions under the BAI value of LA. 6211 – Security Brokers/Dealers Brokerage (if greater than 50% of client annual sales volume, measured in the client’s local fiat currency comes from non-cryptocurrency (for example, stocks, bonds, and so on). | |
| PP | Person-to-person (P2P) Money Transfer - this is a sender sending money to someone else’s account | 4829 - Non-Financial Institutions Wire Transfer Money orders 6012 - Financial Institutions – Merchandise and Services | |
| WT | Staged Digital Wallet (SDW) transfer (withdrawal or cash out of funds from a staged digital wallet to a card account) | 6051 - Non-Financial Institutions – Non-fiat currency 4829 - Non-Financial Institutions Wire Transfer Money orders 6012 - Financial Institutions – Merchandise and Services | |
| CD | Deposit of cash using an OCT to add funds to a debit account at a bank branch or retail location | 6012 or Retail Merchant MCC | |
| TU | Prepaid card load or top-up (adding value to an eligible reloadable prepaid card or funding the cardholder’s own prepaid account) | 6012 - Financial Institutions – Merchandise and Services 6540 – Non-Financial Institutions – Stored Value Card Purchase/Load |
BAI and MCC usage – Funds Disbursement / Non-Money Transfer
| BAI | Use Case | MCC | Example of Use |
|---|---|---|---|
| BB (Not applicable to the U.S.) | Business-to-Business Supplier Payments | Any MCC associated to the merchant, acquirer, or service provider business (ex: 5812 = restaurant, 5311 = department store) | Business-to-business payments for business related supplies |
| BP | Non-Card Bill Pay | MCC associated to the recipient business | For non-card bill payment. |
| CP | Credit Card Bill Pay | 4829 non-Financial Institution Wire Transfer Money Orders 6012 Financial Institutions - Merchandise and Services | Pushing funds to a credit card account as a payment. |
| FD | General Funds Disbursement – used for all other cases that are not listed.
| Any MCC associated to the merchant, acquirer, or service provider business (ex: 5812 = restaurant, 5311 = department store) | Funds Disbursements not covered by other BAI use cases listed above. If the program supports cryptocurrency, this must be communicated by setting the Special Condition indicator (Field 60.4) = 7. |
| GD | Government Disbursements and Government Initiated Tax Refunds | 9399 Government Services 9222 Fines government administered | Government payments, including social security payments, unemployment, disability, jury duty, and disaster relief/emergency. |
| GP | Gambling/Gaming Payouts (other than online gambling) | 7800 Government owned lottery (U.S. only) 7801 Government-Licensed Casinos (U.S. only) 7802 Government-Licensed Horse/Dog Racing (U.S. only) 7995 Betting, Lottery, Casino Gaming Chips, Off-Track Betting, Racetracks 9406 Government-owned lottery (Non-U.S. only) | Casino payouts at gaming floor counter and sports books. Advanced deposit wagering. Gambling that is not considered online gambling. |
| LO | Loyalty Payments | Any MCC associated to the merchant, acquirer, or service provider business 5812 = restaurant 5311 = department store | Payment for a canceled loyalty program/service, deposit refunds, employee rewards, and purchase rebate payments. |
| MD | Merchant Settlement | 6012 Acquirers sending settlement payments to merchants 4829 Payment facilitator (includes sponsored processors, and ISOs) sending settlement payments to merchants | Merchant payments for purchase transaction processing where the processor sends settlement payments to a Visa card account using OCT |
| MI | Faster Refunds | Any MCC associated with the merchant, acquirer, or service provider business. | Refund purchases of goods and services made on a Visa Card using OCT. |
| OG | Online Gambling Payouts | 7800 Government-owned lottery (U.S.) 7801 Government-licensed Casinos (U.S.) 7802 Government-licensed horse/dog racing (U.S.) 7995 Betting, lottery, casino, betting, racetracks 9406 Government-owned lottery (non-U.S.) | Payout of winnings from online gambling merchants, including casinos, horse/dog racing wagers, lottery, digital, and social gaming payouts |
| PD | Payroll and Pensions Disbursements | 8931 Accounting, Auditing, and Bookkeeping Services | Independent contractor works for temporary staffing agency or directly with an employer, submits time sheet or completes project, and is paid to bank account by using a debit card. |
| RP | Request-to-Pay Service | 4829 Non-Financial Institution Wire Transfer Money Orders 6012 Financial Institutions - Merchandise and Services | Visa's Request-to-Pay (R2P) service is a secure messaging framework built on APIs that enable consumers to request payment and communicate about a payment obligation, enabling bill splitting, and funds collection functionality for mobile banking applications. |
| TU | Prepaid Card Load | 6012 Financial Institutions Merchandise and Services 6540 Non-Financial Institutions – stored-value card Purchase/Load | Loads, reloads, and top-ups to prepaid card accounts. Note: Restricts use to Prepaid card only. VisaNet edit declines the transaction if the card product is not prepaid and BAI is TU. Note: Money Transfer velocity limits apply. |
API requirements for Visa OCT transactions
The table below lists the OCT-specific API parameters that you must send with OCT transactions.
| API parameter | Format | Applicability |
|---|---|---|
transactionProcessingCode=PAYMENT | Enum
| FUNDING - all AFT transactions PURCHASE - for use cases of a digital or physical goods or services (in fact this is flagged as purchase to acquirer, when this API parameter is not sent) PAYMENT - for OCT transactions (goes along with the paymentType=CD) |
transactionBai | AN2 | Business Application ID. A two-character code that identifies the intended use of a push or pull payment. It determines the data carried in the message, the limits and economics that may apply to the transaction, and may be used by the sending and/or receiving issuer to make an authorization decision. Should contain one of the following values: |
merchant.city | AN100 | For Canada/Australia should be merchant city |
merchantTransactionId | AN255 | all OCT transactions |
sender.birthDate | yyyy-MM-dd | Cross-border OCT use cases |
sender.accountNumberType | Enum
| If value is CARD_ACCOUNT, then the card number to be sent in card.number, otherwise, send account number in sender.accountNumber |
sender.accountNumber | AN32 | All (for non-card accounts). |
sender.givenName | AN50 | all OCT transactions |
sender.surname | AN50 | all OCT transactions |
sender.street | AN100 | all OCT transactions |
sender.city | AN50 | all OCT transactions |
sender.state | AN50 | all OCT transactions |
sender.country | AN3 | all OCT transactions |
sender.sourceOfFunds | AN2 | all OCT transactions |
recipient.givenName | AN50 | all OCT transactions |
recipient.surname | AN50 | all OCT transactions |
merchant.mcc | AN4 | all OCT transactions |
merchant.foreignRetailIndicator | Values: | for OCT conducted by marketplaces |
merchant.payFacId | N11 | for OCT conducted by PayFac or marketplaces |
merchant.submerchantId | N15 | for OCT conducted by PayFac or marketplaces |
merchant.payFacName | AN25 | for OCT conducted by PayFac |
merchant.postcode | AN16 | For OCT transactions destined for recipients in Canada, Australia |
merchant.legalName | AN100 | For OCT transactions destined for recipients in Canada, Australia |
merchant.street | AN100 | For OCT transactions destined for recipients in Canada, Australia For Cross-Border AFT and OCT transactions, Visa mandated (in AI15844) to include the field where transaction destined to New Zealand effective 17 Apr 2026 |
recipient.street | AN100 | For OCT transactions destined for recipients in Canada |
recipient.state | AN50 | For OCT transactions destined for recipients in Canada |
recipient.country | AN3 | For OCT transactions destined for recipients in Canada |
recipient.city | AN50 | For OCT transactions destined for recipients in Canada |
transactionPurposeCode | AN12 | Visa AFT and Visa OCT transactions destined for recipients in the countries
must include this field. The field value is case-sensitive and cannot contain messages or other text. |
merchant.state | AN50 | For OCT transactions destined for recipients in Canada, Australia |
Reference values
Business Application ID (BAI) values
Accepted values for the transactionBai parameter.
| Value | Description |
|---|---|
| AA | Account to account (applies to transactions where the sender and recipient are the same person) |
| BB | Business to business |
| BI | Money transfer—bank-initiated |
| BP | Bill payment |
| CB | Consumer Bill payment service |
| CP | Card bill payment |
| FD | Funds disbursement (general) |
| GD | Government disbursement |
| GP | Gambling payout (other than online gambling) |
| MD | Merchant disbursement |
| MI | Money transfer—merchant-initiated |
| OG | Online gambling payout |
| PD | Payroll/pension disbursement |
| PG | Payment to government |
| PP | Person to person (applies to transactions where the sender and recipient are not the same person) |
| PS | Payment for goods and services (general) |
| WT | Wallet transfer. Mandatory for staged digital wallet transactions. |
| LA | liquid assets |
| TU | Top-up for enhanced prepaid loads |
| FT | Funds transfer |
Transaction purpose codes
Accepted values for the transactionPurposeCode parameter. The value is case-sensitive and must not contain messages or other text.
| Code | Code Description |
|---|---|
| ISACCT | Account management |
| ISAIRB | Air transport related business |
| ISALLW | Transaction is the payment of allowance |
| ISANNI | Settlement of annuity |
| ISBENE | Unemployment disability benefit |
| ISBEXP | Business expenses |
| ISBONU | Bonus payment |
| ISBUSB | Bus transport related business |
| ISCASH | Cash management transfer |
| ISCBTV | Payment of cable TV bill |
| ISCCHD | Government institute issued related to cash compensation, helplessness, disability |
| ISCCRD | Credit card payment |
| ISCDBL | Payment of credit card bill |
| ISCHAR | Payment for charity reasons |
| ISCOLL | Collection payment |
| ISCOMC | Commercial payment |
| ISCOMM | Commission |
| ISCOMP | Compensation relating to interest loss/value date adjustment and can include fees |
| ISCPYR | Payment of copyright |
| ISDCRD | Related to a debit card payment |
| ISDEPT | Payment of a deposit |
| ISDIVD | Payment of dividend |
| ISEDUC | Payment of study/tuition fees |
| ISELEC | Payment of electricity bill |
| ISENRG | Energies |
| ISFEES | General fees |
| ISFERB | Payment for ferry related business |
| ISFREX | Foreign exchange |
| ISGASB | Payment of gas bill |
| ISGFRP | Compensation to unemployed persons during insolvency procedures |
| ISGOVT | Government payment |
| ISHLTI | Health insurance |
| ISICCP | Reimbursement of credit card payment |
| ISIDCP | Reimbursement of debit card payment |
| ISINPC | Payment of car insurance premium |
| ISINSC | Transaction is related to the payment of an insurance claim |
| ISINSM | Installment |
| ISINSU | Insurance premium |
| ISINVS | Payment of mutual funds, investment products and shares |
| ISINTC | Intra company payment |
| ISINTE | Interest |
| ISINTX | Income tax |
| ISINVS | Investment |
| ISLBRI | Labor insurance |
| ISLICF | License fee |
| ISLIFI | Life insurance |
| ISLOAN | Loan |
| ISMDCS | Medical services |
| ISMP2B | Mobile P2B payment |
| ISMP2P | Mobile P2P payment |
| ISMTUP | Mobile top up |
| ISNOWS | Not otherwise specified |
| ISOTHR | Other |
| ISOTLC | Transaction is related to a payment of other telecom related bill |
| ISPAYR | Payroll |
| ISPEFC | Contribution to pension fund |
| ISPENS | Pension payment |
| ISPHON | Payment of telephone bill |
| ISPPTI | Property insurance |
| ISRELG | Transaction is for general rental/lease |
| ISRENT | The payment of rent |
| ISRLWY | Payment for railway transport related business |
| ISROYA | Royalties |
| ISSALA | Salary payment |
| ISSAVG | Payment to savings/retirement account |
| ISSECU | Securities |
| ISSSBE | Social security benefit |
| ISSTDY | Study |
| ISSUBS | Subscription |
| ISSUPP | Supplier payment |
| ISTAXR | Refund of a tax payment or obligation |
| ISTAXS | Tax payment |
| ISTBIL | Transaction is related to a payment of telecommunications related bill |
| ISTRAD | Trade services operation |
| ISTREA | Treasury payment |
| ISTRPT | Payment for travel |
| ISUBIL | Utility bill payment |
| ISVATX | Value added tax payment |
| ISWHLD | Withholding |
| ISWTER | Payment of water bill |