Fields Required to Process a Sale with Merchant Decryption {#applepay-txn-sale-merch-ex-rest-fields}
====================================================================================================

As a best practice, include these REST API fields in your request for a combined authorization and capture (sale) transaction with the `Bank of America` decryption implementation of Apple Pay.  
Depending on your processor, your geographic location, and whether the relaxed address verification system (RAVS) is enabled for your account, some of these fields might not be required. It is your responsibility to determine whether an API field can be omitted from the transaction you are requesting. For information about the relaxed requirements for address data and expiration dates in payment transactions, see the [Payments Developer Guide](https://developer.merchant.services.bankofamerica.com/docs/bofa/en-us/payments/developer/ctv/rest/payments/payments-intro.md "").

clientReferenceInformation.code
:

consumerAuthenticationInformation.ucafAuthenticationData
:
Universal cardholder authentication field (UCAF) data. For Apple Pay, this field is available (but optional) only for merchant decryption of Mastercard transactions on `FDC Compass` and `Bank of America Gateway` processors.

consumerAuthenticationInformation.ucafCollectionIndicator
:
Universal cardholder authentication field (UCAF) collection indicator used for Mastercard Identity Check. For Apple Pay, this field is available and required only for merchant decryption of Mastercard transactions on the `Bank of America Gateway` processor.
:
Set the value to `2`.

orderInformation.amountDetails.currency
:

orderInformation.amountDetails.totalAmount
:

orderInformation.billTo.address1
:

orderInformation.billTo.administrativeArea
:

orderInformation.billTo.country
:

orderInformation.billTo.email
:

orderInformation.billTo.firstName
:

orderInformation.billTo.lastName
:

orderInformation.billTo.locality
:

orderInformation.billTo.postalCode
:

paymentInformation.tokenizedCard.cryptogram
:
Token authentication verification value cryptogram.
:
The value for this field must be a 28-character, Base64-encoded string (the encoding method for Apple Pay transactions).

paymentInformation.tokenizedCard.expirationMonth
:
Set the value to month in which the token expires. Format: `MM`  
Possible values: `01` through `12`.

paymentInformation.tokenizedCard.expirationYear
:
Set the value to the year in which the token expires. Format: `yyyy`.

paymentInformation.tokenizedCard.number
:
Set the value to customer's payment network token value that contains the customer's credit card number.

paymentInformation.tokenizedCard.transactionType
:
For `Elavon Americas`, `FDC Compass`, `Bank of America Gateway`, and `GPX` processors, set this field to the value that indicates the type of transaction that provided the payment network token data. Possible values:

    * `1`: In-app transaction.
    * `2`: Near-field communication (NFC) transaction. The customer's mobile device provided the token data for a contactless EMV transaction.
    * `3`: A transaction using stored customer credentials on `Bank of America Gateway`, whether for merchant-initiated transactions (MITs) or customer-initiated transactions (CITs).

:
> IMPORTANT This value does not specify the token service provider. It specifies the entity that provided you with information about the token.

paymentInformation.tokenizedCard.type
:
Three-digit value that indicates the card type. Possible values:

    * `001`: Visa
    * `002`: Mastercard

processingInformation.capture
:
Set the value to `true` to include a capture with the authorization.

processingInformation.commerceIndicator
:
Type of transaction. Some payment card companies use this information when determining discount rates. Possible values:

    * `aesk`: American Express SafeKey authentication.
    * `dipb`: Discover card type.
    * `internet`: Default value for authorizations. E-commerce order placed from a website.
    * `js`: JCB J/Secure authentication.
    * `mada`: mada authentication.
    * `spa`: Mastercard Identity Check authentication. When the transaction type field is set to this value, you must also include the consumerAuthenticationInformation. ucafCollectionIndicator field with the value set to `2`.
    * `vbv`: Visa Secure authentication

:
For a transaction on a mada co-badged Mastercard, set the value to `mada` or `spa`.
:
For a transaction on a mada co-badged Visa card, set the value to `mada` or `vbv`

processingInformation.paymentSolution
:
Set the value to `001` to identify Apple Pay as the digital payment solution.
