Process an AFT with a Visa Card {#payouts-services-auth-aft-intro-visa}
=======================================================================

`Payouts` uses the authorization service to support AFTs. An AFT withdraws funds from a sender's account.

> IMPORTANT
> You must receive prior approval from ` Barclays ` before using the AFT services. Contact ` Barclays ` to register with the AFT program.

Endpoint {#payouts-services-auth-aft-intro-visa_d9e16}
------------------------------------------------------

**Production:** `POST ``https://api.cybersource.com``/pts/v2/payments`{#payouts-services-auth-aft-intro-visa_d9e25}  
**Test:** `POST ``https://apitest.cybersource.com``/pts/v2/payments`{#payouts-services-auth-aft-intro-visa_d9e35}

Required Fields for Performing an AFT with Visa {#payouts-services-auth-aft-reqfields-visa}
===========================================================================================

These fields are required in a request for an authorization for an AFT:

[clientReferenceInformation.code](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/client-ref-info-aa/client-ref-info-code.md "")
:

[orderInformation.amountDetails.currency](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-currency.md "")
:

[orderInformation.amountDetails.totalAmount](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-amount-details-total-amount.md "")
:

[orderInformation.billTo.address1](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-address1.md "")
:

[orderInformation.billTo.country](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-country.md "")
:

[orderInformation.billTo.email](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-email.md "")
:
Required except when your account is configured for relaxed requirements for address data and expiration date.

[orderInformation.billTo.firstName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-first-name.md "")
:

[orderInformation.billTo.lastName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-last-name.md "")
:

[orderInformation.billTo.locality](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-locality.md "")
:

[orderInformation.billTo.phoneNumber](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-phone-num.md "")
:

[orderInformation.billTo.postalCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/order-info-aa/order-info-bill-to-postal-code.md "")
:

[paymentInformation.card.expirationMonth](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-exp-mo.md "")
:

[paymentInformation.card.expirationYear](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-exp-year.md "")
:

[paymentInformation.card.number](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-number.md "")
:

[paymentInformation.card.securityCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-security-code-a.md "")
:

[paymentInformation.card.type](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-type-a.md "")
:

[processingInformation.authorizationOptions.aftIndicator](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/processing-info-aa/processing-info-auth-ops-aft-ind.md "")
:
Set to `true`.

[processingInformation.businessApplicationId](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/processing-info-aa/processing-info-business-appl-id.md "")
:
These are the values when using a Visa card type:

    * `AA`: Account-to-account, sender and recipient are the same person
    * `FT`: Funds transfer where OCT not available
    * `TU`: Top up - prepaid load
    * `WT`: When AFT is used to fund a staged digital wallet

processingInformation.purposeOfPayment
:

[recipientInformation.accountId](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-account-id.md "")
:

[recipientInformation.address1](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-address1.md "")
:
Required for all cross-border transactions into and out of Canada. Also required for cross-border AFTs into Australia, New Zealand, and the South Pacific.

[recipientInformation.administrativeArea](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-administrative-area.md "")
:
Required for all cross-border money and non-money transfer transactions into and out of Canada.
:
For the US and Canada, must be a valid two character state code.

[recipientInformation.firstName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-first-name.md "")
:

[recipientInformation.locality](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-locality.md "")
:
Required for all cross-border money and non-money transfer transactions into and out of Canada.

[recipientInformation.postalCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-postal-code.md "")
:
Required for all cross-border money and non-money transfer transactions into and out of Canada.

[senderInformation.address1](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-address1.md "")
:

[senderInformation.administrativeArea](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-administrative-area.md "")
:
Required with Visa when transactions are in the US or Canada. Field is optional for countries outside of the US and Canada.

[senderInformation.countryCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-country-code.md "")
:

[senderInformation.dateOfBirth](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-date-of-birth.md "")
:
Required for all cross-border money transfer AFTs.

[senderInformation.firstName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-first-name.md "")
:

[senderInformation.lastName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-last-name.md "")
:

Optional Fields for Performing an AFT with Visa {#payouts-services-auth-aft-optfields-visa}
===========================================================================================

You can include these optional fields in an authorization request for an AFT:

orderInformation.amountDetails.foreignExchangeFee
:
This field is supported only for cross-border transactions. A [cross-border](# "") transaction is a transaction for which the payment card is issued in one country and accepted by a merchant in another country.

orderInformation.billTo.locality
:

processingInformation.commerceIndicator
:
Set this field to `internet`, `MOTO`, or a 3D-Secure value.

recipientInformation.lastName
:

recipientInformation.middleName
:

senderInformation.lastName
:

[senderInformation.locality](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-locality.md "")
:

[senderInformation.middleName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/sender-info-aa/sender-info-middle-name.md "")
:

Related Information
-------------------

* [API field reference guide for the REST API](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/rest-api-fields-intro.md "")

REST Example: Performing an AFT with Visa {#payouts-services-auth-aft-ex-rest-barclays-visa}
============================================================================================

Request: Authorization Service for an AFT with Visa  
Visa Example: Consumer funding an account-to account transfer 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": "4111111111111111",
      "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"
}
```

