Account Funding Transactions
Last updated: June 14, 2023
An Account Funding Transaction (AFT) is a transaction in which funds are pulled from an account and used to fund a non-merchant account. For example, to load a pre-paid card, top up a wallet, or fund a person-to-person (P2P) money transfer.
The Unified Payments API can be used to perform an AFT for Visa or Mastercard.
Information
To start using this feature, please contact your Account Manager.
Use the details below to set up your request.
For the full API specification, see the API reference.
post
https://api.checkout.com/payments
Header | Value |
---|---|
required |
Use the valid secret key of your Checkout.com account. You can find this in the Hub. |
required |
|
The table below describes the minimum recommended fields.
Some fields are only required for Visa AFTs in which the issuer, acquirer, and merchant are not all located within the same European Economic Area (EEA) country or the UK. For example, in an intra-EEA and UK AFT, the merchant and acquirer may be located in France, while the issuer is located in the UK.
Field name | Description |
---|---|
optional integer | The payment amount in your chosen currency. Omit the amount or provide a value of The format depends on the currency. For more information, see calculating the value. |
required string | A three-letter ISO currency code representing the currency of the payment. |
optional object | Details about the processing. |
optional boolean | Indicates whether the payment is an Account Funding Transaction (AFT). |
required for Visa intra-EEA, UK, and crossborder AFTsoptional for Mastercardstring | The sender's address. |
required for Visa intra-EEA, UK, and crossborder AFTsoptional for Mastercardstring | The sender's city. |
required for Visa intra-EEA, UK, and crossborder AFTsoptional for Mastercardstring | The sender's country. |
required for Visa intra-EEA, UK, and crossborder AFTsoptional for Mastercardstring | The sender's first name. |
required for Visa intra-EEA, UK, and crossborder AFTsoptional for Mastercardstring | The sender's last name. |
optional string | The merchant's unique customer ID. |
required for Visa domestic European, intra-EEA, UK, US, and cross border AFTs, and Mastercard globallyoptional for Visa domestic in APAC and MENA regionsobject | Details about the recipient. |
required for Visa domestic European, intra-EEA, UK, US, and cross border AFTs, and Mastercard globallyoptional for Visa domestic in APAC and MENA regionsstring | The recipient's account number if funding an account, or the primary account number (PAN) if funding a card. |
required for Visa domestic European, intra-EEA, UK, US, and cross border AFTs, and Mastercard globallyoptional for Visa domestic in APAC and MENA regionsstring | The country (two-letter ISO country code) of the recipient's address. |
required for Visa domestic European, intra-EEA, UK, US, and cross border AFTs, and Mastercard globallyoptional for Visa domestic in APAC and MENA regionsstring | The recipient's first name. If the recipient is an organization, this should be the organization name. |
required for Visa domestic European, intra-EEA, UK, US, and cross border AFTs, and Mastercard globallyoptional for Visa domestic in APAC and MENA regionsstring | The recipient's last name. If the recipient is an organization, this field is not required. |
required object | Details about the payment source. |
required string | The Checkout.com token. |
required string | The type of payment source. Set this to |
1{2"source": {3"type": "token",4"token": "tok_4gzeau5o2uqubbk6fufs3m7p54"5},6"amount": 6500,7"currency": "GBP",8"recipient": {9"first_name": "John",10"last_name": "Smith",11"account_number": "4242424242",12"country": "GB"13},14"processing": {15"aft": true,16"senderInformation": {17"reference": "87654321",18"firstName": "John",19"lastName": "Smith",20"address": "1 High Street",21"city": "London",22"country": "GB"23}24}25}
Use the approved
field to check whether or not the authorization was successful ("approved": true
). If your authorization was not successful, it's possible the payment used an invalid/expired card, or a valid card with an insufficient available balance.
If you received a 202
response, the payment requires a redirect. For example, if the payment is 3D Secure.
Information
The following pages can help you understand the response message:
- CVV codes and descriptions
- AVS codes
- Response codes (if the authorization was unsuccessful)
The possible values for the status field include Authorized
, Captured
, Card Verified
, Declined
, and Pending
. Note that Pending
only applies to 3D Secure payments.
1{2"id": "pay_mbabizu24mvu3mela5njyhpit4",3"action_id": "act_mbabizu24mvu3mela5njyhpit4",4"amount": 6500,5"currency": "GBP",6"approved": true,7"status": "Authorized",8"auth_code": "770687",9"eci": "05",10"scheme_id": "638284745624527",11"response_code": "10000",12"response_summary": "Approved",13"risk": {14"flagged": false15},16"source": {17"id": "src_nwd3m4in3hkuddfpjsaevunhdy",18"type": "card",19"expiry_month": 9,20"expiry_year": 2022,21"scheme": "Visa",22"last4": "4242",23"fingerprint": "F31828E2BDABAE63EB694903825CDD36041CC6ED461440B81415895855502832",24"bin": "424242",25"card_type": "Credit",26"card_category": "Consumer",27"issuer": "BARCLAYS BANK PLC",28"issuer_country": "GB",29"product_id": "A",30"product_type": "Visa Traditional",31"avs_check": "S",32"cvv_check": ""33},34"customer": {35"id": "cus_udst2tfldj6upmye2reztkmm4i"36},37"processed_on": "2019-01-25T11:03:36Z",38"reference": "ORD-5023-4E89",39"_links": {40"self": {41"href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4"42},43"actions": {44"href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/actions"45},46"capture": {47"href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/captures"48},49"void": {50"href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/voids"51}52}53}
Information
Possibly fraudulent authorization requests return the message risk.flagged: true
to show that the payment has been flagged.