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:
| 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 | 
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=XXXXXXXXXXXXXXXXXXXXXXXXaft_identifier Values
aft_identifier Values| Brand | Value | Meaning | 
|---|---|---|
| Visa | AA | Account to Account | 
| Visa | FT | Funds Transfer | 
| Visa | LA | Liquid Assets | 
| Visa | TU | Top-Up | 
| Visa | WT | Wallet Transfer | 
| MC | F07 | General Person-To-Person Transfer | 
| MC | F08 | Person to Person transfer to Card Account (MCC 4829 only) | 
| MC | F52 | General Transfer to Own Account (MCC 4829 only) | 
| MC | F54 | Payment of Own Credit Card Bill (MCC 4829 only) | 
| MC | F55 | Business Disbursement (MCC 4829 only) | 
| MC | F61 | Transfer to Own Staged Digital Wallet Account | 
| MC | F64 | Transfer to Own Debit or Prepaid Card Account(MCC 4829 only) | 
| MC | F65 | General 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
Updated 4 days ago