Skip to content

Account Funding Transactions

Last updated: September 21, 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.

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

    Copied!

    Body parameters

    The processing.aft field indicates whether the payment request is an AFT, and is required for both Visa and Mastercard AFTs.

    Recipient object data

    Field nameDescription

    account_number

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

    country

    The recipient's country.

    first_name

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

    last_name

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

    For Visa, first_name, last_name, and account_number are mandatory for domestic European AFTs and intra-EEA/UK AFTs, meaning the issuer, acquirer, and merchant are all located in the European Economic Area (EEA) or the UK. In other jurisdictions, these fields are optional. The country field is optional.

    For Mastercard, the country field is mandatory if the funding transaction will be used for a subsequent cross-border fund transfer. For example, you use a UK card to fund a UK wallet and then forward the funds to an international account. All other fields are mandatory for all AFTs.

    Sender object data

    Field nameDescription

    address.address_line1

    The first line of the sender's address.

    address.address_line2

    The second line of the sender's address.

    address.city

    The sender's city.

    address.country

    The sender's country.

    first_name

    The sender's first name.

    last_name

    The sender's last name.

    reference

    The merchant's unique customer ID.

    For Visa, the reference field is optional for domestic European AFTs. For intra EEA/UK AFTs, all fields are mandatory.

    For Mastercard, all fields are optional.

    Request example

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

    Response example

    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.

    The following pages can help you understand the response message:

    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
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    {
    "id": "pay_mbabizu24mvu3mela5njyhpit4",
    "action_id": "act_mbabizu24mvu3mela5njyhpit4",
    "amount": 6500,
    "currency": "GBP",
    "approved": true,
    "status": "Authorized",
    "auth_code": "770687",
    "eci": "05",
    "scheme_id": "638284745624527",
    "response_code": "10000",
    "response_summary": "Approved",
    "risk": {
    "flagged": false
    },
    "source": {
    "id": "src_nwd3m4in3hkuddfpjsaevunhdy",
    "type": "card",
    "expiry_month": 9,
    "expiry_year": 2022,
    "scheme": "Visa",
    "last4": "4242",
    "fingerprint": "F31828E2BDABAE63EB694903825CDD36041CC6ED461440B81415895855502832",
    "bin": "424242",
    "card_type": "Credit",
    "card_category": "Consumer",
    "issuer": "BARCLAYS BANK PLC",
    "issuer_country": "GB",
    "product_id": "A",
    "product_type": "Visa Traditional",
    "avs_check": "S",
    "cvv_check": ""
    },
    "customer": {
    "id": "cus_udst2tfldj6upmye2reztkmm4i"
    },
    "processed_on": "2019-01-25T11:03:36Z",
    "reference": "ORD-5023-4E89",
    "_links": {
    "self": {
    "href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4"
    },
    "actions": {
    "href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/actions"
    },
    "capture": {
    "href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/captures"
    },
    "void": {
    "href": "https://api.sandbox.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4/voids"
    }
    }
    }

    Possibly fraudulent authorization requests return the message risk.flagged: true to show that the payment has been flagged.