Account Funding Transactions
Account Funding Transactions (AFT) are a type of transaction where money is being transferred to fund another account, rather than directly purchasing goods and services.
These are often used by merchants offering specialized financial services, including
- Money transfer services
- Prepaid card services
- "Stored value" wallet platforms
- Funding of bank or brokerage accounts
AFTs are a "pull" transaction-- they transfer money from the customer to the merchant. They should not be confused with Original Credit Transactions (OCTs) which "push" funds from the merchant to a customer.
Platform Support
Worldpay AFT support is only available for merchants who have migrated to the latest integration version. Please contact support to check for availability or about upgrading.
Account Funding Transactions are currently supported on the Tsys and Worldpay (formerly Vantiv, Host and Terminal Capture) platforms, and only for Visa and Mastercard card types. Only specific Merchant Category Codes are eligible to issue AFTs, depending on platform:
Tsys Platform Restrictions
| MCC | Description | Supported |
|---|---|---|
| 4829 | Wire Transfer / Money Orders | Visa/MC |
| 6540 | Non-Financial Institution / Stored Value Card Purchase or Loading / Account Funding | Visa/MC |
| 6012 | Financial Institutions | Visa Only |
Worldpay Platform Restrictions (Mastercard Only)
| MCC | Description | Allowed values for aft_identifier |
|---|---|---|
| 4829 | Wire Transfer / Money Orders | F07, F08, F52, F53, F54, F55, F61, F64, F65 |
| 6051 | Quasi-Cash | F52, F61 |
| 6211 | Securities Brokers/Dealers | F52, F61 |
| 6538 | MoneySend Funding | C57, F07, F52, F53, F54, F55, F65 |
| 6540 | Non-Financial Institution / Stored Value Card Purchase or Loading / Account Funding | F07, F08, F52, F53, F61, F64 |
| 7800 | Government-Owned Lottery (US) | F52, F61 |
| 7801 | Government-Licensed Casinos | F52, F61 |
| 7994 | Video Game Arcades/Establishments | F52, F61 |
| 7995 | Other Gambling Transactions/Spoortsbooks | F52, F61 |
| 9406 | Government-Owned Lottery (non-US) | F52, F61 |
Worldpay does not currently have any restrictions for specific MCCs on Visa transactions. Any Visa-specific aft_identifer can be used.
Sending an AFT
Account Funding Transactions can be sent through the Payment API. They follow the same basic syntax as a regular sale or authorization-only transaction, but add additional fields to specify the type of AFT and its recipient. Each platform and card brand has specific requirements.
aft_identifier - specifies the Business Application Identifier (Visa) or Transaction Type Identifier (Mastercard) code for the transaction. This tells the network what type of AFT is being performed. See below for a list of values. Required for all AFTs.
aft_recipient_name - the first and last name of the recipient. Required for all Mastercard AFTs.
shipping_state - used for the recipient's state. Required for Mastercard on Worldpay platforms only.
shipping_country - used for the recipient's country. Required for Mastercard on Worldpay platforms only.
aft_recipient_account - the account number or other identifier for the recipient of the AFT. Format will vary based on aft_recipient_type. Required for Mastercard on Worldpay platforms only.
aft_recipient_type - the type of account or ID that's used to specify the recipient. See below for a table of appropriate values. Required for Mastercard on Worldpay platforms only.
Example Request
This example performs an "wallet transfer" AFT transaction, taking $23.50 from John Doe's MasterCard ending in 4444, while reporting that the intent of the payment is to fund his wallet account W12345678.
curl --request POST \
--url https://sandbox.nmi.com/api/v5/payments/sale \
--header 'Content-Type: application/json' \
--header 'Authorization: XXXXXXXXXXXXXXXXXXXXXXXX' \
--data '{
"amount": 23.50,
"aft_identifier": "F61",
"aft_recipient_name": "John Doe",
"aft_recipient_type": "wallet_id",
"aft_recipient_account": "W12345678",
"payment_details": {
"card_number": "5555555555554444",
"card_exp": "1229"
},
"billing_address": {
"first_name": "John",
"last_name": "Doe",
"address1": "123 Main Street",
"address2": "Apt E",
"city": "Wichita",
"state": "KS",
"zip": "12345",
"country": "US",
"phone": "8005551212",
"email": "[email protected]"
},
"shipping_address": {
"state": "AZ",
"country": "US"
}'aft_identifier Values
aft_identifier Values| Brand | Value | Platforms | Meaning | Allowed MCCs |
|---|---|---|---|---|
| Visa | AA | Tsys, Worldpay | Account to Account | Tsys: 4829, 6540, 6012 Worldpay: No Restrictions |
| Visa | BI | Worldpay | Bank Initiated | No Restrictions |
| Visa | FD | Worldpay | Funds Disbursement | No Restrictions |
| Visa | FT | Tsys, Worldpay | Funds Transfer | Tsys: 4829, 6540, 6012 Worldpay: No Restrictions |
| Visa | LA | Tsys | Liquid Assets | 4829, 6540, 6012 |
| Visa | PD | Worldpay | Payroll Disbursement | No Restrictions |
| Visa | PP | Worldpay | Person to Person | No Restrictions |
| Visa | TU | Tsys, Worldpay | Top-Up | Tsys: 4829, 6540, 6012 Worldpay: No Restrictions |
| Visa | WT | Tsys, Worldpay | Wallet Transfer | Tsys: 4829, 6540, 6012 Worldpay: No Restrictions |
| MC | C56 | Worldpay | Government/Non-Profit Disbursement | 6538 |
| MC | C57 | Worldpay | Rapid Merchant Settlement | 6538 |
| MC | F07 | Tsys, Worldpay | General Person-To-Person Transfer | Tsys and Worldpay: 4829, 6540 Worldpay Only: 6538 |
| MC | F08 | Tsys, Worldpay | Person to Person transfer to Card Account | Tsys and Worldpay: 4829 Worldpay Only: 6540 |
| MC | F52 | Tsys, Worldpay | General Transfer to Own Account | Tsys and Worldpay: 4829 Worldpay Only: 6051, 6211, 6538, 6540, 7800, 7801, 7994, 7995, 9406 |
| MC | F53 | Worldpay | Agent Cash-out | 4829, 6538, 6540 |
| MC | F54 | Tsys, Worldpay | Payment of Own Credit Card Bill | Tsys and Worldpay: 4829 Worldpay Only: 6538 |
| MC | F55 | Tsys, Worldpay | Business Disbursement | Tsys and Worldpay: 4829 Worldpay Only: 6538 |
| MC | F61 | Tsys, Worldpay | Transfer to Own Staged Digital Wallet Account | Tsys and Worldpay: 4829, 6540 Worldpay Only: 6051, 6211, 6540, 7800, 7801, 7994, 7995, 9406 |
| MC | F64 | Tsys, Worldpay | Transfer to Own Debit or Prepaid Card Account | Tsys and Worldpay: 4829 Worldpay Only: 6540 |
| MC | F65 | Tsys, Worldpay | General Business-to-Business Transfer | Tsys and Worldpay: 4829 Worldpay Only: 6538 |
aft_recipient_type values
| Value | Meaning |
|---|---|
ban_and_bic | BAN (Bank Account Number) and BIC (Bank Identification Code) |
card_account | Card Account Number |
email | Email Address |
iban | IBAN (International Bank Account Number) |
other | Other |
phone_number | Phone Number |
rtn_and_ban | RTN (Routing Number) and BAN (Bank Account Number) |
social_network_id | Social Network ID |
wallet_id | Wallet ID |
API Response Values
When an account funding transaction is performed, three new fields are available to include in the API or reporting output:
is_aft: a true/false value indicating if the transaction was relayed as an AFT
aft_identifier: returning the aft_identifier value you provided during the request
aft_recipient_name: returning the aft_recipient_name value you provided during the request
Updated 21 days ago
