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

Account Funding Transactions are currently supported on the Tsys platform, and only for Visa and Mastercard card types. Only specific Merchant Category Codes are eligible to issue AFTs:

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

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 two new fields:

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

aft_recipient_name - the first and last name of the recipient. Required for Mastercard only.

Example Request

curl --request POST \
     --url https://secure.nmi.com/api/transact.php \
     --header 'accept: application/x-www-form-urlencoded' \
     --header 'content-type: application/x-www-form-urlencoded' \
     
     --data aft_identifier=F07 \
     --data 'aft_recipient_name=Fred Smith' \
     --data ccnumber=5555555555554444 \
     --data ccexp=1229 \
		 --data amount=23.50 \
     
     --data first_name=John \
     --data last_name=Doe \
     --data 'address1=123 Main Street' \
     --data 'address2=Apt E' \
     --data city=Wichita \
     --data state=KS \
     --data zip=12345 \
     --data country=US \
     --data phone=8005551212 \
     --data [email protected] \
     
     --data security_key=XXXXXXXXXXXXXXXXXXXXXXXX

aft_identifier Values


BrandValueMeaning
VisaAAAccount to Account
VisaFTFunds Transfer
VisaLALiquid Assets
VisaTUTop-Up
VisaWTWallet Transfer
MCF07General Person-To-Person Transfer
MCF08Person to Person transfer to Card Account (MCC 4829 only)
MCF52General Transfer to Own Account (MCC 4829 only)
MCF54Payment of Own Credit Card Bill (MCC 4829 only)
MCF55Business Disbursement (MCC 4829 only)
MCF61Transfer to Own Staged Digital Wallet Account
MCF64Transfer to Own Debit or Prepaid Card Account(MCC 4829 only)
MCF65General Business-to-Business Transfer (MCC 4829 only)

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