As part of the scheme’s ongoing enhancements to the payments industry as a whole, there has been a push for greater visibility of the full end-to-end transaction lifecycle—particularly for industries and MCCs that fall under specific risk profiles.
As part of this push for visibility, Visa is mandating that merchants with MCCs 4829, 6211, 6540, 6051, and 6012 (dependent on use case and only if expressly stated by your Acquirer) convert pay-in transactions to alternative rails using Visa Direct or Mastercard Send. These transactions must be classified as Account Funding Transactions (AFTs), with additional data points included in the payment flow.
Please note that AFTs (Account Funding Transactions) are part of the pay-in and payout lifecycle (OCT – Original Credit Transaction). However, even if you are not currently processing OCTs, you may still be required to comply with the AFT mandate.
Overview
This article outlines the AFT requirements for MCC 4829 - Wire Transfer Money Orders (V, D, G, X) Money Transfer (M). Merchants are expected to implement AFT transaction flows by submitting additional parameters—such as transactionbai
—within the payment request.
Implementation timelines may vary depending on your Acquirer. Please ensure you are ready to adopt AFT parameters when your Acquirer confirms compatibility.
Payment Classification: transactionbai
The transactionbai field is used to classify the purpose of the AFT. For MCC 4829, the following bai values are applicable:
bai Value | Stands for | MCC | Relevant Use Case |
---|---|---|---|
FT |
Fund Transfer | 4829 |
Initial AFT transaction to fund a OCT or transfer. |
AA |
Account-to-account | 4829 |
Money Transfer (funding of the cardholder’s own account at the same or a different financial institution) Used in a me-to-me Money Transfer transaction, both accounts are owned by the same cardholder. Note: Use TU if funding a prepaid account. |
PP |
Person-to-person | 4829 |
This is applicable for services that support AFT and OCT. If only AFT is supported, bai FT must be used. |
'transactionbai': 'FT'
AFT Required Parameters
The following fields are required when processing Account Funding Transactions (AFTs) for MCC 4829. These values provide the necessary sender and recipient details, as well as transaction classification data. Missing any of these mandatory fields may result in failed or rejected transactions.
Field Name | Description | Format / Values | Required |
---|---|---|---|
transactionProcessingCode=FUNDING |
AFT transactions must always be set to FUNDING . |
FUNDING | Mandatory |
merchantTransactionId |
ID generated by the merchant's system to assist with transaction identification. Mandatory for AFT transactions. | AN255 | Mandatory |
sender.birthDate |
If the card originates outside the country where the merchant is registered, this field must be provided. | yyyy-MM-dd | Cross-border only |
sender.accountNumberType |
In nearly all cases, funds will be collected from a card account via your current integration. If you use another method, please contact our support team. | CARD_ACCOUNT | Mandatory |
sender.givenName |
Customer’s first name. Do not pass in billing.details ; use this field separately. |
AN50 | Mandatory |
sender.surname |
Customer’s surname. Must also be provided separately, not in billing.details. | AN50 | Mandatory |
sender.street |
Billing street address passed separately from billing.details . |
AN100 | Mandatory |
sender.city |
Billing city passed separately from billing.details . |
AN50 | Mandatory |
sender.state |
Billing state/province passed separately from billing.details . |
AN50 | Mandatory |
sender.country |
Billing country in ISO 3-character format passed separately. | AN3 | Mandatory |
transactionbai |
Defines the transaction type. See the previous section for MCC-specific values. | AN2 | Mandatory |
recipient.givenName |
The recipient's first name or merchant name (if funds are for the business). | AN50 | Mandatory |
recipient.surname |
Only required if the recipient is an individual (not a business). | AN50 | Conditional |
AFT Integration
You can integrate AFT (Account Funding Transactions) using either the Server-to-Server method or the CopyandPay checkout. Both methods require you to include all mandatory AFT parameters alongside your existing integration fields.
-
See code example below to understand how to set up AFT transactions into your integration. All standard parameters—including 3D Secure fields—are retained when using this method. 3DS parameters are not required in the request, as they are handled automatically by the CopyandPay widget.
the following example request initiates a CopyandPay checkout with additional fields required for AFT (Additional Fund Transfer) transactions.
Change Language -
Code examples for Server-to-Server transaction requests. This method gives you full control over the payload and allows you to directly include all AFT-required fields in your API request.
All current fields in your existing integration—such as amount, currency, customer details, and 3DS data—remain the same. The AFT-specific fields should simply be appended to the payload.
Change Language
Comments
0 comments
Please sign in to leave a comment.