Authorize an Apple Pay Payment with `Visa Acceptance Solutions` Decryption {#applepay-txn-auth-cybs-ex}
=======================================================================================================

The topics in this section show to how to authorize an Apple Pay payment transaction with the *`Visa Acceptance Solutions` decryption* implementation of Apple Pay:

* Basic Steps: Authorizing a Payment with `Visa Acceptance Solutions` Decryption
* Fields Required to Authorize a Payment with `Visa Acceptance Solutions` Decryption
* REST Example: Authorize a Payment with `Visa Acceptance Solutions` Decryption
  For general information about basic authorizations, see the "Standard Payments Processing" section of the [Payments Developer Guide](https://developer.visaacceptance.com/docs/vas/en-us/payments/developer/ctv/rest/payments/payments-about-guide.md "").

Basic Steps: Authorizing a Payment with `Visa Acceptance Solutions` Decryption {#applepay-txn-auth-cybs-ex-rest-steps}
======================================================================================================================

Follow these steps to request an Apple Pay payment authorization with `Visa Acceptance Solutions` decryption:

1. Create the request message with the required `REST` API fields.

   * Use the API fields listed in [Fields Required to Authorize a Payment with Visa Acceptance Solutions Decryption](/docs/vas/en-us/apple-pay/developer/all/rest/applepay/applepay-txns-intro/applepay-txn-auth-cybs-ex/applepay-txn-auth-cybs-ex-rest-fields.md "").
   * Refer to the example in [REST Example: Authorize a Payment with Visa Acceptance Solutions Decryption](/docs/vas/en-us/apple-pay/developer/all/rest/applepay/applepay-txns-intro/applepay-txn-auth-cybs-ex/applepay-txn-auth-cybs-ex-rest-code.md "").
2. Send the message to one of these endpoints:

   * Production: `POST ``https://api.visaacceptance.com``/pts/v2/payments`
   * Test: `POST ``https://apitest.visaacceptance.com``/pts/v2/payments`
3. Verify the response messages to make sure that the request was successful.

   #### ADDITIONAL INFORMATION

A 200-level HTTP response code indicates success. See the [Transaction Response Codes](https://developer.visaacceptance.com/api/reference/response-codes.md "").

Fields Required to Authorize a Payment with `Visa Acceptance Solutions` Decryption {#applepay-txn-auth-cybs-ex-rest-fields}
===========================================================================================================================

As a best practice, include these REST API fields in your request for an authorization transaction with the `Visa Acceptance Solutions` 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.visaacceptance.com/docs/vas/en-us/payments/developer/ctv/rest/payments/payments-about-guide.md "").

clientReferenceInformation.code
:

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.fluidData.descriptor
:
Format of the encrypted payment data.
:
Set the value to `RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U` for Apple Pay.

paymentInformation.fluidData.encoding
:
Encoding method used to encrypt the payment data.
:
Set the value to `Base64` for Apple Pay.

paymentInformation.fluidData.value
:
Set the value to the encrypted payment data value returned by the Full Wallet request.

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

REST Example: Authorize a Payment with `Visa Acceptance Solutions` Decryption {#applepay-txn-auth-cybs-ex-rest-code}
====================================================================================================================

Request

```
{
  "clientReferenceInformation": {
    "code": "TC_1231223"
  },
  "processingInformation": {
    "paymentSolution": "001"
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": "10",
      "currency": "USD"
    },
    "billTo": {
      "firstName": "John",
      "lastName": "Doe",
      "address1": "901 Metro Center Blvd",
      "locality": "Foster City",
      "administrativeArea": "CA",
      "postalCode": "94404",
      "country": "US",
      "email": "test@example.com"
    }
  },
  "paymentInformation": {
    "fluidData": {
      "value": "eyJkYXRhIjoiXC9NK2VQQ0JlMmtod1pMQkFzRWhneHFqYXF2MmtZNDJSNnd1VDdnT3JlelBwRE9hR2dmc1AzZUNHZUplSjFSc3JpSERGSnJIK0FJVHp6RFdjVXNHUlNuSER3QlBcL2JHakU0dUhYcTFDOXFjWDBLWmYzaTFZNkV2b1wvaXExOFhkcG5obTI1U2kwSGpkWUJGRmVBUmZlVENpMEtDSGtRN04wZTAyeElRbm84Qmt1TVwvSUQ5bHdoNXBFVnVYM08ybjc4bHVyU0tlRmpXVHMyWG9Pc1pmWXBpbFQ4ZFFtK2RaYmh6VHgyZ2hMXC9FcFBReUVvdW5QTFZjTlwvaTR0blFnakxWRWJiNUFDNHJ4ZjBwK2M0VGtYSzcycGZGY05NSnlxd0RlQWZ2cHB6cnFQZVdoaWlpdzUwTmljT3duR29tcXA0bWU2anV4S2N5ZFh3cGpJR3BhQlBuXC9NY3o2d2ZDSFAzMWY1NHdkRmZ4bEZadjl5XC85aGw5YlY1d08yN2R5bFwvYUVxN2FYbU5JZHBQNTFsOXlSQlUzNDNYcjR3XC9MSXN2ZmZTTE91WDlsRU5QUGtocE1LUXo4VWpYNG0xXC9xazdcL256aGFSekFaZGh6VGZsNkZ3PT0iLCJ2ZXJzaW9uIjoiRUNfdjEiLCJoZWFkZXIiOnsiYXBwbGljYXRpb25EYXRhIjoiNDE3MDcwNkM2OTYzNjE3NDY5NkY2RTQ0NjE3NDYxIiwidHJhbnNhY3Rpb25JZCI6IjU0NzI2MTZFNzM2MTYzNzQ2OTZGNkU0OTQ0IiwiZXBoZW1lcmFsUHVibGljS2V5IjoiTUlJQlN6Q0NBUU1HQnlxR1NNNDlBZ0V3Z2ZjQ0FRRXdMQVlIS29aSXpqMEJBUUloQVBcL1wvXC9cLzhBQUFBQkFBQUFBQUFBQUFBQUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL01Gc0VJUFwvXC9cL1wvOEFBQUFCQUFBQUFBQUFBQUFBQUFBQVwvXC9cL1wvXC9cL1wvXC9cL1wvXC9cL1wvXC9cLzhCQ0JheGpYWXFqcVQ1N1BydlZWMm1JYThaUjBHc014VHNQWTd6ancrSjlKZ1N3TVZBTVNkTmdpRzV3U1RhbVo0NFJPZEpyZUJuMzZRQkVFRWF4ZlI4dUVzUWtmNHZPYmxZNlJBOG5jRGZZRXQ2ek9nOUtFNVJkaVl3cFpQNDBMaVwvaHBcL200N242MHA4RDU0V0s4NHpWMnN4WHM3THRrQm9ONzlSOVFJaEFQXC9cL1wvXC84QUFBQUFcL1wvXC9cL1wvXC9cL1wvXC9cLys4NXZxdHB4ZWVoUE81eXNMOFl5VlJBZ0VCQTBJQUJPSnZpNkxGa0JpUTJINDR6K05VK0I3N1hZV2p4UHJQaXRDMFRWZytJYnNGeXIrNjFsemFkQjFrU25hUHpFTmVMMEVrbzhWTExzVjRhU1hTalwvZXlJRmc9IiwicHVibGljS2V5SGFzaCI6IlwvNkxQT3BoS0tydWFvdjBET3VOTDk1YXFCcFVcLzArNElXNXFhV3FxME5qRT0ifSwic2lnbmF0dXJlIjoiTUlJRFFnWUpLb1pJaHZjTkFRY0NvSUlETXpDQ0F5OENBUUV4Q3pBSkJnVXJEZ01DR2dVQU1Bc0dDU3FHU0liM0RRRUhBYUNDQWlzd2dnSW5NSUlCbEtBREFnRUNBaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUF3SnpFbE1DTUdBMVVFQXg0Y0FHTUFhQUJ0QUdFQWFRQkFBSFlBYVFCekFHRUFMZ0JqQUc4QWJUQWVGdzB4TkRBeE1ERXdOakF3TURCYUZ3MHlOREF4TURFd05qQXdNREJhTUNjeEpUQWpCZ05WQkFNZUhBQmpBR2dBYlFCaEFHa0FRQUIyQUdrQWN3QmhBQzRBWXdCdkFHMHdnWjh3RFFZSktvWklodmNOQVFFQkJRQURnWTBBTUlHSkFvR0JBTkM4K2tndGdtdldGMU96amdETnJqVEVCUnVvXC81TUt2bE0xNDZwQWY3R3g0MWJsRTl3NGZJWEpBRDdGZk83UUtqSVhZTnQzOXJMeXk3eER3YlwvNUlrWk02MFRaMmlJMXBqNTVVYzhmZDRmek9wazNmdFphUUdYTkxZcHRHMWQ5VjdJUzgyT3VwOU1NbzFCUFZyWFRQSE5jc005OUVQVW5QcWRiZUdjODdtMHJBZ01CQUFHalhEQmFNRmdHQTFVZEFRUlJNRStBRUhaV1ByV3RKZDdZWjQzMWhDZzdZRlNoS1RBbk1TVXdJd1lEVlFRREhod0FZd0JvQUcwQVlRQnBBRUFBZGdCcEFITUFZUUF1QUdNQWJ3QnRnaEJjbCtQZjMrVTRwazEzblZEOW53UVFNQWtHQlNzT0F3SWRCUUFEZ1lFQWJVS1lDa3VJS1M5UVEybUZjTVlSRUltMmwrWGc4XC9KWHYrR0JWUUprT0tvc2NZNGlOREZBXC9iUWxvZ2Y5TExVODRUSHdOUm5zdlYzUHJ2N1JUWTgxZ3EwZHRDOHpZY0FhQWtDSElJM3lxTW5KNEFPdTZFT1c5a0prMjMyZ1NFN1dsQ3RIYmZMU0tmdVNnUVg4S1hRWXVaTGsyUnI2M044QXBYc1h3QkwzY0oweGdlQXdnZDBDQVFFd096QW5NU1V3SXdZRFZRUURIaHdBWXdCb0FHMEFZUUJwQUVBQWRnQnBBSE1BWVFBdUFHTUFid0J0QWhCY2wrUGYzK1U0cGsxM25WRDlud1FRTUFrR0JTc09Bd0lhQlFBd0RRWUpLb1pJaHZjTkFRRUJCUUFFZ1lDZ2RvN2lrTzdERTNCXC9pY0lycmRjc1ZIanJyQmNPdXNndXhlcGs1QW41ZEExV01rajBlVjRsMVM0RnR5NktwdlR0T0xcL3VSdDhuTHZpVnR0TVVSZHBYTjNWXC9NVmZnVkxlXC9YUm5cLzRzbUJnMVgweE5OTXlTZXBQalVxV1ZkWFg1K0RWYnp2U0ZKSVJGdmt1MHJPaGg3REZmODVpbXNkaGRZRUhCaUg0TzdpK1E9PSJ9",
      "descriptor": "RklEPUNPTU1PTi5BUFBMRS5JTkFQUC5QQVlNRU5U",
      "encoding": "Base64"
    }
  }
}
```

Response to a Successful Request

```
{
  "_links": {
    "authReversal": {
      "method": "POST",
      "href": "/pts/v2/payments/7359642011156554503954/reversals"
    },
    "self": {
      "method": "GET",
      "href": "/pts/v2/payments/7359642011156554503954"
    },
    "capture": {
      "method": "POST",
      "href": "/pts/v2/payments/7359642011156554503954/captures"
    }
  },
  "clientReferenceInformation": {
    "code": "TC_1231223"
  },
  "consumerAuthenticationInformation": {
    "token": "Axj/7wSTjveM2Bej4NcSABsY1aQodZpGb2Y8uGnvx4dJq4Cnvx4dJq+kCvoTi4ZNJMvRiuIkVgTk473jNgXo+DXEgAAAkQmH"
  },
  "id": "7359642011156554503954",
  "issuerInformation": {
    "responseRaw": "0110322000000E1000020000000000000010000104041641840132353442435634463759474B433833313030303030000159008000223134573031363135303730333830323039344730363400103232415050524F56414C00065649435243200034544B54523031313132313231323132313231544C3030323636504E30303431313131"
  },
  "orderInformation": {
    "amountDetails": {
      "authorizedAmount": "10.00",
      "currency": "USD"
    }
  },
  "paymentAccountInformation": {
    "card": {
      "type": "001"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "expirationYear": "2025",
      "requestorId": "12121212121",
      "prefix": "411111",
      "assuranceLevel": "66",
      "expirationMonth": "07",
      "suffix": "1111",
      "type": "001"
    },
    "card": {
      "suffix": "1111",
      "type": "001"
    }
  },
  "pointOfSaleInformation": {
    "terminalId": "02495701"
  },
  "processingInformation": {
    "paymentSolution": "001"
  },
  "processorInformation": {
    "merchantNumber": "000372839590885",
    "approvalCode": "831000",
    "networkTransactionId": "016150703802094",
    "transactionId": "016150703802094",
    "responseCode": "00",
    "avs": {
      "code": "Y",
      "codeRaw": "Y"
    }
  },
  "reconciliationId": "54BCV4F7YGKC",
  "riskInformation": {
    "earlyVelocity": {
      "counts": [
        {
          "count": "1",
          "informationCode": "MVEL-R1"
        }
      ]
    }
  },
  "status": "AUTHORIZED",
  "submitTimeUtc": "2025-01-04T04:16:42Z"
}
```

