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 6540 – Non-Financial Institutions: Stored Value Card Purchase/Load. These 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 6540, the following BAI values are applicable:
BAI Value | Stands for | MCC | Relevant Use Case |
---|---|---|---|
TU |
Top Up | 6540 | Prepaid card load or reloadable prepaid account funding. |
FT |
Fund Transfer | 6540 | General funds transfer. If the funds are used for high-brand-risk purposes (e.g. cryptocurrency), ensure the correct MCC or special condition indicator is also applied. |
'transactionBai': 'FT'
AFT Required Parameters
The following fields are required when processing Account Funding Transactions (AFTs) for MCC 6540. 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 |
Unique ID from your system used to identify the transaction. | AN255 | Mandatory |
sender.birthDate |
Required if the card originates outside the merchant's country. Recommended for all COPYandPAY transactions due to early checkout generation. | yyyy-MM-dd | Cross-border only |
sender.accountNumberType |
Typically CARD_ACCOUNT . Contact support if using another account type. |
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.