Account Funding Transactions (AFT)¶
Overview¶
An Account Funding Transaction (AFT) is a card transaction used to fund an account — for example, person-to-person transfers or funds disbursements. VISA and Mastercard require additional data fields when processing AFT transactions.
To process an AFT, include the options.funding object in your /api/transactions/authorize request alongside a standard PURCHASE or AUTHORIZE transaction.
Request Structure¶
Add a funding object inside the options field of the standard /api/transactions/authorize request:
{
"reference": "your-reference",
"terminal_id": "your-terminal-id",
"transaction_type": "PURCHASE",
"currency": "EUR",
"amount": 10000,
"payment_method": {
"type": "card",
"data": {
"encrypted_card_number": "...",
"encrypted_cvv": "...",
"encrypted_expiration_month": "...",
"encrypted_expiration_year": "..."
}
},
"customer": { ... },
"browser_info": { ... },
"metadata": {},
"return_url": "https://merchant.example.com/return",
"options": {
"funding": {
"business_application_identifier": "funds_disbursement",
"receiver": {
"first_name": "John",
"last_name": "Doe",
"country": "US",
"account_number": "1234567890",
"account_number_type": "card_account",
"address": "123 Main St",
"city": "New York",
"state": "NY"
},
"sender": {
"name": "Jane Smith",
"reference_number": "INV-12345",
"country": "GB",
"address": "456 High St",
"city": "London",
"state": "LDN"
}
}
}
}
Funding Parameters¶
Top-Level Fields¶
| Field | Type | Required | Description |
|---|---|---|---|
business_application_identifier |
string |
Yes (VISA) | Type of VISA Funding Transaction. See BAI values below |
identifier_type |
string |
Yes (Mastercard) | Type of Mastercard Funding Transaction. See Identifier Type values below |
Scheme-specific requirements
VISA requires business_application_identifier. Mastercard requires identifier_type. Include the appropriate field based on the card scheme being used.
Receiver Object¶
Details about the person or account receiving the funds.
| Field | Type | Required | Description |
|---|---|---|---|
first_name |
string |
Conditionally | Receiver's first name |
last_name |
string |
Conditionally | Receiver's last name |
country |
string(2) |
Conditionally | Receiver's country code in ISO 3166 |
account_number |
string |
Conditionally | Receiver's account number. Required for both VISA and Mastercard |
account_number_type |
string |
Conditionally (Mastercard) | Receiver's account number type. See Account Number Type values below |
address |
string |
Conditionally (VISA) | Receiver's address |
city |
string |
Conditionally (VISA) | Receiver's city. Required for VISA with Canadian cards |
state |
string |
Conditionally (VISA) | Receiver's state. Required for VISA with Canadian cards |
Sender Object¶
Details about the person or entity sending the funds.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
Conditionally (VISA) | Sender's name. Required for VISA |
reference_number |
string(16) |
Conditionally (VISA) | Sender's reference number (e.g. invoice number). Required for VISA. Limited to 16 characters |
country |
string |
Conditionally (VISA) | Sender's country. Required for VISA. If not provided, billing address is used |
address |
string |
Conditionally (VISA) | Sender's address. Required for VISA. If not provided, billing address is used |
city |
string |
Conditionally (VISA) | Sender's city. Required for VISA. If not provided, billing address is used |
state |
string |
Conditionally (VISA) | Sender's state. Required for VISA with Canadian cards. If not provided, billing address is used |
Allowed Values¶
Business Application Identifier Values¶
VISA business_application_identifier accepted values:
| Value |
|---|
funds_disbursement |
pension_disbursement |
account_to_account |
bank_initiated |
fund_transfer |
person_to_person |
prepaid_card_load |
wallet_transfer |
liquid_assets |
Identifier Type Values¶
Mastercard identifier_type accepted values:
| Value | Required MCCs |
|---|---|
general_person_to_person |
4829, 6538, 6540 |
person_to_person_card_account |
4829 |
own_account |
4829, 6051, 6211, 6538, 6540, 7800, 7801, 7802, 7994, 7995, 9406 |
own_credit_card_bill |
4829, 6538 |
business_disbursement |
any |
government_or_non_profit_disbursement |
any |
rapid_merchant_settlement |
any |
general_business_to_business |
any |
own_staged_digital_wallet_account |
any |
own_debit_or_prepaid_card_account |
any |
Receiver Account Number Type Values¶
account_number_type accepted values:
| Value | Description |
|---|---|
rtn_and_bank_account_number |
Routing Transit Number and Bank Account Number |
iban |
International Bank Account Number |
card_account |
Card Account |
email |
Electronic Mail |
phone_number |
Phone Number |
bank_account_number_and_bic |
Bank Account Number and Business Identifier Code |
wallet_id |
Wallet ID |
social_network_id |
Unique Identifier for Social Network Application |
other |
Any other type |
Examples¶
VISA AFT — Funds Disbursement¶
{
"options": {
"funding": {
"business_application_identifier": "funds_disbursement",
"receiver": {
"first_name": "John",
"last_name": "Doe",
"country": "US",
"account_number": "1234567890",
"account_number_type": "card_account"
},
"sender": {
"name": "Jane Smith",
"reference_number": "INV-12345",
"country": "GB"
}
}
}
}
Mastercard AFT — Person-to-Person¶
{
"options": {
"funding": {
"identifier_type": "general_person_to_person",
"receiver": {
"first_name": "Bob",
"last_name": "Smith",
"country": "DE",
"account_number": "DE89370400440532013000",
"account_number_type": "iban"
}
}
}
}
Supported Transaction Types¶
AFT parameters can be included on the following transaction types:
| Transaction Type | Supported |
|---|---|
PURCHASE |
Yes |
AUTHORIZE |
Yes |
Notes¶
- If the
optionsoroptions.fundingobject is omitted, the transaction is processed as a standard (non-AFT) transaction. - Fields marked as "Conditionally" required depend on the card scheme (VISA vs Mastercard) and the issuing country of the card.
- For VISA sender fields: if
country,address,city, orstateare not provided, the billing address from the transaction is used as fallback.