On This Page
Account Funding Transactions Developer Guide
This section provides you with information about the
REST API
guide for
.Barclays
Audience and Purpose
This document is written for developers who want to use the
Cybersource
REST API
to integrate Cybersource
Account Funding Transaction
services into their transaction management system. Conventions
This special statement is used in this document:
IMPORTANT
An
Important
statement contains information essential to
successfully completing a task or learning a concept.Related Documentation
For further technical documentation, visit the
Cybersource
Technical
Documentation Portal:Customer Support
For support information about any service, visit the Support Center:
Recent Revisions to This Document
24.01
Initial release.
AFT Transactions
The Account Funding Transaction (AFT) allows the transfer of funds between a payment card and another account, including payment cards.
When used independently, an AFT can only be used to transfer funds between accounts owned by the same individual or business entity. An
AFT is not intended for the payment of goods and services, funding a merchant account, or for debt repayment.
Account Funding Transactions (AFTs)
Payouts
uses the authorization service to support AFTs. An
AFT withdraws funds from a sender’s account.IMPORTANT
You must receive prior approval from before using the AFT
services. Contact to register with the AFT program.
Barclays
Barclays
Endpoint
Production:
POST
https://api.cybersource.com
/pts/v2/paymentsTest:
POST
https://apitest.cybersource.com
/pts/v2/paymentsRequired Fields for Performing an AFT
These fields are required in a request for an authorization for an AFT:
- These are the values when using a Visa card type:
- AA: Account-to-account, sender and recipient are the same person
- FD: Funds disbursement, e.g. insurance payout
- FT: Funds transfer where OCT not available
- PD: Payroll disbursement
- TU: Top up - prepaid load
- WT: When AFT is used to fund a staged digital wallet
- These are the values when using a Mastercard card type. TherecipientInformation.accountTypefield must align with Business Application Identifier value.
- AA: Account-to-account, sender and recipient are the same person.recipientInformation.accountTypemust be either 01, 02, 03 or 06
- FT: Funds transfer where OCT not available. TherecipientInformation.accountTypemust be either 00, 01, 02, 03 or 06.
- PD: Payroll disbursement. TherecipientInformation.accountTypefield must be 03.
- TU: Top up - prepaid load. TherecipientInformation.accountTypefield must be either 01, 02, 03 or 06.
- WT: When AFT is used to fund a staged digital wallet. TherecipientInformation.accountTypemust be either 00, 01, 02, 03, 06 or absent.
- For Mastercard, only these codes are permitted:
- 00: Other
- 01: Routing transit number (RTM) and bank account
- 02: IBAN
- 03: Card account
- 06: Bank account number (BAN) and Bank identification number code (BIC)
- Required only with Mastercard.
- Required only with Mastercard.
- Required with Visa and optional with Mastercard.
- Required with Visa when transactions are in the US or Canada. Field is optional for countries outside of the US and Canada.
- Field is only required with Visa transactions.
- Required with Visa and optional with Mastercard.
- Required with Visa and optional with Mastercard.
Related Information
Optional Fields for Performing an AFT
You can include these optional fields in an authorization request for an AFT:
- Set this field tointernet,MOTO, or a 3D-Secure value.
REST Example: Performing an AFT with Visa
Request: Authorization Service for an AFT with Visa
This example is a consumer funding an account-to-account, when the
sender and recipient are the same person.
{ "clientReferenceInformation": { "code": "RTS-AFT3-8" }, "processingInformation": { "capture": true, "businessApplicationId": "AA", "commerceIndicator": "vbv", "authorizationOptions": { "ignoreAvsResult": true, "ignoreCvResult": false, "aftIndicator": true } }, "paymentInformation": { "card": { "number": "4539791001730106", "expirationMonth": "03", "expirationYear": "2025", "type": "001", "securityCode": "351" } }, "orderInformation": { "amountDetails": { "totalAmount": "28.00", "currency": "GBP" }, "billTo": { "firstName": "Joe", "lastName": "Root", "middleName": "S", "address1": "34 Orchard Grove", "locality": "Southampton", "postalCode": "DE6 1BE", "country": "GB", "email": "test@cybs.com" } }, "senderInformation": { "firstName": "Joe", "lastName": "Root", "middleName": "S", "address1": "34 Orchard Grove", "locality": "Southampton", "countryCode": "GB" }, "recipientInformation": { "accountId": "4929421234600821", "firstName": "Ben", "lastName": "Stokes", "middleName": "A" }, "consumerAuthenticationInformation": { "cavv": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "paresStatus": "Y" } }
Response: Authorization Service for an AFT with Visa
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7285727331066440604951/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7285727331066440604951" } }, "clientReferenceInformation": { "code": "RTS-AFT3-8" }, "id": "7285727331066440604951", "orderInformation": { "amountDetails": { "totalAmount": "28.00", "authorizedAmount": "28.00", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "90011645" }, "processorInformation": { "merchantNumber": "6637599", "approvalCode": "475034", "cardVerification": { "resultCodeRaw": "1", "resultCode": "P" }, "merchantAdvice": { "code": "00", "codeRaw": "0" }, "networkTransactionId": "000000000474740", "transactionId": "000000000474740", "responseCode": "0", "avs": { "code": "I", "codeRaw": "11" } }, "reconciliationId": "7024464528", "status": "AUTHORIZED", "submitTimeUtc": "2024-10-10T15:05:35Z" }
REST Example: Performing an AFT with Mastercard
Request: Authorization Service for an AFT with Mastercard
This example is a consumer funding an account-to-account, when the
sender and recipient are the same person.
{ "clientReferenceInformation": { "code": "RTS-AFT3-8" }, "processingInformation": { "capture": true, "businessApplicationId": "AA", "commerceIndicator": "spa", "authorizationOptions": { "ignoreAvsResult": true, "ignoreCvResult": false, "aftIndicator": true } }, "paymentInformation": { "card": { "number": "5454545454545454", "expirationMonth": "03", "expirationYear": "2025", "type": "002", "securityCode": "351" } }, "orderInformation": { "amountDetails": { "totalAmount": "28.00", "currency": "GBP" }, "billTo": { "firstName": "Joe", "lastName": "Root", "middleName": "S", "address1": "34 Orchard Grove", "locality": "Southampton", "postalCode": "DE6 1BE", "country": "GB", "email": "test@cybs.com" } }, "senderInformation": { "firstName": "Joe", "lastName": "Root", "middleName": "S", "address1": "34 Orchard Grove", "locality": "Southampton", "countryCode": "GB" }, "recipientInformation": { "accountId": "4929421234600821", "accountType": "03", "firstName": "Ben", "lastName": "Stokes", "middleName": "A", "address1": "1 High Street", "country": "GB" }, "consumerAuthenticationInformation": { "ucafAuthenticationData": "EHuWW9PiBkWvqE5juRwDzAUFBAk=", "ucafCollectionIndicator": "2" } }
Response: Authorization Service for an AFT with Mastercard
{ "_links": { "void": { "method": "POST", "href": "/pts/v2/payments/7285727331066440604951/voids" }, "self": { "method": "GET", "href": "/pts/v2/payments/7285727331066440604951" } }, "clientReferenceInformation": { "code": "RTS-AFT3-8" }, "id": "7285727331066440604951", "orderInformation": { "amountDetails": { "totalAmount": "28.00", "authorizedAmount": "28.00", "currency": "GBP" } }, "paymentAccountInformation": { "card": { "type": "001" } }, "paymentInformation": { "tokenizedCard": { "type": "001" }, "card": { "type": "001" } }, "pointOfSaleInformation": { "terminalId": "90011645" }, "processorInformation": { "merchantNumber": "6637599", "approvalCode": "475034", "cardVerification": { "resultCodeRaw": "1", "resultCode": "P" }, "merchantAdvice": { "code": "00", "codeRaw": "0" }, "networkTransactionId": "000000000474740", "transactionId": "000000000474740", "responseCode": "0", "avs": { "code": "I", "codeRaw": "11" } }, "reconciliationId": "7024464528", "status": "AUTHORIZED", "submitTimeUtc": "2024-10-10T15:05:35Z" }
Appendix A: Business Application Identifier Values
The Business Application Identifier (BAI) is used to identify the category of the Account
Funding Transaction (AFT). Provide one of the values when you send field .
processingInformation.businessApplicationId
All acquirers, service providers, and merchants are required to submit a valid BAI value
when submitting AFTs.
BAI Value | Category | Requirements |
---|---|---|
AA | Account-to-Account Money Transfer. The funding of the cardholder's
own account at the same or a different financial institution Both
accounts must be owned by the same person/entity. | NOTE
If funding a prepaid account, don't use this value, use
TU .For Mastercard transactions, the
recipientInformation.accountType field must
align with BAI value and must be either 01, 02, 03 or 06. |
FD | Funds Disbursement | Available only with Visa card
transactions. |
FT | Funds Transfer | If the funds will be used for a high-brand
risk transaction, the applicable high-brand risk MCC must be used. If a
wallet is used to purchase Liquid and Cryptocurrency assets, the
applicable special condition indicator must be used. For Mastercard transactions, the
recipientInformation.accountType field must
align with BAI value and must be either 00, 01, 02, 03 or 06. |
PD | Payroll Disbursement | For Mastercard transactions, the
recipientInformation.accountType field must
align with BAI value and must be 06. |
TU | Prepaid Card Load or Top-Up | For Mastercard transactions, the
recipientInformation.accountType field must
align with BAI value and must be either 01, 02, 03 or 06. |
WT | Staged Digital Wallet (SDW)
Transfer | If the funds will be used for a high-brand
risk transaction, the applicable high-brand risk MCC must be used. If
the funds are used for a gambling transaction, the applicable gambling
MCC must be used. If a wallet is used to purchase Liquid and
Cryptocurrency assets, the applicable special condition indicator must
be used. An AFT is not intended for debt repayment. For Mastercard transactions, the
recipientInformation.accountType field must
align with BAI value and must be either 00, 01, 02, 03, 06 or
absent. |
Appendix B: Recipient Account
The Sender Source identifies the source of funds. Provide one of the values when you send
field .
recipientInformation.accountType
Value | Definition |
---|---|
00 | Other |
01 | RNT and Bank Account |
02 | IBAN |
03 | Card Account |
06 | Bank account number (BAN) and Bank
Identification Code (BIC) |