Paze Integration Guide {#paze-int-about-guide}
==============================================

This section describes how to use this guide and where to find further information.

Audience and Purpose
:
The *Paze Integration Guide* is for banks and credit unions that want to offer the Paze online checkout experience and process Paze digital wallet payments through `Visa Acceptance Solutions`. The guide describes how to process and search for Paze transactions. Processing is described for Paze digital wallet payment authorizations. The method you use to extract and decrypt Paze payment data depends on how you integrated Paze into your system.

Conventions
:
> IMPORTANT
> An *Important* statement contains information essential to successfully completing a task or learning a concept.

Customer Support
:
For support information about any service, visit the Support Center:

<http://support.visaacceptance.com>

Recent Revisions to This Document {#paze-doc-revisions}
=======================================================

25.06.01
--------

Initial release.

Introduction to Paze {#home}
============================

Paze is an online checkout option, or *digital wallet*, that enables you to offer customers a fast and secure way to make purchases online. If you integrate Paze into your ecommerce page, you can process Paze transactions in the same manner as your standard card processing and you have access to the consumers enrolled in Paze.  
This guide describes how to submit transactions that originate from the Paze payment method to the `Visa Acceptance Solutions` system for authorization.

Two Paze Decryption Methods {#paze-intro-decryption}
====================================================

Integration hooks for two Paze decryption methods are built into the `Visa Acceptance Solutions` payment management platform. The two decryption methods---merchant decryption and `Visa Acceptance Solutions` decryption---handle Paze encrypted payment data differently. You will integrate the decryption method that best suits your technical development environment in terms of desired degree of exposure to, or control over, sensitive payment information.

> IMPORTANT The Paze decryption method that you integrate determines how you will format your API request messages when you authorize a payment.

Merchant decryption
:
For merchant decryption, you (the merchant or the integrator) are responsible for the generation of the payment encryption keys, decryption of the payment response payload from Paze, and mapping the information---including the Paze payment token---to the corresponding `Visa Acceptance Solutions` REST API fields for an authorization request. With merchant decryption, payment instrument details remain visible to you, and you control the technical development that decrypts this information.

`Visa Acceptance Solutions` decryption
:
For `Visa Acceptance Solutions` decryption, you integrate the Paze wallet directly on your checkout page. `Visa Acceptance Solutions` creates and manages the Paze decryption keys and extracts and decrypts the sensitive payment information on your behalf. Having `Visa Acceptance Solutions` process your Paze transactions reduces your PCI compliance burden. For information about the PCI Data Security Standard (DSS), see the [PCI Security Standards Council](https://www.pcisecuritystandards.org/standards/pci-dss/ "").
IMPORTANT The Paze decryption method that you integrate determines how you will format your API request messages when you authorize a payment.

Supported Payment Cards {#paze-intro-supported-cards-vas}
=========================================================

`Visa Acceptance Solutions` supports these cards with Paze on the `Visa Platform Connect` payment gateway, provided that the cards are enrolled in Paze with participating banks and credit unions:

* Mastercard
* Visa

Getting Started with Paze {#paze-gs}
====================================

This section covers information you need to know before you begin to integrate Paze into your system:

* Requirements for integrating Paze
* Steps for integrating Paze

Requirements for Integrating Paze Into Your System {#paze-gs-reqts-integrating}
===============================================================================

* **Client ID.** You have obtained a client ID from `Visa Acceptance Solutions`.
* **Acquirer.** You have an active contract with the acquirer.
* **Payment processor.** You are registered with a payment processor that connects with the acquirer.
* **Processor and acquirer relationship.** An acquirer might require you to use a payment processor that has an existing relationship with the acquirer.  
  For an overview of merchant financial institutions (acquirers), customer financial institutions (issuers), payment networks, and payment processors that work together to enable payment services, see the [Payments Developer Guide](https://developer.visaacceptance.com/docs/vas/en-us/payments/developer/ctv/rest/payments/payments-about-guide.md "").

Obtain the Merchant Client ID for the Paze Service {#paze-integ-cybs}
=====================================================================

1. Follow these steps to obtain the merchant's client ID for the Paze service:

2. In the left navigation panel, click the Payment Configuration icon.

3. Click Digital Payment Solutions. The Digital Payment Solutions page appears.

4. Click Configure next to the product name Paze. The Paze Configuration page appears.

   #### ADDITIONAL INFORMATION

   ![ebc-](/content/dam/new-documentation/documentation/en-us/topics/isv/platform/paze/images/dig-wall-acq-paze.png/jcr:content/renditions/original)

5. Enter the merchant's legal name and the merchant URL.

6. Select the checkbox to indicate that the organization's agreements with these terms: (i) the organization has an agreement in place governing its use of the Paze service; (ii) the organization will comply with Paze requirements and will implement the Paze transaction method as per Paze specifications; and (iii) the organization will comply with the Terms and Conditions that are linked in the Paze Configuration page.

7. Click Save. The merchant's client ID appears on the page. The client ID can be used to enable Paze.

   #### ADDITIONAL INFORMATION

![](/content/dam/new-documentation/documentation/en-us/topics/isv/platform/paze/images/dig-wall-acq-paze-client-id.png/jcr:content/renditions/original)

Merchant Decryption Requires Generation of a Key Pair {#merchant_decryption_requires_generation_of_key_pair}
============================================================================================================

IMPORTANT For merchant decryption only, you must generate a public/private key pair based on your merchant client ID.

Paze Response to a Complete API Call {#paze-complete-api-response}
==================================================================

After a customer finalizes a purchase using the Paze button on your checkout page, you invoke the Paze Complete JavaScript SDK API to initiate the transaction. Paze responds by sending an encrypted payment response payload in a JSON Web Encryption (JWE) data object. The payload contains the cryptograms, network tokens, electronic commerce indicators (ECI), and other payment instrument data required to complete the payment. The payment data is a Base64-encoded value contained in the response.completeResponse property.  
If you integrated the `Visa Acceptance Solutions` decryption method for Paze, `Visa Acceptance Solutions` decrypts the Base64-encoded data on your behalf.  
This code example shows a Paze response to a Complete API call:

```
{
  "request": {
    "transactionType": "PURCHASE",
    "enhancedTransactionData": {},
    "transactionOptions": {
      "billingPreference": "ALL",
      "merchantCategoryCode": "5940",
      "payloadTypeIndicator": "PAYMENT"
    },
    "transactionValue": {
      "transactionAmount": "100.95",
      "transactionCurrencyCode": "USD"
    },
    "sessionId": "f2559bc7-f8c2-4a02-a4a1-5a89ea44cd81"
  },
  "response": {
    "completeResponse": "eyJhdWQiOiJmaWxlOlwvXC8iLCJraWQiOiJkZTkxM2E3NS02OWI1LTRkZTQtYWJiOS03YmNmMTJiYjcxMDAiLCJpc3MiOiJodHRwczpcL1wvc2FuZGJveC5kaWdpdGFsd2FsbGV0LmVhcmx5d2FybmluZy5jb20iLCJ0eXAiOiJKV1QiLCJleHAiOjE2ODYxNzAwNzksImlhdCI6MTY4NTk5NzI3OSwiYWxnIjoiUlMyNTYiLCJqdGkiOiI1QzdCODRCQjRDMDBmMTdmZjM3YS1lODE5LTM0MDQtNGQwYi0xZmMzODdkYjlkMDIifQ.eyJwYXlsb2FkSWQiOiI1QzdCODRCQjRDMDBmMTdmZjM3YS1lODE5LTM0MDQtNGQwYi0xZmMzODdkYjlkMDIiLCJzZXNzaW9uSWQiOiJmMjU1OWJjNy1mOGMyLTRhMDItYTRhMS01YTg5ZWE0NGNkODEiLCJzZWN1cmVkUGF5bG9hZCI6ImV5SmhkV1FpT2lKbWFXeGxPbHd2WEM4aUxDSnJhV1FpT2lKamVXSnpMVzFwWkMxaUxUQXhJaXdpYVhOeklqb2lhSFIwY0hNNlhDOWNMM05oYm1SaWIzZ3VaR2xuYVhSaGJIZGhiR3hsZEM1bFlYSnNlWGRoY201cGJtY3VZMjl0SWl3aVkzUjVJam9pU2xkVUlpd2lkSGx3SWpvaVNsZFVJaXdpWlc1aklqb2lRVEkxTmtkRFRTSXNJbVY0Y0NJNk1UWTROakUzTURBM09Td2lhV0YwSWpveE5qZzFPVGszTWpjNUxDSmhiR2NpT2lKU1UwRXRUMEZGVUMweU5UWWlMQ0pxZEdraU9pSTFRemRDT0RSQ1FqUkRNREJtTVRkbVpqTTNZUzFsT0RFNUxUTTBNRFF0TkdRd1lpMHhabU16T0Rka1lqbGtNRElpZlEuTUF1YXp2MlpqQ2owYkZfVjVqZ25YVTd2ZE5UUVpuNW9NSC11eVhQY0N2ekFENkl1ZXZjOTEwdUxmM2ItdnNPMzZhQzdqanFaVGtJOTNMUG44akVGd1UwM0JBS05NUW9fV1IzTHhfbXVqYmNWR1k4bW96Q2Z3RWYzNmh2emZXWC1LSExSbkN5ZHR4eF9FOTZ2bjRYM1N2X1BYYVdJSlNsSWhjeVF5OUxlXzlXWVZFRnVHSDRBd3E3MGZNS29KdHQ3TVoxZWFGaWtCOE5BTFJYZUZuWi00eGM4NFl6VzhnV0pYMHhfZTNHc3doN0d5RV9WZDhuT2hrcFJTR0tSUkkwS1hwSk9xV1JURjRVcEVPX09zdmMyVmUxd3lOLWRzU0VnaUtQcUF5MzNzTzRSb0pKeDlxZ0U0eU5zdm50NDRJb0wycHFnWlZKeDZHdDBZWGhRcjYxMlFBLmNxY0xJcXRDMEpWekpLcWUuR1Etd1E1bUlyZmtLRWhGX2FYNkxIZzZnd2FuTlFRdmFWbFpQVGlneUQ2WjVjd2RZb1JyazczZ1FmdzduU21RQnRoNS04MUdLcnlMVmFDLURqeThqUk04WmE2MF9md25GdENla3NoVy03QmtOcllSZXFGNnJERWVlVEg3TnRHYnpnenVhRmNqbUNteUgyQlZFYjJ4RXRRV3BlTnlnTWNrQ0FKRmYxLXBwSUxJUkI5VjJCMDRvd3pNYXNjUHFsQ1VPR3I3U00wWGtBOWRtelRCQlAteU92RU9qUEhFbDhGOUlyY0QzM1ZtaGRMZzJMeXdFMmNLV053alcybTJMdlF1NWVwS0NiWi1WRVU3ME1xc1VhZ1ljY3hBZnFkRnh5N3MyWi0tQ25NbEVubjFhaUtUWUVyWGhGNk5LT1IwbjZ5eHhsUExsOWJ6ejZWX3NiRjZSazV1M3JnRDhDOVU3U1dPb2UyYmNleVlINlVVOEo4VzlrQy1peTJ3am4ySEdyTkVMQ0F0MmRlUTdxejI3NlVCeFF6V21TV0RyZmJ1S19fencxcEhjMkRFdlg5ZktDNmxJVUg2c2xWanBpU2N3MUFmNWlmSmhEMlFNZ2pjUmFfTmoxUHgyY09FcUxDX1NQTjJzWDM4VFRuYUcxMV9JZVk0b0p0bTlUS2diQ1EzSU9pdHlFYlFJcG9qSUlHMHBvVmtYeGxoWENKOURCWnpqSDNxanNTTTJROHdIdlEzcjU3WDdtLXd4anphTDVMdmZwNWRnVTQ4UndjX1YxZkFhZ3pxT1BobXNveldhbmQ4dmEyNHZoYlFiNXZxNHVFdXBLU0V6anQ3WlFLM2k2SS1lZExCWlhYT3VsOFk5cFo0MlM2elB5S3oyTFZ4Y3JxMnlXNDdOVnpMVmhZZjRmTWducjhUVkNzWUlHVzhhNDcyOEdVaktXMmM0Z0R1aDlxMC1MVXZja1pmR244bTJYREF0dmxUUkhSeG16c3ZrN1lOTG9nV053T0NpZ0RuckdCU3lqLU5UdXVxM3BGNWpIV1kyMTU5d2tNcHNVeFdGRkZRTnViZGZzSXBxdUpkLW81OHpWSkU4T2x0NmhBQ2gtV1huenpmOC1pY1BBMVozeklKVGd1bF9WekpxOUpDdzd5WmEteWIwQ2RIWEVMT0s5Q1dIOGlGRWh6d2hzTW9nRDEwQUZCUG5GYUY5bFZyWjJsc2pSWWF6dG5hbkRONERXd3J1dTR0d0pCSllCaFF1WDNHT0VHVkJmX1hqMjh3ME95aWJyRTdnOUQzZjI2TUdPb2t5bXlkRTA2NjVXc1IyMjlzbV9yeURpdzNnZGEzTUp4M2wyYjBWYmhraFRuSVdyLWhIU3ljTXRxV2lQVTJ3VzI5TXRtQlhPdENmMWZUMm13bFJYY2dmeFd3NnQyNlJSSnYtWkE1VTBvdWE1a1Z3bWlodTN2a1MwakhMY3dqUkZxeU5ESkp6OTlFdUFoaUU0UnR3MVBkZWU2cHA5TjJsXzRHSE9OMHdWVF9yZ0tvckd2US1UU3pYNGRUTjAyZjV2c3dTZmZMdTlqVWEzZEpab0J2MFl4UG4zOE1UYlA3MG1MeU8zZWdhWlo3ZjlvdWZuM0ZxdTlZR2dabjg1azBWUWRLTHZVU05tdGRGNmJEQmYwd0t5T3p3cUNNRmdISnAtNkJUSXpXZGR5TWJaUkdJQlJNVG44WXN2SXptZlNHT3UxWHpkZFhhbXZ3Z2ZwSkhHdUhqRDA4dmFMZkRvZTVTNklmRV9CZDVleXkyZUo4QnFWeEhrdlRJa0h1bEVIekNJVGx2bHdiUTl2b1BYczJUQXF4ZExoek43VElRTl9FRUpoUHg1OWdZZU1DY2FrMFJyZ253V01TZm5XY3VWZmI3NnNSVTZoa05xY0JUWHZBek10ZkxCQ2I0ajlHaG9vNE4zNURFbW5fNkZXdUVkT0Y5cTM3YVRCRjhpWEQ0RWZva19NODV3NjhFSG01eFNPZGhzTENSUHRobkI3VllScnJSTDVZOHhRUkVEcVpHMHR2TlVudl95UHZaQzItNzJUaWVPamplZXg3Y204a1dFeWpHR0RiQ25uTEl4YkR6VzBING00YmJrTENaVVAtVjdESVRBYk9qSEh4VWgwbmRxcC12bmFkZFc4X0FUcTVqaXBZalA0YkQ0OGlkeFN2WHlVQkpJNDktTFllZl9ZVmhnVzh1U2tjWjEtUWIybThaRlpCTEFXUmF2MjZuSkt3cjFEWUdrX2xVZVZwbGpOdl9LdXl1VVBFNVUyYllEdVNUTmtIVGVhNzZsaW1ocDRuYmx1QmwwTmUzblhGR1pucVU4M1NMRDdkSF9GYlR3UGoxZzF0YVg1bTIzazZlcTNhcEtXWEZ5VnpNZG9BbVZqQ2lYWnltTUxnbFlUMHpFVUNKanNLNzJGV1N3X3RNZ3NOa3p3Vm1KWVl0VVJPbUx5LXM0MmZxOTlULWRtVHFLMWJMRWJwYU9KTkZFVllXOHczVWlVd2FWdDhkM1R3azBfSTVqZ1lsNzNLeFJZZVhFdW9oN0d4ZFhXYXNhdkMxTVRPXzlwc0VNeVl4SllCWFJwcnBaeVBpZ2N6aGRic24wR2pDb09CQzhVWnoxOG5zemFWaHhOUG9XdldqeHJqdmhnd0lFMTFSY0ZIQl9PMnlGS0FwRXJPWFF4MkxMcklWNl9qS2drS2dJazUzRG1TdW9oaG1WaWdnYU5ORHIyNm93WjFQVDQ1aFVqLU9tVERqUDNZVXpfeEZ4QXV6cGY5M2E4SkVVei1zdGZ6ZUxRVVFQcHRTcVFKNHB2TFRlU2FGbWlPR2JWZzB2SGtIbHFmYmNNRDB2OTJneTVFck1oaTczZndWRjFjbDIxY0djNk5RckcyQTNxSzF2SWRsMzVoSkY5ZEYwR0JacUtKeG13OTJfQk90bHpyRUxQVHVlYXhZaEYtZUNOUHN4ZXdQUDZwZC5JcE5wQURnNndOM0VNZUJaODRxOWdnIn0.llG8pQGpvpgMsaUkIrxdkYB0vUbKYORnA_iQc25EldokHh5naJEGnQ2sX4NWZmuntbt12adLqsoJ6H8x98Q6DmGJ-_wWQBYm_0plU2fkV-VIe_gbOLY4ZyxMc01bf1qH8tZl-ICyALrleHmP73R-cFKijTGOmguob1TFBOEoojoKcVIMqwC46k6F1tIEQGR-cZSaPhMtiijv4Xs6XQlvwUYwCVGAJKe4jUWM43MSYG9R0R3tfLuK2fZiAORUBA"
  }
}
```

Depending on the Paze decryption method you integrated into your system, the payment bundle is decrypted and then used to make the authorization request to `Visa Acceptance Solutions`. `Visa Acceptance Solutions` then forwards the information to the payment network, which includes your processor and the relevant payment card company:

Merchant decryption
:
If you use the merchant decryption method, send the *decrypted payment details* to `Visa Acceptance Solutions` in the paymentInformation.tokenizedCard fields of the authorization request that you send to `Visa Acceptance Solutions`.
:
For detailed information, see [Processing Paze Transactions with Merchant Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-merch.md "").

`Visa Acceptance Solutions` decryption
:
If you integrated the `Visa Acceptance Solutions` decryption method, send the *encrypted payment object* to `Visa Acceptance Solutions` in the paymentInformation.fluidData.value field of the authorization request that you send to `Visa Acceptance Solutions`.
:
For detailed information, see [Processing Paze Transactions with Visa Acceptance Solutions Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-cybs.md "").

Processing Paze Transactions with Merchant Decryption {#paze-txns-auth-merch}
=============================================================================

When you use the merchant decryption method, you are responsible for creating and managing the Paze decryption keys, extracting and decrypting payment information from the Paze payload, and mapping the required information to the `Visa Acceptance Solutions` REST API fields for an authorization request.  
This section of the guide shows you how to authorize Paze transactions using merchant decryption:

* How to authorize a Mastercard payment on Paze with merchant decryption
* How to authorize a Visa payment on Paze with merchant decryption

Authorize a Mastercard Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-mc}
==========================================================================================

The topics in this section show you how to authorize a Mastercard payment on Paze using the merchant decryption method.

Basic Steps: Authorizing a Mastercard Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-mc-steps}
===============================================================================================================

1. Follow these steps to request a Paze payment authorization with merchant decryption for Mastercard:

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

   #### ADDITIONAL INFORMATION

   * Use the API fields listed in [Required Fields for Authorizing a Mastercard Payment on Paze with Merchant Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-merch/paze-txns-auth-merch-mc/paze-txns-auth-merch-mc-reqfields.md "").
   * Refer to the example in [REST Example: Authorize a Mastercard Payment on Paze with Merchant Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-merch/paze-txns-auth-merch-mc/paze-txns-auth-merch-mc-code.md "").
3. Send the message to one of these endpoints:

   #### ADDITIONAL INFORMATION

   * Production: `POST ``https://api.visaacceptance.com``/pts/v2/payments`
   * Test: `POST ``https://apitest.visaacceptance.com``/pts/v2/payments`
4. 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 "").

Required Fields for Authorizing a Mastercard Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-mc-reqfields}
==========================================================================================================================

As a best practice, include these REST API fields in your request for an authorization with the merchant decryption implementation of Paze for Mastercard.

> IMPORTANT
> 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
:

consumerAuthenticationInformation.ucafAuthenticationData
:
Set this field to the Token Secure cryptogram.

consumerAuthenticationInformation.ucafCollectionIndicator
:
Set this field to `2` for a Mastercard payment on Paze using merchant decryption.

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
:
Set this field to the network token cryptogram.

paymentInformation.tokenizedCard.expirationMonth
:
Set this field to the value from the payment network token expiration month.

paymentInformation.tokenizedCard.expirationYear
:
Set this field to the value from the payment network token expiration year.

paymentInformation.tokenizedCard.number
:
Set this field to the payment network token value.

paymentInformation.tokenizedCard.transactionType
:
Set this field to `1`.

paymentInformation.tokenizedCard.type
:
Set this field to `002` for Mastercard.

processingInformation.commerceIndicator
:
Set this field to `spa`.

processingInformation.paymentSolution
:
Set this field to `029` to specify the Paze payment solution.

REST Example: Authorize a Mastercard Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-mc-code}
=============================================================================================================

Request

```
{
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "processingInformation": {
    "paymentSolution": "029",
    "commerceIndicator": "spa"
  },
  "paymentInformation": {
    "tokenizedCard": {
      "number": "5432543254325432",
      "expirationMonth": "12",
      "expirationYear": "2031",
      "cryptogram": "ABCDEFabcdefABCDEFabcdef0987654321234567",
      "transactionType": "1",
      "type": "002"
    }
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": "100.00",
      "currency": "USD"
    },
    "billTo": {
      "firstName": "Maya",
      "lastName": "Lee",
      "address1": "123MainSt",
      "locality": "SomeCity",
      "administrativeArea": "CA",
      "postalCode": "94404",
      "country": "US",
      "email": "maya.lee@email.world"
    }
  },
  "consumerAuthenticationInformation": {
    "ucafAuthenticationData": "ABCDEFabcdefABCDEFabcdef0987654321234567",
    "ucafCollectionIndicator": "2"
  }
}
```

Response to a Successful Request

```
{
  "_links": {
    "authReversal": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/reversals"
    },
    "self": {
      "method": "GET",
      "href": "/pts/v2/payments/6234236182176225003004"
    },
    "capture": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/captures"
    }
  },
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "id": "6234236182176225003004",
  "orderInformation": {
    "amountDetails": {
      "authorizedAmount": "100.00",
      "currency": "USD"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "expirationYear": "2031",
      "prefix": "543254",
      "expirationMonth": "12",
      "suffix": "5432",
      "type": "002"
    },
    "card": {
      "type": "002"
    }
  },
  "pointOfSaleInformation": {
    "terminalId": "111111"
  },
  "processingInformation": {
    "paymentSolution": "029"
  },
  "processorInformation": {
    "approvalCode": "888888",
    "networkTransactionId": "123456789619999",
    "transactionId": "123456789619999",
    "responseCode": "100",
    "avs": {
      "code": "X",
      "codeRaw": "I1"
    }
  },
  "reconciliationId": "75729760OPN67ZFV",
  "status": "AUTHORIZED",
  "submitTimeUtc": "2021-06-11T15:00:18Z"
}
```

Authorize a Visa Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-visa}
======================================================================================

The topics in this section show you how to authorize a Visa payment on Paze using the merchant decryption method.

Basic Steps: Authorizing a Visa Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-visa-steps}
===========================================================================================================

1. Follow these steps to request a Paze payment authorization with merchant decryption for Visa:

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

   #### ADDITIONAL INFORMATION

   * Use the API fields listed in [Required Fields for Authorizing a Visa Payment on Paze with Merchant Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-merch/paze-txns-auth-merch-visa/paze-txns-auth-merch-visa-reqfields.md "").
   * Refer to the example in [REST Example: Authorize a Visa Payment on Paze with Merchant Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-merch/paze-txns-auth-merch-visa/paze-txns-auth-merch-visa-code.md "").
3. Send the message to one of these endpoints:

   #### ADDITIONAL INFORMATION

   * Production: `POST ``https://api.visaacceptance.com``/pts/v2/payments`
   * Test: `POST ``https://apitest.visaacceptance.com``/pts/v2/payments`
4. 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 "").

Required Fields for Authorizing a Visa Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-visa-reqfields}
======================================================================================================================

As a best practice, include these REST API fields in your request for an authorization with the merchant decryption implementation of Paze for Visa.

> IMPORTANT
> 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
:

consumerAuthenticationInformation.ecommerceIndicator
:
Set this field to `vbv`.

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
:
Set this field to the network token cryptogram.

paymentInformation.tokenizedCard.expirationMonth
:
Set this field to the value from the payment network token expiration month.

paymentInformation.tokenizedCard.expirationYear
:
Set this field to the value from the payment network token expiration year.

paymentInformation.tokenizedCard.number
:
Set this field to the payment network token value.

paymentInformation.tokenizedCard.transactionType
:
Set this field to `1`.

paymentInformation.tokenizedCard.type
:
Set this field to `001` for Visa.

processingInformation.commerceIndicator
:
The mandate to use 3-D Secure for Paze transactions varies by geographic location. For Visa card transactions, 3-D Secure is called *Visa Secure* .

    * If the transaction does not use 3-D Secure, set this field to the ECI value contained in the Paze response payload.
    * If the transaction uses 3-D Secure, set this field to `vbv`.

processingInformation.paymentSolution
:
Set this field to `029` to specify the Paze payment solution.

REST Example: Authorize a Visa Payment on Paze with Merchant Decryption {#paze-txns-auth-merch-visa-code}
=========================================================================================================

Request

```
{
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "processingInformation": {
    "paymentSolution": "029",
    "commerceIndicator": "vbv"
  },
  "paymentInformation": {
    "tokenizedCard": {
      "number": "4111111111111111",
      "expirationMonth": "12",
      "expirationYear": "2031",
      "cryptogram": "AceY+igABPs3jdwNaDg3MAACAAA=",
      "transactionType": "1",
      "type": "001"
    }
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": "100.00",
      "currency": "USD"
    },
    "billTo": {
      "firstName": "Maya",
      "lastName": "Lee",
      "address1": "123 Main St",
      "locality": "SomeCity",
      "administrativeArea": "CA",
      "postalCode": "94404",
      "country": "US",
      "email": "maya.lee@email.world"
    }
  },
  "consumerAuthenticationInformation": {
    "cavv": "AceY+igABPs3jdwNaDg3MAACAAA="
  }
}
```

Response to a Successful Request

```
{
  "_links": {
    "authReversal": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/reversals"
    },
    "self": {
      "method": "GET",
      "href": "/pts/v2/payments/6234236182176225003004"
    },
    "capture": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/captures"
    }
  },
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "id": "6234236182176225003004",
  "orderInformation": {
    "amountDetails": {
      "authorizedAmount": "100.00",
      "currency": "USD"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "expirationYear": "2031",
      "prefix": "411111",
      "expirationMonth": "12",
      "suffix": "1111",
      "type": "029"
    },
    "card": {
      "type": "029"
    }
  },
  "pointOfSaleInformation": {
    "terminalId": "111111"
  },
  "processingInformation": {
    "paymentSolution": "029"
  },
  "processorInformation": {
    "approvalCode": "888888",
    "networkTransactionId": "123456789619999",
    "transactionId": "123456789619999",
    "responseCode": "100",
    "avs": {
      "code": "X",
      "codeRaw": "I1"
    }
  },
  "reconciliationId": "75729760OPN67ZFV",
  "status": "AUTHORIZED",
  "submitTimeUtc": "2021-06-11T15:00:18Z"
}
```

Processing Paze Transactions with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs}
===============================================================================================

When you use the `Visa Acceptance Solutions` decryption method, `Visa Acceptance Solutions` creates and manages the Paze decryption keys and decrypts and extracts payment information from the Paze payload on behalf of the merchant. You are responsible for mapping the required information to the `Visa Acceptance Solutions` REST API fields for an authorization request.  
This section of the guide shows you how to process Paze transactions using the `Visa Acceptance Solutions` decryption method:

* How to authorize a Mastercard payment on Paze with `Visa Acceptance Solutions` decryption
* How to authorize a Visa payment on Paze with `Visa Acceptance Solutions` decryption

Authorize a Mastercard Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-mc}
============================================================================================================

The topics in this section show you how to authorize a Mastercard payment on Paze using the `Visa Acceptance Solutions` decryption method.

Basic Steps: Authorizing a Mastercard Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-mc-steps}
=================================================================================================================================

1. Follow these steps to request a Paze payment authorization with `Visa Acceptance Solutions` decryption for Mastercard:

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

   #### ADDITIONAL INFORMATION

   * Use the API fields listed in [Required Fields for Authorizing a Mastercard Payment on Paze with Visa Acceptance Solutions Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-cybs/paze-txns-auth-cybs-mc/paze-txns-auth-cybs-mc-reqfields.md "").
   * Refer to the example in [REST Example: Authorize a Mastercard Payment on Paze with Visa Acceptance Solutions Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-cybs/paze-txns-auth-cybs-mc/paze-txns-auth-cybs-mc-code.md "").
3. Send the message to one of these endpoints:

   #### ADDITIONAL INFORMATION

   * Production: `POST ``https://api.visaacceptance.com``/pts/v2/payments`
   * Test: `POST ``https://apitest.visaacceptance.com``/pts/v2/payments`
4. 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 "").

Required Fields for Authorizing a Mastercard Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-mc-reqfields}
============================================================================================================================================

As a best practice, include these REST API fields in your request for an authorization with the `Visa Acceptance Solutions` decryption implementation of Paze for Mastercard.

> IMPORTANT
> 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.value
:
Set this field to the Base64-encoded value returned in the Paze payload in the completeResponse property of the complete payment response object.

paymentInformation.tokenizedCard.transactionType
:
Set this field to `1`.

paymentrInformation.tokenizedCard.type
:
Set this field to `002` for Mastercard.

processingInformation.paymentSolution
:
Set this field to `029` to identify Paze as the digital payment solution.

REST Example: Authorize a Mastercard Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-mc-code}
===============================================================================================================================

Request

```
{
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "processingInformation": {
    "paymentSolution": "029"
  },
  "paymentInformation": {
    "fluidData": {
      "value": "eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9"
    },
    "tokenizedCard": {
      "type": "002",
      "transactionType": "1"
    }
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": "100.00",
      "currency": "USD"
    },
    "billTo": {
      "firstName": "Maya",
      "lastName": "Lee",
      "address1": "123 Main St",
      "locality": "SomeCity",
      "administrativeArea": "CA",
      "postalCode": "94404",
      "country": "US",
      "email": "maya.lee@email.world"
    }
  }
}
```

Response to a Successful Request

```
{
  "_links": {
    "authReversal": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/reversals"
    },
    "self": {
      "method": "GET",
      "href": "/pts/v2/payments/6234236182176225003004"
    },
    "capture": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/captures"
    }
  },
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "id": "6234236182176225003004",
  "orderInformation": {
    "amountDetails": {
      "authorizedAmount": "100.00",
      "currency": "USD"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "expirationYear": "2031",
      "prefix": "128945",
      "expirationMonth": "12",
      "suffix": "2398",
      "type": "002"
    },
    "card": {
      "type": "002"
    }
  },
  "pointOfSaleInformation": {
    "terminalId": "111111"
  },
  "processingInformation": {
    "paymentSolution": "029"
  },
  "processorInformation": {
    "approvalCode": "888888",
    "networkTransactionId": "123456789619999",
    "transactionId": "123456789619999",
    "responseCode": "100",
    "avs": {
      "code": "X",
      "codeRaw": "I1"
    }
  },
  "reconciliationId": "75729760OPN67ZFV",
  "status": "AUTHORIZED",
  "submitTimeUtc": "2021-06-11T15:00:18Z"
}
```

Authorize a Visa Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-visa}
========================================================================================================

The topics in this section show you how to authorize a Visa payment on Paze using the `Visa Acceptance Solutions` decryption method.

Basic Steps: Authorizing a Visa Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-visa-steps}
=============================================================================================================================

1. Follow these steps to request a Paze payment authorization with `Visa Acceptance Solutions` decryption for Visa:

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

   #### ADDITIONAL INFORMATION

   * Use the API fields listed in [Required Fields for Authorizing a Visa Payment on Paze with Visa Acceptance Solutions Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-cybs/paze-txns-auth-cybs-visa/paze-txns-auth-cybs-visa-reqfields.md "").
   * Refer to the example in [REST Example: Authorize a Visa Payment on Paze with Visa Acceptance Solutions Decryption](/docs/vas/en-us/paze/integration/all/rest/paze/paze-txns-auth-cybs/paze-txns-auth-cybs-visa/paze-txns-auth-cybs-visa-code.md "").
3. Send the message to one of these endpoints:

   #### ADDITIONAL INFORMATION

   * Production: `POST ``https://api.visaacceptance.com``/pts/v2/payments`
   * Test: `POST ``https://apitest.visaacceptance.com``/pts/v2/payments`
4. 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 "").

Required Fields for Authorizing a Visa Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-visa-reqfields}
========================================================================================================================================

As a best practice, include these REST API fields in your request for an authorization with the `Visa Acceptance Solutions` decryption implementation of Paze for Visa.

> IMPORTANT
> 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.value
:
Set this field to the Base64-encoded value returned in the Paze payload in the completeResponse property of the complete payment response object.

paymentInformation.tokenizedCard.transactionType
:
Set this field to `1`.

paymentrInformation.tokenizedCard.type
:
Set this field to `001` for Visa.

processingInformation.paymentSolution
:
Set this field to `029` to identify Paze as the digital payment solution.

REST Example: Authorize a Visa Payment on Paze with `Visa Acceptance Solutions` Decryption {#paze-txns-auth-cybs-visa-code}
===========================================================================================================================

Request

```
{
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "processingInformation": {
    "paymentSolution": "001"
  },
  "paymentInformation": {
    "fluidData": {
      "value": "eyJkYXRhW5FINWZqVjfkak1NdVNSaE96dWF2ZGVyb2c9PSJ9"
    },
    "tokenizedCard": {
      "type": "001",
      "transactionType": "1"
    }
  },
  "orderInformation": {
    "amountDetails": {
      "totalAmount": "100.00",
      "currency": "USD"
    },
    "billTo": {
      "firstName": "Maya",
      "lastName": "Lee",
      "address1": "123 Main St",
      "locality": "SomeCity",
      "administrativeArea": "CA",
      "postalCode": "94404",
      "country": "US",
      "email": "maya.lee@email.world"
    }
  }
}
```

Response to a Successful Request

```
{
  "_links": {
    "authReversal": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/reversals"
    },
    "self": {
      "method": "GET",
      "href": "/pts/v2/payments/6234236182176225003004"
    },
    "capture": {
      "method": "POST",
      "href": "/pts/v2/payments/6234236182176225003004/captures"
    }
  },
  "clientReferenceInformation": {
    "code": "1234567890"
  },
  "id": "6234236182176225003004",
  "orderInformation": {
    "amountDetails": {
      "authorizedAmount": "100.00",
      "currency": "USD"
    }
  },
  "paymentInformation": {
    "tokenizedCard": {
      "expirationYear": "2031",
      "prefix": "411111",
      "expirationMonth": "12",
      "suffix": "1111",
      "type": "029"
    },
    "card": {
      "type": "029"
    }
  },
  "pointOfSaleInformation": {
    "terminalId": "111111"
  },
  "processingInformation": {
    "paymentSolution": "001"
  },
  "processorInformation": {
    "approvalCode": "888888",
    "networkTransactionId": "123456789619999",
    "transactionId": "123456789619999",
    "responseCode": "100",
    "avs": {
      "code": "X",
      "codeRaw": "I1"
    }
  }
}
```

VISA Platform Connect: Specifications and Conditions for Resellers/Partners {#vpc-partner-reseller-disclaimer}
==============================================================================================================

The following are specifications and conditions that apply to a Reseller/Partner enabling its merchants through Visa Acceptance platform. Failure to meet any of the specifications and conditions below is subject to the liability provisions and indemnification obligations under Reseller/Partner's contract with Visa/Cybersource.

1. Before boarding merchants for payment processing on a VPC acquirer's connection, Reseller/Partner and the VPC acquirer must have a contract or other legal agreement that permits Reseller/Partner to enable its merchants to process payments with the acquirer through the dedicated VPC connection and/or traditional connection with such VPC acquirer.
2. Reseller/Partner is responsible for boarding and enabling its merchants in accordance with the terms of the contract or other legal agreement with the relevant VPC acquirer.
3. Reseller/Partner acknowledges and agrees that all considerations and fees associated with chargebacks, interchange downgrades, settlement issues, funding delays, and other processing related activities are strictly between Reseller and the relevant VPC acquirer.
4. Reseller/Partner acknowledges and agrees that the relevant VPC acquirer is responsible for payment processing issues, including but not limited to, transaction declines by network/issuer, decline rates, and interchange qualification, as may be agreed to or outlined in the contract or other legal agreement between Reseller/Partner and such VPC acquirer.

DISCLAIMER: NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR ANY ERRORS OR OMISSIONS BY THE Visa Platform Connect ACQUIRER IN PROCESSING TRANSACTIONS. NEITHER VISA NOR CYBERSOURCE WILL BE RESPONSIBLE OR LIABLE FOR RESELLER/PARTNER BOARDING MERCHANTS OR ENABLING MERCHANT PROCESSING IN VIOLATION OF THE TERMS AND CONDITIONS IMPOSED BY THE RELEVANT Visa Platform Connect ACQUIRER.
