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

MCCDescriptionSupported
4829Wire Transfer / Money OrdersVisa/MC
6540Non-Financial Institution / Stored Value Card Purchase or Loading / Account FundingVisa/MC
6012Financial InstitutionsVisa Only

Worldpay Platform Restrictions (Mastercard Only)

MCCDescriptionAllowed values for aft_identifier
4829Wire Transfer / Money OrdersF07, F08, F52, F53, F54, F55, F61, F64, F65
6051Quasi-CashF52, F61
6211Securities Brokers/DealersF52, F61
6538MoneySend FundingC57, F07, F52, F53, F54, F55, F65
6540Non-Financial Institution / Stored Value Card Purchase or Loading / Account FundingF07, F08, F52, F53, F61, F64
7800Government-Owned Lottery (US)F52, F61
7801Government-Licensed CasinosF52, F61
7994Video Game Arcades/EstablishmentsF52, F61
7995Other Gambling Transactions/SpoortsbooksF52, F61
9406Government-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


BrandValuePlatformsMeaningAllowed MCCs
VisaAATsys, WorldpayAccount to AccountTsys: 4829, 6540, 6012
Worldpay: No Restrictions
VisaBIWorldpayBank InitiatedNo Restrictions
VisaFDWorldpayFunds DisbursementNo Restrictions
VisaFTTsys, WorldpayFunds TransferTsys: 4829, 6540, 6012
Worldpay: No Restrictions
VisaLATsysLiquid Assets4829, 6540, 6012
VisaPDWorldpayPayroll DisbursementNo Restrictions
VisaPPWorldpayPerson to PersonNo Restrictions
VisaTUTsys, WorldpayTop-UpTsys: 4829, 6540, 6012
Worldpay: No Restrictions
VisaWTTsys, WorldpayWallet TransferTsys: 4829, 6540, 6012
Worldpay: No Restrictions
MCC56WorldpayGovernment/Non-Profit Disbursement6538
MCC57WorldpayRapid Merchant Settlement6538
MCF07Tsys, WorldpayGeneral Person-To-Person TransferTsys and Worldpay: 4829, 6540
Worldpay Only: 6538
MCF08Tsys, WorldpayPerson to Person transfer to Card AccountTsys and Worldpay: 4829
Worldpay Only: 6540
MCF52Tsys, WorldpayGeneral Transfer to Own AccountTsys and Worldpay: 4829
Worldpay Only: 6051, 6211, 6538, 6540, 7800, 7801, 7994, 7995, 9406
MCF53WorldpayAgent Cash-out4829, 6538, 6540
MCF54Tsys, WorldpayPayment of Own Credit Card BillTsys and Worldpay: 4829
Worldpay Only: 6538
MCF55Tsys, WorldpayBusiness DisbursementTsys and Worldpay: 4829
Worldpay Only: 6538
MCF61Tsys, WorldpayTransfer to Own Staged Digital Wallet AccountTsys and Worldpay: 4829, 6540
Worldpay Only: 6051, 6211, 6540, 7800, 7801, 7994, 7995, 9406
MCF64Tsys, WorldpayTransfer to Own Debit or Prepaid Card AccountTsys and Worldpay: 4829
Worldpay Only: 6540
MCF65Tsys, WorldpayGeneral Business-to-Business TransferTsys and Worldpay: 4829
Worldpay Only: 6538

aft_recipient_type values


ValueMeaning
ban_and_bicBAN (Bank Account Number) and BIC (Bank Identification Code)
card_accountCard Account Number
emailEmail Address
ibanIBAN (International Bank Account Number)
otherOther
phone_numberPhone Number
rtn_and_banRTN (Routing Number) and BAN (Bank Account Number)
social_network_idSocial Network ID
wallet_idWallet 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



Did this page help you?