# Account Funding Transactions

A funding transaction (or Account Funding Transaction - AFT) is a money movement for a reason other than for the purchase of goods or services.

Examples:

- loading a wallet with funds using a card (including stored value digital wallets and crypto or trading wallets)
- adding funds to a pre-paid card using a debit card
- sending money to another person (for example as a gift)


Card scheme registration
You must be registered with Visa and Mastercard to perform funding transactions.

### Parameters

You must include the `instruction.fundsTransfer` object to correctly flag a transaction as a funds transfer.

Rules for the payment scenarios that constitute a funding transaction vary between Visa and Mastercard. We allow you to submit the `fundsTransfer` object for your particular scenario irrespective of the card scheme. The scenario is usually determined by a combination of `fundsTransfer.type`, `fundsTransfer.purpose` and `fundsTransfer.recipient.account.type`, and we ensure the transaction is routed in accordance with card scheme rules.

## International funds transfers

For cross border and inter-regional funds transfers you must submit the following:

Recipient:

* `recipient.address.address1`
* `recipient.address.city`
* `recipient.address.postalCode` (supply an empty string if postal codes are not widely supported for the supplied `countryCode` eg for Ireland, `IE`)
* `recipient.address.state` (mandatory for US and Canada)
* `recipient.address.countryCode`


Sender:

* `sender.address.address1`
* `sender.address.city`
* `sender.address.postalCode` (supply an empty string if postal codes are not widely supported for the supplied `countryCode` eg for Ireland, `IE`)
* `sender.address.state` (mandatory for US and Canada)
* `sender.address.countryCode`
* `sender.dateOfBirth`


## Use cases

| Use case | Description | Required request values |
|  --- | --- | --- |
| Account to Account | Transfer funds from a card account to a financial institution account owned by the cardholder. | `"type":"accountToAccount"` `"purpose"` Not `"creditCardRepayment"` |
| Credit card repayment | Use a debit card to pay off a credit card bill. | `"type":"accountToAccount"``"purpose":creditCardRepayment` |
| Cash | Use a card to fund a transfer where the funds are given to the recipient in cash. | `"type":"cash"` |
| Disbursement: Business to Business (B2B) | Pull funds from a business card in order to pay an invoice due from another business. | `"type":"disbursement"` `"purpose":"businessToBusiness"` |
| Disbursement: Payroll | Pull funds from a business card to fund payroll disbursements made by a payroll provider on behalf of a business. | `"type":"disbursement"``"purpose":"payroll"` |
| Disbursement: Business to Consumer (B2C) | Pull funds from a business card to fund a business disbursement. | `"type":"disbursement"` `"purpose"` Not `"businessToBusiness"` or `"payroll"` |
| Person to Person | Transfer funds from a card account to an account owned by another person. | `"type":"personToPerson"` |
| Purchase a gift card | Purchase a gift card. Note: `sender` and `recipient` values must exactly match if the recipient of the gift card is the same as the person purchasing the gift card. | `"type":"purchase"``"purpose":"giftCard"` |
| Purchase a pre-paid card | Purchase a pre-paid card. | `"type":"purchase"``"purpose":"prePaidCard"` |
| Purchase cryptocurrency | Purchase crypto directly without an intermediary fiat wallet load. | `"type":"purchase"``"purpose":"crypto"``"recipient.account.type": "wallet"` |
| Purchase liquid assets | Purchase crypto directly without an intermediary fiat wallet load. Liquid assets include shares, stock and foreign currencies. | `"type":"purchase"``"purpose":"liquidAssets"``"recipient.account.type": "wallet"` |
| Top up a debit account | Transfer funds from a card to a debit card account owned by the cardholder. | `"type":"topUp"``"purpose":"debitCard"` |
| Top up a pre-paid account | Transfer funds from a card to a pre-paid card account. | `"type":"topUp"``"purpose":"prePaidCard"` |
| Wallet load: cryptocurrency | Transfer funds from a card to a crypto exchange wallet for the purpose of purchasing cryptocurrency. | `"type":"walletLoad"``"purpose":"crypto"``"recipient.account.type": "storedValueWallet"` |
| Wallet load: liquid assets | Transfer funds from a card to a trading wallet for the purpose of purchasing stocks, shares, or foreign currency. | `"type":"walletLoad"``"purpose":"liquidAssets"``"recipient.account.type": "storedValueWallet"` |
| Wallet load: high risk securities | Transfer funds from a card to a trading wallet for the purpose of purchasing high risk securities. | `"type":"walletLoad"``"purpose":"highRiskSecurities"``"recipient.account.type": "storedValueWallet"` |
| Wallet load: gaming | Transfer funds from a card to a gaming wallet. | `"type":"walletLoad"``"purpose":"gaming"``"recipient.account.type": "storedValueWallet"` |
| Wallet load: merchant wallet | Transfer funds from a card to a merchant wallet, where funds can be used to purchase items from the merchant exclusively. | `"type":"walletLoad"``"recipient.account.type": "merchantWallet"` |


## Request examples

Wallet load - Crypto

```json
    "instruction": {        
        "fundsTransfer": {
            "type": "walletLoad",
            "purpose": "crypto",
            "recipient": {
                "account": {
                    "type": "storedValueWallet",
                    "walletReference": "ABCDE12345"
                },
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                },
                "dateOfBirth": {
                    "day": 12,
                    "month": 4,
                    "year": 2001
                },
                "phoneNumber": "+447987 654321"
            },
            "sender": {
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                }
            }
        }
    }
```

Wallet load - Liquid assets

```json
    "instruction": {        
        "fundsTransfer": {
            "type": "walletLoad",
            "purpose": "liquidAssets",
            "recipient": {
                "account": {
                    "type": "storedValueWallet",
                    "walletReference": "ABCDE12345"
                },
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                },
                "dateOfBirth": {
                    "day": 12,
                    "month": 4,
                    "year": 2001
                },
                "phoneNumber": "+447987 654321"
            },
            "sender": {
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                }
            }
        }
    }
```

Purchase - Crypto

```json
    "instruction": {        
        "fundsTransfer": {
            "type": "purchase",
            "purpose": "crypto",
            "recipient": {
                "account": {
                    "type": "wallet",
                    "walletReference": "ABCDE12345"
                },
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                },
                "dateOfBirth": {
                    "day": 12,
                    "month": 4,
                    "year": 2001
                },
                "phoneNumber": "+447987 654321"
            },
            "sender": {
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                }
            }
        }
    }
```

Purchase - Liquid assets

```json
    "instruction": {        
        "fundsTransfer": {
            "type": "purchase",
            "purpose": "liquidAssets",
            "recipient": {
                "account": {
                    "type": "wallet",
                    "walletReference": "ABCDE12345"
                },
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                },
                "dateOfBirth": {
                    "day": 12,
                    "month": 4,
                    "year": 2001
                },
                "phoneNumber": "+447987 654321"
            },
            "sender": {
                "firstName": "John",
                "middleName": "Roger",
                "lastName": "Smith",
                "address": {
                    "address1": "221B Baker Street",
                    "address2": "Marylebone",
                    "postalCode": "NW1 6XE",
                    "city": "London",
                    "state": "LDN",
                    "countryCode": "GB"
                }
            }
        }
    }
```

## Response

The authorization response is the same across both funding transactions and regular card payment authorizations.

## Refunds

Refunds for funding transactions must only be used for true refund scenarios (e.g. a funding transaction is used as the source of funds for a subsequent funds transfer which fails; the funding transaction is refunded to return the funds to the sender's card account). A refund must not be used to return funds previously transferred into a wallet or account (unless the funds had been transferred in error in which case the full amount should be refunded).

If funds need to be unloaded from a wallet or account back to the owner's card then you must [make a card payout](/access/products/money-transfers/make-money-transfer).