This section is applicable for Visa and Mastercard only.
A funding transaction is for funds transfer from an eligible account by an acquirer on behalf of the customer (referred to in this Guide as the ‘sender’), for the purpose of either: (a) funding a subsequent and linked funds transfer from the sender to another person or entity (referred to in this Guide as the ‘recipient’; or (b) transferring funds into another eligible financial account held by that sender. If your payment service provider has enabled Account Funding Transactions (AFT) functionality for you, you can facilitate the following Account Funding Transaction types for your senders:
Person-to-Person funds transfers
Intra-organizational funds transfers
Inter-organizational funds transfers
Supported methods and operations
Integration methods
Payment methods
Transactions
All
Credit and debit cards (Mastercard & Visa)
AUTHENTICATE_PAYER
VERIFY
AUTHORIZE
PAY
STANDALONE CAPTURE
STANDALONE REFUND
UPDATE_SESSION
INITIATE_CHECKOUT
To view an example of an API request with AFT data, download the Postman collection.
The Mastercard AFT support is available from API version 65 onwards.
The Visa AFT support is available from API version 80 onwards.
The following API operations support AFT transactions from API version 80 onwards:
Authenticate Payer
Update Session
Initiate Checkout
For merchants processing Mastercard card transactions, the Mastercard MoneySend and Funding Transactions Program applies only to the merchants with the following Merchant Category Codes (MCC):
4829 (Money transfer)
6540 (Funding transactions)
6538 (Funding transactions for MoneySend)
For merchants processing Visa card transactions, the Visa Account Funding Transaction applies only to the merchants with the following Merchant Category Codes (MCC):
4829 (Money transfer)
6540 or 6051 (Funding transactions)
6012 (Financial institutions)
AFT data includes information about:
Sender type
Sender name & address details
Funding purpose
Recipient name & address details
Recipient type
Recipient account identification type
Account funding method
When you are required to submit AFT data, depending on the type of transaction you are submitting, you must provide some or all of the following transaction data in the request.
accountFunding.recipient.account.fundingMethod not (CREDIT or CHARGE or DEBIT) (That is, Account Funding Method is not equal to Credit or Charge or Debit)
Transfers Initiated by Organizations to others
Business Disbursement- OTHER than CARD
FT
-
FT
FT
accountFunding.senderType = COMMERCIAL_ORGANIZATION or NON_PROFIT_ORGANIZATION
accountFunding.recipient.account.identifierType= CARD or OTHER or STORED_VALUE_WALLET_USER_ID
accountFunding.senderIsRecipient = FALSE
Business Disbursement – Staged wallet
-
WT
-
-
accountFunding.senderType = COMMERCIAL_ORGANIZATION or NON_PROFIT_ORGANIZATION
For Mastercard AFT transaction, see the following scenarios for Transaction Type Identifier mapping for supported MCCs.
Transaction Type Identifier
MCC 4829
MCC 6538
MCC 6540
API request with fields in Auth/Pay operations
Transfers Initiated by Consumers
General person to person Transfer
Valid for F07
Valid for C07
Valid for F07
F07:
accountFunding.senderType = PERSON
accountFunding.recipient.account.identifierType = OTHER or STORED_VALUE_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
AccountFunding.senderIsRecipient =false
C07:
Toggle ON: Enable new MC Account Funding TTIs for MCC 6538
MCC code (order.merchantCategoryCode): 6538
accountFunding.senderType = PERSON
accountFunding.recipient.account.identifierType = OTHER or STORED_VALUE_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
C55:
Toggle ON: Enable new MC Account Funding TTIs for MCC 6538
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
accountFunding.purpose != MERCHANT_SETTLEMENT
Government/Non- Profit Disbursement
-
Valid for C56
-
accountFunding.senderIsRecipient= false
accountFunding.senderType = NON_PROFIT_ORGANIZATION or GOVERNMENT
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID
[Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER]
C65:
Toggle ON: Enable new MC Account Funding TTIs for MCC 6538
accountFunding.recipient.account.identifierType = OTHER or CARD_NUMBER or STAGED_WALLET_USER_ID [Any value other than CARD_NUMBER and STAGED_WALLET_USER_ID maps to OTHER
For more details, see the Mastercard MoneySend and Funding Transaction Program Standard specifications.
To process the AFT transaction through the gateway, you must submit the transaction with order.purchaseType = ACCOUNT_FUNDING. In addition, your request must include the MCC you are using for the transaction (order.merchantCategoryCode), else the default MCC configured on your merchant profile will apply. The submitted data is returned in the transaction response.