Skip to content

Account Funding Transactions

Last updated: December 8, 2022

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 Customer Success manager.

Use the details below to set up your request.

Endpoints

For the full API specification, see the API reference.

    post

    https://api.checkout.com/payments

    Header parameters

    HeaderValue

    Authorization

    required

    secret key

    Use the valid secret key of your Checkout.com account. You can find this in the Hub.

    Content-Type

    required

    application/json

    Body parameters

    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 nameDescription

    amount

    optional
    integer

    The payment amount in your chosen currency. Omit the amount or provide a value of 0 to perform a card verification.

    The format depends on the currency. For more information, see calculating the value.

    currency

    required
    string

    A three-letter ISO currency code representing the currency of the payment.

    processing

    optional
    object

    Details about the processing.

    processing.aft

    optional
    boolean

    Indicates whether the payment is an Account Funding Transaction (AFT).

    processing.senderInformation.address

    required
    for Visa intra-EEA, UK, and crossborder AFTs
    optional
    for Mastercard
    string

    The sender's address.

    processing.senderInformation.city

    required
    for Visa intra-EEA, UK, and crossborder AFTs
    optional
    for Mastercard
    string

    The sender's city.

    processing.senderInformation.country

    required
    for Visa intra-EEA, UK, and crossborder AFTs
    optional
    for Mastercard
    string

    The sender's country.

    processing.senderInformation.first_name

    required
    for Visa intra-EEA, UK, and crossborder AFTs
    optional
    for Mastercard
    string

    The sender's first name.

    processing.senderInformation.last_name

    required
    for Visa intra-EEA, UK, and crossborder AFTs
    optional
    for Mastercard
    string

    The sender's last name.

    processing.senderInformation.reference

    optional
    string

    The merchant's unique customer ID.

    recipient

    required
    for Mastercard
    optional
    for Visa
    object

    Details about the recipient.

    recipient.account_number

    required
    for Visa domestic European, intra-EEA, UK, and crossborder AFTs, and Mastercard
    optional
    for Visa domestic in APAC and MENA regions
    string

    The recipient's account number if funding an account, or the primary account number (PAN) if funding a card.

    recipient.country

    required
    for Visa domestic European, intra-EEA, UK, and crossborder AFTs, and Mastercard
    optional
    for Visa domestic in APAC and MENA regions
    string

    The country (two-letter ISO country code) of the recipient's address.

    recipient.first_name

    required
    for Visa domestic European, intra-EEA, UK, and crossborder AFTs, and Mastercard
    optional
    for Visa domestic in APAC and MENA regions
    string

    The recipient's first name. If the recipient is an organization, this should be the organization name.

    recipient.last_name

    required
    for Visa domestic European, intra-EEA, UK, and crossborder AFTs, and Mastercard
    optional
    for Visa domestic in APAC and MENA regions
    string

    The recipient's last name. If the recipient is an organization, this field is not required.

    source

    required
    object

    Details about the payment source.

    source.token

    required
    string

    The Checkout.com token.

    source.type

    required
    string

    The type of payment source. Set this to token.

    Request example

    1
    {
    2
    "source": {
    3
    "type": "token",
    4
    "token": "tok_4gzeau5o2uqubbk6fufs3m7p54"
    5
    },
    6
    "amount": 6500,
    7
    "currency": "GBP",
    8
    "processing": {
    9
    "aft": true
    10
    },
    11
    "recipient": {
    12
    "first_name": "John",
    13
    "last_name": "Smith",
    14
    "account_number": "4242424242",
    15
    "country": "GB"
    16
    },
    17
    "processing.senderInformation": {
    18
    "reference": "87654321",
    19
    "first_name": "John",
    20
    "last_name": "Smith",
    21
    "address": "1 High Street",
    22
    "city": "London",
    23
    "country": "GB"
    24
    }
    25
    }

    The response

    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.

    Tip

    The following pages can help you understand the response message:

    Response example

    The possible values for the status field include AuthorizedCapturedCard VerifiedDeclined, 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": false
    15
    },
    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.