Process an AFT with a Mastercard {#payouts-services-auth-aft-intro-mc}
======================================================================

`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-mc_d9e16}
----------------------------------------------------

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

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

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.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.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 Mastercard card type. The recipientInformation.accountType field must align with Business Application Identifier value.

    * **AA** : Account-to-account, sender and recipient are the same person. recipientInformation.accountType must be either 01, 02, 03 or 06
    * **FT** : Funds transfer where OCT not available. The recipientInformation.accountType must be either 00, 01, 02, 03 or 06.
    * **PD** : Payroll disbursement. The recipientInformation.accountType field must be 03.
    * **TU** : Top up - prepaid load. The recipientInformation.accountType field must be either 01, 02, 03 or 06.
    * **WT** : When AFT is used to fund a staged digital wallet. The recipientInformation.accountType must be either 00, 01, 02, 03, 06 or absent.

[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.accountType](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/recipient-info-aa/recipient-info-account-type.md "")
:
Only these codes are permitted with Mastercard:

    * 00: Other
    * 01: Routing transit number (RTM) and bank account
    * 02: IBAN
    * 03: Card account
    * 06: Bank account number (BAN) and Bank identification number code (BIC)

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

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

[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 "")
:

[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.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 "")
:

Related Information {#payouts-services-auth-aft-reqfields-mc_section_dfg_fh2_rdc}
---------------------------------------------------------------------------------

* [REST API Field Reference Guide](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/rest/api-fields/rest-api-fields-intro.md "")
  {#payouts-services-auth-aft-reqfields-mc_ul_efg_fh2_rdc}

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

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.amountDetails.serviceFeeAmount
:
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.locality
:

senderInformation.middleName
:

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

Request: Authorization Service for an AFT with Mastercard  
Mastercard 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": "spa",
    "authorizationOptions": {
      "ignoreAvsResult": true,
      "ignoreCvResult": false,
      "aftIndicator": true
    }
  },
  "paymentInformation": {
    "card": {
      "number": "5454545454545454",
      "expirationMonth": "03",
      "expirationYear": "2025",
      "type": "002",
      "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",
    "accountType": "03",
    "firstName": "Ben",
    "lastName": "Stokes",
    "middleName": "A",
    "address1": "1 High Street",
    "country": "GB"
  },
    "consumerAuthenticationInformation": {
    "ucafAuthenticationData": "EHuWW9PiBkWvqE5juRwDzAUFBAk=",
    "ucafCollectionIndicator": "2"
  }
}
```

Response: Authorization Service for an AFT with Mastercard

```
{
  "_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": "002"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "type": "002"
    },
    "card": {
      "type": "002"
    }
  },
  "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"
}
```

