Account Funding Transactions (AFT)
Overview
Account Funding Transactions (AFT) enable account funding and money movement use cases through IPG. Instead of completing a traditional purchase, these transactions fund another account and must be classified according to the applicable card brand requirements.
For eligible merchants in Brazil, IPG supports AFT processing for Visa, Mastercard/Maestro, and Elo by allowing the appropriate transaction purpose to be submitted with each request. This ensures that funding transactions are categorized correctly for scheme compliance, routing, reporting, and operational processing.
Common use cases include:
- Digital wallets
- Account-to-account funding
- Prepaid account reloads
- Money transfer services
- Disbursements
VISA AFT - Business Application Identifier (BAI)
Business Application Identifier (BAI) indicates the intended use of the Visa Account Funding Transaction.
Accepted Values
| Accepted Values |
|---|
| ACCOUNT_TO_ACCOUNT |
| BANK_INITIATED_TRANSFER |
| BUSINESS_TO_BUSINESS |
| CARD_BILL_PAYMENT |
| CASH_DEPOSIT |
| CUSTOMER_BILL_PAYMENT |
| FUNDS_DISBURSEMENT |
| FUND_TRANSFER |
| GAMBLING_PAYOUT |
| GENERAL_FUNDS_DISBURSEMENT |
| GOVERNMENT_DISBURSEMENT |
| LIQUID_ASSETS |
| LOYALTY_PAYMENTS |
| FAST_REFUND |
| MERCHANT_DISBURSEMENT |
| MERCHANT_PAYMENT |
| NON_CARD_BILL_PAYMENT |
| ONLINE_GAMBLING_PAYOUT |
| PAYROLL_OR_PENSION_DISBURSEMENT |
| PERSON_TO_PERSON |
| REQUEST_TO_PAY_SERVICE |
| TOPUP_FOR_ENHANCED_PREPAID_LOADS |
| WALLET_TRANSFER |
Mastercard / Maestro Funding -TransactionTypeIdentifier
TransactionTypeIdentifier (TTI) indicates the intended use of the Mastercard/Maestro Funding transaction (Money Send / Money Transfer).
Accepted Values
| Accepted Values |
|---|
| AGENTS_CASH_OUT_MONEY_TRANSFER |
| AGENTS_CASH_OUT_MONEY_SEND |
| BUSINESS_DISBURSEMENT_MONEY_SEND |
| BUSINESS_DISBURSEMENT_MONEY_TRANSFER |
| BUSINESS_TO_BUSINESS_MONEY_SEND |
| BUSINESS_TO_BUSINESS_MONEY_TRANSFER |
| CARD_BILL_PAYMENT_MONEY_SEND |
| CARD_BILL_PAYMENT_MONEY_TRANSFER |
| CASH_IN_AT_ATM |
| CASH_IN_AT_PO |
| FAST_REFUND_TO_ORIGINAL_CARD |
| GAMBLING_PAYOUT |
| GOVERNMENT_DISBURSEMENT_NONPROFIT |
| ONLINE_GAMBLING_PAYOUT |
| OWN_ACCOUNT_MONEY_SEND |
| OWN_ACCOUNT_MONEY_TRANSFER |
| OWN_DEBIT_PREPAID_TRANSFER |
| OWN_WALLET_TRANSFER |
| PERSON_TO_PERSON_CARD_ACCOUNT |
| PERSON_TO_PERSON_MONEY_SEND |
| PERSON_TO_PERSON_MONEY_TRANSFER |
| RAPID_MERCHANT_SETTLEMENT |
ELO AFT - EloTransactionTypeIdentifier
EloTransactionTypeIdentifier indicates the intended use of the ELO Account Funding Transaction. ELO / Brazil only.
Accepted Values
| Accepted Values |
|---|
| ACCOUNT_TO_ACCOUNT |
| PERSON_TO_PERSON |
| CASHBACK |
| DISBURSEMENT |
| RESOURCE_CONTRIBUTION |
| SIMULTANEOUS_PURCHASE |
API Field Locations & Examples
All three fields live inside the transaction additionalDetails object (REST) or as a transaction-level element (SOAP). All are optional.
REST API
# Visa
businessApplicationIdentifier:
description: Indicates the intended use of the Account Funding Transaction. For Visa Only.
type: string
enum: [ ACCOUNT_TO_ACCOUNT, BANK_INITIATED_TRANSFER, ... , WALLET_TRANSFER ]
example: ACCOUNT_TO_ACCOUNT
# Mastercard
transactionTypeIdentifier:
description: Indicates the intended use of the Account Funding Transaction. For Mastercard Only.
type: string
enum: [ AGENTS_CASH_OUT_MONEY_SEND, ... , RAPID_MERCHANT_SETTLEMENT ]
example: BUSINESS_DISBURSEMENT_MONEY_SEND
# ELO
eloTransactionTypeIdentifier:
description: Indicates the intended use of the Account Funding Transaction. For ELO Brand only for Brazil.
type: string
enum: [ ACCOUNT_TO_ACCOUNT, PERSON_TO_PERSON, CASHBACK, DISBURSEMENT, RESOURCE_CONTRIBUTION, SIMULTANEOUS_PURCHASE ]
example: ACCOUNT_TO_ACCOUNT
VISA AFT REST API
{
"requestType": "PaymentCardSaleTransaction",
"transactionAmount": {
"total": 100.00,
"currency": "986"
},
"paymentMethod": {
"paymentCard": {
"number": "411111******1111",
"expiryDate": {
"month": "12",
"year": "30"
},
"securityCode": "123",
"cardFunction" : "CREDIT"
}
},
"order": {
"additionalDetails": {
"businessApplicationIdentifier": "FUND_TRANSFER"
}
},
"senderReceiverInfo": {
"senderInfo": {
"name": "Generic Sender",
"firstName": "Generic",
"lastName" : "Sender",
"streetAddress": "Generic Street 123",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"birthDate": "19000101",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE",
"participationId": "00000000"
},
"receiverInfo": {
"name": "Generic Receiver",
"firstName": "Generic",
"lastName" : "Receiver",
"streetAddress": "Generic Street 456",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE"
}
}
}
MasterCard AFT REST API
{
"requestType": "PaymentCardSaleTransaction",
"transactionAmount": {
"total": 100.00,
"currency": "986"
},
"paymentMethod": {
"paymentCard": {
"number": "555555******4444",
"expiryDate": {
"month": "12",
"year": "30"
},
"securityCode": "123",
"cardFunction" : "CREDIT"
}
},
"order": {
"additionalDetails": {
"transactionTypeIdentifier": "AGENTS_CASH_OUT_MONEY_SEND"
}
},
"senderReceiverInfo": {
"senderInfo": {
"name": "Generic Sender",
"firstName": "Generic",
"lastName" : "Sender",
"streetAddress": "Generic Street 123",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"birthDate": "19000101",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE",
"participationId": "00000000"
},
"receiverInfo": {
"name": "Generic Receiver",
"firstName": "Generic",
"lastName" : "Receiver",
"streetAddress": "Generic Street 123",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE"
}
}
}
ELO AFT REST API
{
"requestType": "PaymentCardSaleTransaction",
"transactionAmount": {
"total": 100.00,
"currency": "986"
},
"paymentMethod": {
"paymentCard": {
"number": "650000******0000",
"expiryDate": {
"month": "12",
"year": "30"
},
"securityCode": "123",
"cardFunction" : "CREDIT"
}
},
"order": {
"additionalDetails": {
"eloTransactionTypeIdentifier": "ACCOUNT_TO_ACCOUNT"
}
},
"senderReceiverInfo": {
"senderInfo": {
"name": "Generic Sender",
"firstName": "Generic",
"lastName" : "Sender",
"streetAddress": "Generic Street 123",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"birthDate": "19000101",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE",
"participationId": "00000000"
},
"receiverInfo": {
"name": "Generic Receiver",
"firstName": "Generic",
"lastName" : "Receiver",
"streetAddress": "Generic Street 456",
"city": "Generic City",
"stateCode": "XX",
"countryCode": "XX",
"postalCode": "000000",
"phoneNumber": "0000000000",
"referenceNumber": "0000000000",
"accountNumber": "000000000",
"accountType": "GENERIC_ACCOUNT_TYPE"
}
}
}
Updated 4 days ago