Visa Account Funding Transactions (AFT)

The Account Funding Transaction (AFT) is a transaction used to pull funds from a card account in order to fund a push OCT to a different account, which can be either the cardholder's or another person's account.

The table provides an overview of all mandatory and optional fields to be included in the API request in case you are eligible to perform AFT transactions:

Path/NameXML Schema typeDescription
v1:TransactionDetails/
v1:BusinessApplicationIdentifier
xs:stringRepresents the identity of the merchant
participating in AFT program, available values:
• ACCOUNT_TO_ACCOUNT
• BANK_INITIATED_TRANSFER
• BUSINESS_TO_BUSINESS
• CARD_BILL_PAYMENT
• FUNDS_DISBURSEMENT
• FUND_TRANSFER
• GAMBLING_PAYOUT
• GENERAL_FUNDS_DISBURSEMENT
• GOVERNMENT_DISBURSEMENT
• LOYALTY_PAYMENTS
• MERCHANT_DISBURSEMENT
• MERCHANT_PAYMENT
• NON_CARD_BILL_PAYMENT
• ONLINE_GAMBLING_PAYOUT
• PAYROLL_OR_PENSION_DISBURSEMENT
• PERSON_TO_PERSON
• TOPUP_FOR_ENHANCED_PREPAID_LOADS
• TOP_OFF
• WALLET_TRANSFER
• ZERO_DOLLAR_AUTHORIZATION
v1:Transaction/
v1:Sender/
v1:Name
xs:string
100max
Sender’s Name
v1:Transaction/
v1:Sender/
v1:AccountNumber
xs:string
34max
Sender’s Account Number
v1:Transaction/
v1:Sender/
v1:ReferenceNumber
xs:string
32max
Optional element Sender Reference Number;
contains a transaction reference number that is
provided by the originator and can be used to
uniquely identify the sender
v1:Transaction/
v1:Sender/
v1:Address
xs:string
250max
Sender’s Address
v1:Transaction/
v1:Sender/
v1:City
xs:string
50max
Sender’s City
v1:Transaction/
v1:Sender/
v1:State
xs:string
96max
Sender’s State (if applicable)
v1:Transaction/
v1:Sender/
v1:Zip
xs:string
10max
Sender’s ZIP code
v1:Transaction/
v1:Sender/
v1:Phone
xs:string
32max
Sender’s Phone Number
v1:Transaction/
v1:Sender/
v1:Country
xs:stringSender’s Country
v1:Transaction/
v1:Receiver/
v1:Name
xs:string
100max
Recipient’s Name
v1:Transaction/
v1:Receiver/
v1:AccountNumber
xs:stringRecipient’s Account Number
v1:Transaction/
v1:Receiver/
v1:ReferenceNumber
xs:string
32max
Recipient’s Reference Number

The following xml document represents an example of a Visa AFT transaction including mandatory and optional set of elements, mandatory elements are highlighted:

<soapenv:Envelope 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
xmlns:ipg="http://ipg-online.com/ipgapi/schemas/ipgapi" 
xmlns:v1="http://ipg-online.com/ipgapi/schemas/v1" 
    <soapenv:Header/>
    <soapenv:Body>
        <ipg:IPGApiOrderRequest>
            <v1:Transaction>
                <v1:CreditCardTxType>
                    <v1:Type>sale</v1:Type>
                </v1:CreditCardTxType>
                <v1:CreditCardData>
                    <v1:CardNumber>4111********1111</v1:CardNumber>
                    <v1:ExpMonth>12</v1:ExpMonth>
                    <v1:ExpYear>27</v1:ExpYear>
                </v1:CreditCardData>
                <v1:Payment>
                    <v1:ChargeTotal>50.00</v1:ChargeTotal>
                    <v1:Currency>978</v1:Currency>
                </v1:Payment>
            </v1:Transaction>
            <v1:TransactionDetails> 
            <v1:BusinessApplicationIdentifier>ACCOUNT_TO_ACCOUNT</v1:BusinessApplicationI
            dentifier>
            </v1:TransactionDetails>
                <v1:Sender>
                    <v1:Name>Max Mustermann</v1:Name>
                    <v1:AccountNumber>123456789</v1:AccountNumber>
                    <v1:Address>Frankfurter Str.25</v1:Address>
                    <v1:City>Frankfurt</v1:City>
                    <v1:State>Hesse</v1:State>
                    <v1:Zip>60306</v1:Zip>
                    <v1:Country>DEU</v1:Country>
                    <v1:Phone>49692503033</v1:Phone>
                    <v1:ReferenceNumber>ReferenceNumber973</v1:ReferenceNumber>
                </v1:Sender>
                <v1:Receiver>
                    <v1:Name>Ella Mustermann</v1:Name>
                    <v1:AccountNumber>123456789012345</v1:AccountNumber>
                    <v1:Address>Landstrasse 25</v1:Address>
                    <v1:City>München</v1:City>
                    <v1:State>Bayern</v1:State>
                    <v1:Zip>12345</v1:Zip>
                    <v1:Country>Germany</v1:Country>
                    <v1:Phone>97010203033</v1:Phone> 
                    <v1:ReferenceNumber>receiverReferenceNumber973</v1:ReferenceNumber>
                </v1:Receiver>
            </v1:Transaction>
        </ipg:IPGApiOrderRequest>
    </soapenv:Body>
</soapenv:Envelope>

Want a quick overview?