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

26.09.01
--------

PrestaShop
:
Updated the PrestaShop plugin. See [PrestaShop](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/prestashop-introduction.md "").

OpenCart
:
Updated the OpenCart plugin. See [OpenCart](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-intro.md "").

Oracle NetSuite
:
Updated the Oracle NetSuite SuiteApp. See [Oracle NetSuite](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro.md "").
{#isv-doc-revisions_dl_2609}

26.07.01
--------

Adobe Commerce
:
Updated the Adobe Commerce plugin. See [Adobe Commerce REST API](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro.md "").

PrestaShop
:
Updated the PrestaShop plugin. See [PrestaShop](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/prestashop-introduction.md "").

OpenCart
:
Updated the OpenCart plugin. See [OpenCart](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-intro.md "").

Oracle NetSuite
:
Added a module for Oracle NetSuite to this guide. See [Oracle NetSuite](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro.md "").

Salesforce B2C Commerce REST
:
Updated the Salesforce B2C Commerce REST plugin. See [Salesforce B2C Commerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction.md "").

WooCommerce
:
Updated the WooCommerce plugin. See [WooCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction.md "").
{#isv-doc-revisions_dc}

26.02.02
--------

New Adobe Commerce Open Source Plugin
:
A new Adobe Commerce Open Source plugin was added to augment the existing Adobe Commerce Cloud plugin. See [Adobe Commerce REST API](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro.md "").

GitHub link
:
Added a link to ISV Toolkits available at GitHub. See [About the Integrated Solutions](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/plugins_overview.md "").

Adobe Commerce Cloud
:
Updated the section on configuring web services to refer to a change in the procedure where SOAP p12 certificates are uploaded to a section now called Simple Order P12 Key File. See [Configure WebService](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-config-gen-settings/adobe-commerce-m-conf-webserv.md "").
:
Updated the section on creating a SOAP security key to refer to the SOAP P12 certificate. See [Configure Security Credentials](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-sec-cred-intro.md "").

PrestaShop
:
Revised the PrestaShop section. See [PrestaShop](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/prestashop-introduction.md "").

Shopify
:
Added note to the configuring section to ensure that the Test mode is used when testing. See [Configure the Shopify Extension](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview/shopify-configuring.md "").
:
The testing section was revised to describe how to install and use a new test app. For more information, see [Reference Information](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview/shopify-reference.md "").

WooCommerce
:
Updated the WooCommerce plugin. For more information, see [WooCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction.md "").

25.12.01
--------

Oracle NetSuite
:
Removed Oracle NetSuite module from guide.
{#isv-doc-revisions_dl_akc}

25.10.01
--------

Shopify
:
Added note that when using the test server, ensure that the Test Mode option is enabled. See [Configuring Shopify](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview/shopify-configuring.md "").

WooCommerce
:
Added note to the troubleshooting section to check with support services for configuration guidance when your account is managed by a merchant services provider. See [Support and Troubleshooting](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction/wc-support-troubleshooting.md "").
{#isv-doc-revisions_dl_a44_k}

25.09.02
--------

PrestaShop
:
This revision contains only editorial changes and no technical updates.

Shopify
:
The app now supports Shopify subscriptions.
:
Clarified that during installation, you use the transacting merchant ID as your credentials. See [Installing the Live App](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview/shopify-install.md "").
{#isv-doc-revisions_dl_a44_kc}

25.09.01
--------

This revision contains only editorial changes and no technical updates.

25.08.01
--------

WooCommerce
:
Updated all information in this section. See [WooCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction.md "").
{#isv-doc-revisions_dl_a44_kjf_hgc}

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 Cybersource for Visa Platform Connect ("VPC") processing. 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.

About the Integrated Solutions {#plugins_overview}
==================================================

Overview of the integrated solutions available for connecting third-party e-commerce platforms to the `Cybersource` platform.  
`Cybersource` offers integrated solutions to enhance payment acceptance, fraud management, recurring billing, reconciliation, and reporting processes. Our integrated solutions provide use cases for product managers, developers, and business professionals. Reduce your operational costs through streamlined payment integrations and improve customer satisfaction through flexible and secure payment options. Our solutions can easily scale to your growing business needs, help increase sales and conversion rates, and provide a clear value proposition to distinguish your business from competitors.  
The solutions detailed in this document are:

* [Adobe Commerce REST API](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro.md "")

* [Adobe Commerce Cloud](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview.md "")

* [BigCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-them/bigcommerce-overview.md "")

* [OpenCart](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-intro.md "")

* [PrestaShop](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/prestashop-introduction.md "")

* [Shopify](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview.md "")

* [Salesforce B2C](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction.md "")

* [WooCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction.md "")  
  For information on how to become a partner, see the [Partner Getting Started guide](https://developer.cybersource.com/docs/cybs/en-us/isv-plugins/get-started/all/na/isv-getting-started/isv-partner-starter-intro.md "").  
  See these additional resources for more information about the ISV Plugins documented in this guide:

* [Adobe Commerce `Cybersource` Payment Platform](https://commercemarketplace.adobe.com/cybersource-global-payment-management.md#description "")

* [`Connecting with ``Cybersource`](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US "")

* [Getting Started with OpenCart](https://docs.opencart.com/ "")

* [PrestaShop](https://addons.prestashop.com/en/other-payment-methods/49944-cybersource-official.md "")  
  Toolkits for integrating our ISV plug-ins are available at our repositories on [GitHub](https://github.com/Cybersource "").

Built by Us {#isv-built-by-us}
==============================

Welcome to our suite of integrated solutions. These solutions improve operational efficiency, enhance security, and provide comprehensive reporting and invoicing. Reduce the risk of errors, protect against fraudulent transactions, and ensure accurate financial records through streamlined reconciliation processes. Our solutions are ideal for various industries including financial services, healthcare, manufacturing, and distribution. For example, in healthcare, our solutions can manage payment operations efficiently, ensuring secure and accurate processing of payments for services rendered, and support timely invoicing actions.  
These guides are created by `Cybersource`:

* [Adobe Commerce REST API](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro.md "")
* [Adobe Commerce Cloud](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview.md "")
* [OpenCart](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-intro.md "")
* [PrestaShop](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/prestashop-introduction.md "")
* [Shopify](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/shopify-overview.md "")
* [WooCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/wc-introduction.md "")

Adobe Commerce REST API {#adobe-commerce-25-2-0-intro}
======================================================

The Visa Acceptance Solutions extension for `Adobe Commerce`/Magento Open Source enables merchants to connect their `Adobe Commerce`/Magento Open Source store to the Visa Acceptance Platform to directly take credit and debit cards, Apple Pay, Google Pay, and Click to Pay payments.  
For simplicity in this document, any reference to `Adobe Commerce` will apply for Magento Open Source also, unless otherwise stated.

Supported Features {#adobe-commerce-25-2-0-supported-features}
==============================================================

The Visa Acceptance Solutions extension supports various payment methods and security features.

Payment Methods
---------------

* Credit/debit cards
* Apple Pay
* Google Pay
* Click to Pay

Security Features
-----------------

* `Payer Authentication` / `3-D Secure`
* Tokenization

Supported Versions {#adobe-commerce-25-2-0-supported-versions}
==============================================================

The `Adobe Commerce` extension has these system requirements:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Unsupported `Adobe Commerce` Features {#adobe-commerce-25-2-0-unsupported-features}
===================================================================================

These features are not supported by this extension:

* Order void
* Multi-shipping
* Multiple node implementation
* Google reCAPTCHA

Visa Acceptance Solutions Prerequisites {#adobe-commerce-25-2-0-prerequisites}
==============================================================================

Mandatory Prerequisites
-----------------------

This Visa Acceptance Solutions product must be configured for your Merchant ID:

* `Unified Checkout`

You also must have a REST Shared Secret Key. See the [Getting Started with REST Developer guide](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro/restgs-security-key-pair-task.md "") for information on how to get a REST Shared Secret Key.

Optional Prerequisites
----------------------

These Visa Acceptance Solutions products are optional. If you want these products you must enable and configure your Merchant ID with them.

* `Payer Authentication` for `3-D Secure`
* Tokenization
* Apple Pay
* Google Pay
* Click to Pay

You can also enable Message-Level Encryption (MLE) for additional security. A [REST Certificate](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-security-p12-intro.md "") is required for MLE.

Release Notes {#adobe-commerce-25-2-0-release-notes}
====================================================

Version history and changes for the Visa Acceptance Solutions extension for `Adobe Commerce`.

Version 25.2.0 January 2026
---------------------------

These enhancements were added with this release:

* Request Message Level Encryption
* API endpoint updates
* Support for Jaywan card
* Implemented Sub Resource Integrity (SRI)
* Updated `Unified Checkout` to version 0.33

These bugs were addressed in this release:

* Corrected the country field source in the `Unified Checkout` capture context.
* CSP violation

This release is compatible with:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Version 25.1.0 May 2025
-----------------------

Initial release that supports:

* `Unified Checkout`
* Apple Pay
* Google Pay
* Click to Pay
* `TMS`
* `Payer Authentication`

This release is compatible with:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Installation {#adobe-commerce-25-2-0-installation}
==================================================

Follow these steps to install the Visa Acceptance Solutions extension for `Adobe Commerce`. Before starting the installation, ensure you have `Adobe Commerce` authentication keys and that they are set correctly in your environment. See Authentication Keys for details.  
Go to the `Adobe Commerce` Marketplace and get the free extension.  
Choose the appropriate installation method based on your environment:

* `Adobe Commerce Cloud`: For cloud-based installations, go to the [Adobe Commerce Cloud](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-25-2-0-intro/adobe-commerce-25-2-0-installation/adobe-commerce-25-2-0-install-cloud.md "").
* `Adobe Commerce` On-Premise / Magento Open Source: For self-hosted installations, go to [Adobe Commerce On-Premise](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-25-2-0-intro/adobe-commerce-25-2-0-installation/adobe-commerce-25-2-0-install-onpremise.md "").

`Adobe Commerce Cloud` {#adobe-commerce-25-2-0-install-cloud}
=============================================================

Follow these steps to install in `Adobe Commerce Cloud` environments.

1. Run this command in your local Cloud project directory:

   ```
   composer require Cybersource/module-payment:25.2.0
   ```
2. After Composer finishes, commit the updated files using these commands:

   ```
   git add composer.json composer.lock
   git commit -m "Add Cybersource Payment module"
   git push
   ```
3. Enable the module with this command:

   ```
   php bin/magento app:config:dump
   ```
4. After enabling the module, commit the updated configuration file with these commands:

   ```
   git add app/etc/config.php
   git commit -m "Enable Cybersource&gt; Payment module"
   git push
   ```

`Adobe Commerce` On-Premise / Magento Open Source {#adobe-commerce-25-2-0-install-onpremise}
============================================================================================

To install the module using Composer, run these commands in your `Adobe Commerce` On-Premise and Magento Open Source environments.

```
php bin/magento module:enable Cybersource_Payment
php bin/magento setup:di:compile
php bin/magento indexer:reindex
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy -f
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento module:status
```

Configuration {#adobe-commerce-25-2-0-configuration}
====================================================

To configure the Visa Acceptance Solutions extension, go to Stores \&gt; Configuration \&gt; Sales \&gt; Payment Methods \&gt; Visa Acceptance. Configure these fields:  
Configure General settings:

* Environment:

  * Test: Choose for testing of your `Cybersource` test account.
  * Production: Choose for live transactions.
* Merchant ID: Enter the transacting Merchant ID (MID) assigned to you by Visa Acceptance Solutions.

* API Key: Enter the Key from your REST API Shared Secret Key.

* API Shared Secret Key: Enter the Shared Secret from your REST API Shared Secret Key.

* Accepted Card Types: Choose the card brands you want to accept.  
  Configure Debug Mode:

* Yes: Compiles detailed logs for every transaction. This option is only recommended for the Test Environment or when troubleshooting issues in Production.

* No: Only basic logging occurs.  
  Configure Message Level Encryption:  
  Enabled

* Yes: Encrypts the full request message using JSON Web Tokens before being transmitted to the Visa Acceptance Platform.

* No: Uses the HTTP Signature.

JSON Web Tokens use a digital certificate to prove who you are, while HTTP Signature uses a shared secret key to confirm the message is genuine. Both methods are PCI compliant.

* Certificate File: Upload the p12 certificate for your `Cybersource` Merchant ID.
* Key Password: Enter the password that was used when you created your p12 certificate.

Configure Secure Payment Methods:

* Enable: Choose `Yes` to enable the extension.
* Title: Enter the label your customers see on the checkout page.
* Payment Action: Choose one of these options:
  * Authorize and Capture: Captures the transaction automatically when the authorization is approved.
  * Authorize only: Sends an authorization request and if approved, you must manually request a capture.
* Payment Card Types: Choose the card brands you want to offer to your customers.
* Allowed Payment Methods: Choose the payment methods you want to offer to your customers. These payment card types must be enabled for your MID in the `Business Center`. See here for details.
* Select Layout:
  * Embedded: The payment widget appears inline on the checkout page.
  * Sidebar: The payment widget appears on the right side on the checkout page.
* Payment from Applicable Countries:
  * All Allowed: Uses the `Adobe Commerce` global settings to determine which countries are available.
  * Specific Countries: Specify which countries you want to accept payments from.
* `Payer Authentication`/`3-D Secure`: Choose `Yes` to enable `3-D Secure`.
* Tokenization: Choose `Yes` to enable your customers to save their payment cards for future purchases.
* Tokenization Title: Enter the label you want your customers to see when they pay with a saved card.
* Saved Card Verification: Choose `Yes` to request that your customer enter their card security code when paying with a saved card.
* Enforce Strong Customer Authentication: Choose `Yes` to enforce a `3-D Secure` challenge when a customer saves their card for the first time.

Order Management {#adobe-commerce-25-2-0-order-management}
==========================================================

The Visa Acceptance Solutions extension provides comprehensive order management capabilities for handling transactions after they are processed. This includes capturing authorized payments and processing refunds when necessary.  
The order management features enable you to:

* Capture authorized transactions to collect funds.
* Process full or partial refunds for completed transactions.
* Manage the payment lifecycle from authorization to settlement.

Capture {#adobe-commerce-25-2-0-capture}
========================================

When you have the Payment Action set to `Authorization`, you must capture the transaction to collect the funds.

1. Enter an order from the list of orders.
2. Click Invoice.
3. Check the item(s) that require capturing.
4. Ensure the drop-down capture option is set to Capture Online.
5. Click Submit Invoice.

Refund {#adobe-commerce-25-2-0-refund}
======================================

To refund an order:

1. From the list of orders, choose the order you want.
2. Click on Invoices.
3. Select the appropriate invoice.
4. Click the Credit Memo button.
5. Check the item(s) to be refunded.
6. Verify and if necessary update the Refund Totals.
7. Click Refund.

Support \& Troubleshooting {#adobe-commerce-25-2-0-support}
===========================================================

Get support for the Visa Acceptance Solutions extension by providing detailed information about your issue.  
If you require support with this extension, sign into the Support Center to raise a case, providing these details:

* Summary of the issue
* Steps needed to reproduce the issue
* Platform version
* Extension version
* `Cybersource` Merchant ID
* Configuration screenshots
* List of themes/additional extensions installed
* Log file and any other data or screenshots related to the issue

Upgrade {#adobe-commerce-25-2-0-upgrade}
========================================

To upgrade from an earlier version of our `Adobe Commerce` extension, run these composer commands

1. Update the extension to the latest version:

   ```keyword
   composer require Cybersource/module-payment:25.2.0
   ```
2. Run the setup upgrade command:

   ```
   bin/magento setup:upgrade --keep-generated
   ```
3. Deploy static content:

   ```
   bin/magento setup:static-content:deploy
   ```
4. Clean the cache:

   ```
   bin/magento cache:clean
   ```

`Adobe Commerce` {#adobe-commerce-m-overview}
=============================================

You can integrate `Cybersource` with the `Adobe Commerce` platform to process payments using Magento checkout. The `Adobe Commerce` extension supports popular payment methods, safeguards payment data, minimizes fraud, and mitigates risks. This section describes the payment management capabilities offered by `Cybersource` through the `Adobe Commerce` integration.  
This guide also applies to installing this extension in a Magento Open Source environment.

Fraud Management
----------------

Fraud Management prevents fraud losses and gives you the flexibility to control business practices and policies in real time. Fraud Management can help you accurately identify and review potentially risky transactions while minimizing the rejection of valid orders. Fraud Management comprises these capabilities:

* Real-time fraud screening performed only during authorization
* Device fingerprinting
* On-demand Conversion Detail Report for changes in order status

Account Takeover Protection
---------------------------

Account Takeover Protection defends customers and merchants from fraudulent use of online accounts. It monitors suspicious account changes and helps identify high risk users at account creation and login. These capabilities comprise Account Takeover Protection:

* Real-time event screening of account creation, login, and changes
* Device fingerprinting

Payer Authentication
--------------------

Payer Authentication enables you to add support to your web store for card authentication services offered by Visa, Mastercard, and other card brands. These programs verify the cardholder's identity directly with the card-issuing bank in real time to increase payment security and reduce the risk of fraud. However, Payer Authentication is not a fraud management service, and `Cybersource` recommends that you configure a comprehensive fraud management program such as Decision Manager in addition to Payer Authentication services. These services comprise Payer Authentication:

* Verified by Visa
* Mastercard Identity Check
* American Express SafeKey
* Discover ProtectBuy
* JCB
* Diners
* Maestro International

To comply with the recent mandates for French local processors that support Payer Authentication, CMCIC, Atos and BNP processors no longer support these combinations.

PayPal
------

The `Adobe Commerce Cloud` integration includes the PayPal payment method. Processing your PayPal transactions through `Cybersource` enables you to consolidate all payment types under a single gateway account, simplify integration efforts, screen PayPal transactions for fraud with Decision Manager, and streamline reporting. These services comprise PayPal:

* Sessions
* Check Status
* Order
* Authorization
* Authorization Reversal
* Capture
* Sale
* Refund
* PayPal Credit
* Billing Agreements

PayPal Credit
-------------

PayPal Credit is a payment method that allows merchants to accept a PayPal transaction when the customer chooses to finance their purchase through PayPal.

Electronic Check (`eCheck` Service)
-----------------------------------

The `eCheck` Service is a form of digital payment that serves the same function as a physical check. When a merchant accepts an electronic check payment, the funds are pulled directly from the customer's checking or savings account. The `eCheck` service includes both debit and credit services.  
`eCheck` Service process refunds with the credit payment service.

Online Bank Transfers
---------------------

Online banking services enable customers to pay for goods by sending money from their bank account to the merchant.  
The `Adobe Commerce Cloud` extension supports the following payment methods and corresponding online bank transfer services:

* Bancontact
  * Sale
  * Check Status
  * Refund
  * Country: Belgium
    {#adobe-commerce-m-overview_ul_elt_h5m_5bc}


* iDEAL
  * Options
  * Sale
  * Check Status
  * Refund
  * Country: Netherlands
    {#adobe-commerce-m-overview_ul_i5q_4ym_5bc}

Tax Calculation
---------------

The Tax Calculation service provides real-time tax calculation during order checkout for orders placed worldwide with your business.

Delivery Address Verification
-----------------------------

The Delivery Address Verification service verifies the entered address and suggests the recommended address for city, state, and zip code combinations in real time.  
If this feature is enabled in the `Adobe Commerce Cloud` console, the `Adobe Commerce Cloud` extension verifies the delivery address on shipping information updated by the user.

Klarna
------

Klarna credit provides a seamless user experience for online customer financing to merchants of all sizes, which helps in increasing customer choice, loyalty and growth in sales.

Google Pay
----------

Google Pay is a digital wallet that enables customers to pay with any payment method saved to their Google account.

Release Notes {#adobe-commerce-m-release-info}
==============================================

This section provides information about functionality, bug fixes, and enhancements for the `Adobe Commerce Cloud` `Cybersource` integration.

January 2026
------------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.11 is compatible with `Adobe Commerce Cloud`: 2.4.8-p3, 2.4.8-p2, 2.4.8-p1, 2.4.8, 2.4.7-p8, 2.4.6-p13 and PHP 8.4, 8.3, 8.2
:
* Implemented Request Message Level Encryption
* Implemented Google Pay Payer Authentication
* Fixed Anonymous Script Load Error (Integrity and Cross Origin)
* Updated authenticationStatus flag for Payer Authentication in Google Pay
{#adobe-commerce-m-release-info_ul_fsh_skg_lhc}

August 2025 {#adobe-commerce-m-release-info_section_c5h_4kg_lhc}
----------------------------------------------------------------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.10 is compatible with `Adobe Commerce Cloud`: 2.4.8-p1, 2.4.8, 2.4.7-p6, 2.4.6-p11,2.4.5-p13 and PHP 8.4, 8.3, 8.2, 8.1
:
* Extended support for `Adobe Commerce Cloud` v2.4.8.
* Changed path for certificate folder from root to var directory.
* Updated the certificate folder name to certificates.

April 2025 {#adobe-commerce-m-release-info_section_jl3_tjg_lhc}
---------------------------------------------------------------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.9 is compatible with `Adobe Commerce Cloud`: 2.4.7-p4, 2.4.7-p3, 2.4.7-p2, 2.4.7-p1, 2.4.7, 2.4.6-p9, 2.4.5-p11 and PHP 8.3, 8.2, 8.1
:
* Upgraded Microform to v2.
* Implemented SOAP p12 Authentication.
* Removed legacy Click to Pay payment module.
* Fixed issue of declined cases and SCA transactions on the Firefox browser.
{#adobe-commerce-m-release-info_ul_btl_kkg_lhc}

June 2024
---------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.8 is compatible with `Adobe Commerce Cloud`: 2.4.6 p3, 2.4.6 p2, 2.4.6 p1, 2.4.6, 2.4.5 p5, 2.4.4 p6 and PHP 8.2, 8.1
:
* Fixed Logger and CSP issue for Magento v2.4.7.
* PHP support added for v8.3.
* Removed unused class in Apple Pay.
* Added required field for Merchant ID in Back Store.
* Fixed issue for admin order redirecting to blank page.
* Made Payer Authentication common for both Secure Acceptance (Stored Card) and Soap Toolkit API.
* Fixed Visa Checkout error "No such cart entity id with cartid".
{#adobe-commerce-m-release-info_ol_mkn_4zm_5bd}

March 2024
----------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.7 is compatible with `Adobe Commerce Cloud`: 2.4.6 p3, 2.4.6 p2, 2.4.6 p1, 2.4.6, 2.4.5 p5, 2.4.4 p6 and PHP 8.2, 8.1
:
* Removed zend dependency and replaced with laminas.
* Removed Payer Authentication Cardinal key dependency from Back Store Configuration.
* Google Pay and Apple Pay refund issue fixed for multiple websites.
* Apple Pay customer billing address fixes for downloadable and virtual products.
* The issue has been fixed for JSON error message in the 3-D Secure pop-up.
* Fixed invalid card type message that appeared in credit card Flex Microform.
* Added error message for Apple Pay session failure.
* Fixed Device Fingerprint raw parameter for Secure Acceptance.
* Fixed Payer Authentication failure scenario.
{#adobe-commerce-m-release-info_ol_mkn_4zm_5bc}

October 2023
------------

`Adobe Commerce Cloud` `Cybersource` Version 3.5.6 is compatible with `Adobe Commerce Cloud`: 2.4.6 p2, 2.4.6 p1, 2.4.6, 2.4.5 p4, 2.4.4 p5, and PHP 8.2, 8.1
:
* Implemented Direct Connection API Payer Authentication.
* Removed dependency on `sales_order_grid` table for Google Pay and Secure Acceptance.
* Apple Pay order cancel fixes.
* PayPal billing address line 2 issue fixes.
* Removed parenthesis for http signature request-target in core and `eCheck` module.
* Upgraded version for the lcobucci/jwt from 3.4.2 to 3.4.6.

May 2023
--------

`Adobe Commerce Cloud` `Cybersource` 3.5.5 is compatible with `Adobe Commerce Cloud`: 2.4.6, 2.4.5 p2, 2.4.5p1, 2.4.4 and PHP 8.2, 8.1
:
* PHP support added for v 8.2.
* Compatibility with `Adobe Commerce Cloud` v2.4.6 -- Changed few components of zend framework to laminas as per the latest `Adobe Commerce Cloud` changes.
* Fixed bugs related to supported card types and sandbox/production issue in Apple Pay.
* Fixed jQuery deprecated functions.

February 2023
-------------

`Adobe Commerce Cloud` `Cybersource` 3.5.4 is compatible with `Adobe Commerce Cloud`: 2.4.5 p2, 2.4.5 p1, 2.4.x, 2.3.x
:
* New implementation for `eCheck` cron -- `EventStatus`.
* Fixed bug related to Strong Customer Authentication.
* Removed required validation from reCAPTCHA fields.
* Updated Klarna library from credit to payments.
* Added `PaymentFlowMode` as inline and `PaymentMethodName` as `pay_now` in Klarna app session request.
* Updated WSDL version to latest V1.206.
* Add new payment reject status as `AUTHORIZED_RISK_DECLINED` for Decision Manager reject.

Update `Adobe Commerce` {#adobe-commerce-m-install}
===================================================

Follow these steps to update the `Cybersource` bundle to the latest version:

1. In your directory, navigate to the `Adobe Commerce` root directory and find the *composer.json* file.
2. Open the *composer.json* file and in the Require field, change the version to the latest version of the plugin.
3. After you change the version in the Require field of the *composer.json* file, run the composer update command.

Configure `Adobe Commerce` {#adobe-commerce-m-config}
=====================================================

Customer payments can be managed through the `Adobe Commerce` or the Visa Acceptance Solutions `Business Center`. This section describes the settings you must configure in the `Business Center` as well as some general use cases that are typical in the day-to-day management of your `Adobe Commerce` store. Contact Visa Acceptance Solutions for information about product availability and enablement.  
You must complete all of the configuration tasks in order to use the features offered in the `Adobe Commerce` `Cybersource` integration.

Configure Security Credentials {#adobe-commerce-m-sec-cred-intro}
=================================================================

The module uses connection methods to access services that require their own security credentials for authentication.  
You must create and configure the SOAP toolkit key and REST API key for the `Adobe Commerce` to function properly.  
If you do not have a `Business Center` account, go to the [`Business Center` Registration](https://ebc2.cybersource.com/ebc2/ "") website to create an account. To activate your merchant account, follow the instructions that are emailed to you. Then log in to the `Business Center` to complete the registration process. Be sure to store your merchant key ID for later use.

Create a SOAP P12 Certificate
-----------------------------

The `Adobe Commerce` integration uses the SOAP Toolkit API to access several services.  
Generate a SOAP P12 certificate from your `Business Center` account. For information on how to create a SOAP P12 certificate, see [Creating a SOAP p12 Certificate](https://developer.cybersource.com/docs/cybs/en-us/so-p12/migration/all/so/so-p12/so-p12-create-p12.md "").

Create a REST API Key
---------------------

The `Adobe Commerce` integration requires REST API key creation to use some services like Flex Microform and the Fraud Management report.  
From your `Business Center` account, you also need your merchant key ID and shared secret key to enable the integration with `Adobe Commerce`. For information on how to generate a shared secret key, see [Creating a Shared Secret Key Pair](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro.md ""). Be sure to store your key ID and shared secret key for later use.

Configure Additional Backend Settings {#adobe-commerce-m-backend-conf-settings}
===============================================================================

Some services supported on `Adobe Commerce` require additional backend setup on your `Business Center` account. Contact your `Cybersource` account representative to enable any of these services:

* Payment Tokenization: Required by the module for credit card processing
* `Decision Manager`
* Payer Authentication
* PayPal Express Checkout
* `eCheck` Service
* Online Bank Transfers
* Tax Calculation
* Klarna
* `Click to Pay`: Enabled in the `Business Center`
* Apple Pay: Enabled in the `Business Center`

Configure Backend Settings {#adobe-commerce-m-backend-conf}
===========================================================

Follow these steps to access the configuration settings in the administration section of your `Adobe Commerce` console:

1. Go to the `Adobe Commerce` administration console.

2. On the left navigation panel, click Stores.

3. Under Settings, click Configuration.

4. On the Configuration page, click Sales to expand the menu.

5. Click Payment Methods.

6. Choose OTHER PAYMENT METHODS \&gt; `Cybersource`.

   #### ADDITIONAL INFORMATION

Complete all of the required fields in the sections and subsections of the settings to configure the `Cybersource` payment module and other payment methods. Expand each section to complete the fields.

Configure General Settings {#adobe-commerce-m-config-gen-settings}
==================================================================

The settings under the General section apply to all payment methods. Follow these steps to complete this section:

1. From the `Cybersource` setting, click the arrow to expand the General section.
2. From the Debug Mode drop-down list, choose Yes to troubleshoot using the `Adobe Commerce` logs (*cybs.log* ). Diagnostic information is stored in log files on the `Adobe Commerce` web server.
3. From the Sort Order drop-down list, change the default module sort order.
4. In the Show Exact Rejection or Error Message to Users option set to:
5. * No to display general error messages according to `Adobe Commerce Cloud` in all rejection and error cases.
   * Yes to display a general error message according to the responses from `Cybersource` in all rejection and error cases.
     {#adobe-commerce-m-config-gen-settings_ul_xsb_hzl_1gc}
6. In the Override Payment Error Route Path field, enter the error page route path. When you leave the default Use system value box checked, the checkout or cart route is used if no path is entered.

Configure WebService {#adobe-commerce-m-conf-webserv}
=====================================================

The WebService configuration includes the default `Adobe Commerce` merchant ID (applies to all the payment methods), the REST shared key, and the SOAP key detail. Follow these steps to complete the configuration:

1. Click WebService Configuration to expand the section.

2. In the Merchant ID field, enter your `Cybersource` merchant ID.

3. From the Test Mode drop-down list, choose:

4. * Yes to use the `Business Center` testing environment.
   * No to use the production `Business Center`. Optionally, in the Developer ID field, you can enter the developer ID. The ID cannot exceed eight characters. You can also request that `Cybersource` assign you a developer ID.
     {#adobe-commerce-m-conf-webserv_ul_hz4_vwz_qhc}
5. In the Simple Order P12 Key File section, upload the SOAP p12 certificate and then enter the Key Password. If you did not generate a key, see [Creating a SOAP p12 Certificate](https://developer.cybersource.com/docs/cybs/en-us/so-p12/migration/all/so/so-p12/so-p12-create-p12.md "") for instructions.

6. In the REST API Key Detail field, enter the REST key you generated from the `Business Center`. If you do not have a REST Shared Secret Key Pair, see [Creating a Shared Secret Key Pair](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro.md "") for instructions.

   #### ADDITIONAL INFORMATION

   Proper configuration of the SOAP WebService is required for the functioning of other services including Tax Calculation, Secure Acceptance, PayPal, Account Takeover Protection, and Apple Pay. If you experience issues with these modules, verify that the SOAP WebService options are configured correctly. The SOAP p12 Certificate must have the correct password and the Test Mode option must match the correct environment for the `Cybersource` `Business Center` (test).

7. In the REST API Shared Secret Key field, enter the Shared Secret key you generated from the `Business Center`. If you do not have a REST Shared Secret Key Pair, see [Creating a Shared Secret Key Pair](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro.md "") for instructions.

   #### ADDITIONAL INFORMATION

Proper configuration of the REST Web Service is required for other services including Flex Microform, `Decision Manager`, Google Pay, and the Account Updater. If you experience issues with these modules, verify that the REST Web Service options are configured properly. The API Key Detail and API Shared Secret Key must have the correct value, and the Test Mode option must match the environment for the `Cybersource` `Business Center`.

Configure Device Fingerprinting {#adobe-commerce-m-conf-device-fp}
==================================================================

Device Fingerprinting is used with `Decision Manager` for all relevant payment methods. If you are not using `Decision Manager`, you must disable this module. Follow these steps to configure device fingerprinting:

1. Click Device Fingerprint to expand the section.
2. In the Active field, choose Yes to activate it or No to deactivate it if you are not using `Decision Manager`.
3. In the Org ID field, enter the value provided to you. To obtain this value either for test or production, contact your `Cybersource` representative.

Configure the Delivery Address Verification Service {#adobe-commerce-m-backen-conf-davs}
========================================================================================

The Delivery Address Verification Service acts as an additional layer of address verification and normalization on the shipping page. Follow these steps to configure this section:

1. Click Delivery Address Verification Service to expand the section.
2. From the Address verification drop-down list, choose Yes to enable this service or No to disable this service.
3. From the Address Force Normalization drop-down list, choose Yes to require the use of suggested address alternatives or No to make suggested address alternatives optional.

Configure Credit Card Payments {#adobe-commerce-m-conf-cc-pay}
==============================================================

Follow these steps to configure `Cybersource` credit card payments:

1. From the Enabled drop-down list, choose Yes to activate or No to deactivate the credit card payment method.

2. In the Title field, enter the text you want to display as the name for credit card payment method.

3. In the Payment API drop-down list, choose Payment API to have an authorization performed and post card data to `Cybersource`. Choose SOAP Toolkit API to have the card information tokenized. The SOAP service separately requests authorizations.

4. In the Checkout Flow Type drop-down list, choose a desired checkout type.

   #### ADDITIONAL INFORMATION

   `Cybersource` recommends that you choose Flex Microform. Flex Microform is a REST-based Microform Integration to access new enhancements, easier configuration, and updated technology. You will use all of the benefits from the Hosted Checkout and Checkout API. The customer never leaves your checkout page and is a potential SAQ A qualification. For more information about Microform Integration, see [Microform Integration](https://developer.cybersource.com/docs/cybs/en-us/digital-accept-flex/developer/all/rest/digital-accept-flex/microform-integ-v2.md "").

5. In the CSRF Token Expiration Time (Seconds) field, enter the expiration time in seconds. This is the lifetime of the SOP security token used to prevent card testing attacks. For the default of 600 seconds, leave this field blank.

Configure Strong Customer Authentication {#adobe-commerce-m-conf-sca}
=====================================================================

When payer authentication is enabled and a transaction is declined with reason code `478` (Strong Customer Authentication required), another request is sent from the `Adobe Commerce` module for the same order. The customer must complete a `3-D Secure` challenge.  
To configure this setting, click Strong Customer Authentication to expand the section. In the Enforce Strong Customer Authentication when saving a card drop-down list, choose Yes to have the cardholder complete a `3-D Secure` challenge while saving a card.

Configure Credit Card Settings {#adobe-commerce-m-conf-cc-settings}
===================================================================

Follow these steps to complete the Credit Card Settings section:

1. Click Credit Card Settings to expand the section.
2. From the Payment Action drop-down list, choose Authorize Only or Authorize and Capture. Authorize Only reserves funds during checkout and captures when making an invoice. The Authorize and Capture payment action authorizes and captures funds during the customer checkout.
3. From the Auth Indicator drop-down list, choose the purpose of the authorization.
4. From the New Order Status field drop-down list, choose the order status assigned to the order when successfully paid, or leave the default Use system value box checked for Processing order status.
5. From the Ignore AVS drop-down list, choose Yes to have the results of AVS verification ignored.
6. In the Ignore CVN field, choose Yes to have the results of CVN verification ignored.
7. In the Skip Fraud Management for Tokenization field, choose No to have the Skip Decision Manager field set to `false` for Secure Acceptance tokenization requests and set to `true` otherwise.
8. In the Skip Pre-Authorization Check for Tokenization field, choose to No to have the skip preauthorization field set to `false` for Secure Acceptance tokenization requests and set to `true` otherwise.
9. In the Pass expiration date for tokenized card via SOAP field, specify the card expiration date with SOAP Toolkit Authorization Calls for card tokenization.
10. In the Credit Card Types box, choose which card types you want to accept. This applies only to Checkout API and Flex Microform configuration. This option is not used for Hosted Checkout.
11. In the Payment from Applicable Countries field, leave the default Use system value box checked to accept credit card payments from the countries chosen, or clear the Use system value box to specify countries in the next field.
12. Specify the countries from which to accept credit card payments in the Payment from Specific Countries box.
13. From the Override secure acceptance locale drop-down list, leave the default Use system value box checked to use the store locale language.

Configure Payer Authentication {#adobe-commerce-m-config-payer-auth}
====================================================================

The Payer Authentication (`3-D Secure`) protocol reduces fraud risk for online payments. `3-D Secure` adds frictionless authentication and improves the user experience. You must have the SOAP Toolkit configured to use this service.  
Follow these steps to configure the Payer Authentication section:

1. Click Payer Authentication to expand the section.
2. From the Enabled drop-down list, choose Yes to activate the Payer Authentication Module or No to deactivate it.
3. From the Credit Card Types field box, choose the card types to be enabled for Payer Authentication.

Configure Save Card for Later Service {#adobe-commerce-m-conf-save-later-service}
=================================================================================

Follow these steps to configure Save Card for Later Service settings:

1. Click Save Card for Later Service to expand the section.
2. From the Enabled drop-down list, choose Yes to enable the customer to save their credit card information securely for later use.
3. In the Saved Card Section Title field, enter the name of the saved cards payment method.
4. From the Save Card for Later for Admin orders drop-down list, choose Yes to enable storing card details for orders placed in the admin area.
5. From the Use CVV for Saved Credit Cards drop-down list, choose Yes to enable the customer to enter the Card Security Code when paying with a stored card.
6. From the Use CVV for Saved Credit Cards in Admin drop-down list, choose Yes to allow the merchant to enter the customer's Card Security Code when the customer is paying with a stored card.
7. Click Save Config.

Configure reCAPTCHA {#adobe-commerce-m-conf-recaptcha}
======================================================

The `Adobe Commerce` SOAP Toolkit API provides an option to use reCAPTCHA. This feature is essential in protecting the merchant's store from brute force attacks. Most of the time, the reCAPTCHA is invisible to normal users, but it will provide a visible challenge when necessary. The module providing reCAPTCHA is an optional package.

Install reCAPTCHA
-----------------

To install reCAPTCHA, run this command for Composer installation:
`composer require ``Cybersource``/module-recaptcha `

Generate reCAPTCHA Keys {#adobe-commerce-m-conf-recaptcha-keys}
===============================================================

Follow these steps to generate the Google reCAPTCHA Site Key and Secret Key:/

1. Visit the Google fraud defense website: [Google Cloud Fraud Defense documentation](https://cloud.google.com/security/products/recaptcha "")

2. Log in to the [Google Fraud Defense Admin Console](https://console.cloud.google.com/security/recaptcha "").

3. Click the Create icon.

4. Fill in the required details.

5. After you submit the details, the reCAPTCHA site key and secret key are generated.

   #### ADDITIONAL INFORMATION

Use these keys to configure the module in Back Store.x

Configure reCAPTCHA in `Adobe Commerce` {#adobe-commerce-m-conf-recaptcha-commerce}
===================================================================================

Follow these steps to configure reCAPTCHA in Adobe Commerce.

1. Go the `Adobe Commerce` console.
2. On the Payment Methods page, under the `Cybersource` settings, click reCaptcha to expand the section.
3. From the Enabled drop-down list, choose Yes to activate, or No to deactivate reCAPTCHA.
4. In the Website API Key field, enter your site key obtained from reCAPTCHA Admin Console.
5. In the Secret API Key field, enter your secret key obtained from reCAPTCHA Admin Console.
6. From the reCAPTCHA type drop-down list, choose the reCAPTCHA type that matches your API keys.
7. In the Badge position field, choose the reCAPTCHA badge position.
8. In the reCAPTCHA language field, choose a language code for reCAPTCHA or leave the Auto option selected.
9. Click Save Config.
10. Clear the `Adobe Commerce` cache.

Configure the `eCheck` Payment Module {#adobe-commerce-m-conf-echeck-pay-module}
================================================================================

The `Cybersource` `eCheck` module enables customers to make purchases using a routing number and an account number. During checkout, an `eCheck` transaction request is sent to `Cybersource`. If successful, the transaction is sent to the Automated Clearing House (ACH).  
The `Adobe Commerce` queries `Cybersource` periodically to check on the status of each pending `eCheck` transaction. In response, `Cybersource` provides an updated transaction status, known as a *Payment Event Type* . Various outcomes can occur during ACH processing. For each pending transaction included in the `Cybersource` response, the `Adobe Commerce` determines whether a transaction remains pending, settles, or is rejected.  
You can configure these `eCheck` payment event types :

* Pending Event Type: No change is made to the transaction or order status. The order remains in Payment Pending state.
* Reject Event Type: The order is cancelled.
* Accept Event Type: An invoice is prepared for that order, and the order status changes to processing.
  {#adobe-commerce-m-conf-echeck-pay-module_ul_gyb_bwg_qbc}

Test `eCheck` Payment Settings {#adobe-commerce-m-conf-echeck-pay-settings}
===========================================================================

You can test the `eCheck` Payment Event Types using two `Adobe Commerce` settings that simulate possible event types during the processing of the requested report. While the status request goes to `Cybersource`, the `Adobe Commerce` ignores the returned Payment Event Type in the response and uses the Test Event Type instead.  
Follow these steps to test the `eCheck` Payment Event Types:

1. Click `eCheck` to expand the section.

2. From the Enabled drop-down list, choose Yes to enable the `eCheck` payment method.

3. In the Title field, enter the text that is displayed to customers as the name of this payment method.

4. Configure the payment statuses for these event types:

   #### ADDITIONAL INFORMATION

   * In the Accept Event Type box, choose which payment statuses will mean accept, and signify the receipt of funds and move the order status to processing.
   * In the Pending Event Type box, choose which payment statuses will mean pending.
   * In the Reject Event Type box, choose which payment statuses will mean reject because they were rejected after processing by ACH despite being initially accepted during checkout.
     {#adobe-commerce-m-conf-echeck-pay-settings_ul_fx5_1rx_x2c}
5. Configure how to accept the `eCheck` payment method:

   #### ADDITIONAL INFORMATION

   * To accept the default country configuration, in the Payment From Applicable Countries field, ensure the Use system value box is checked.
   * To specify any other countries you will accept the `eCheck` payment method from, clear the Use system value box and in the Payment From Specific Countries box, choose the countries.
     {#adobe-commerce-m-conf-echeck-pay-settings_ul_vhk_v5x_x2c}
6. To require customers to enter a drivers license number, from the Enabled Drivers License Number drop-down list, choose Yes. For `TeleCheck`, contact a representative to see if this field is required.

7. To require the customer to enter the check number, from the Enabled Check Number drop-down list, choose Yes. These processors have specified whether check number is required or optional:

   #### ADDITIONAL INFORMATION

   * `Chase Paymentech Solutions`: Optional.
   * `Cybersource` ACH Service: Not used.
   * Worldpay: Optional on debits, and required on credits.
   * `TeleCheck`: Strongly recommended on debit requests, and optional on credits.
     {#adobe-commerce-m-conf-echeck-pay-settings_ul_trs_z1h_qbc}
8. To require an agreement at the checkout page, from the Agreement Required drop-down list, choose Yes.

9. From the SEC code drop-down menu, choose a code that specifies the authorization method for the transaction.

10. In the Sort Order field, enter the number of entries to be sorted on a page.

11. Click Save Config.

Configure Fraud Management {#adobe-commerce-m-fraud-mgmt-intro}
===============================================================

You must configure the `Adobe Commerce` to work with Fraud Management to use all of the features.  
Follow these steps to configure Fraud Management in `Adobe Commerce`:

1. Click Fraud Management to expand the section.
2. From the Enable Fraud Management CRON Job drop-down list, choose Yes.
3. In the Fraud Management fail email sender option, leave the Use system value box checked.
4. In the Fraud Management fail email template option, leave the Use system value box checked.
5. From the Settle Fraud Management accepted order automatically drop-down list, choose Yes.
6. Expand the On-Demand Job section to see the Report Date field.
7. Enter a date to download an accepted or rejected transactions report, and click Run.
8. Click Save Config.
   {#adobe-commerce-m-fraud-mgmt-intro_ol_gmv_mn5_3bc}

Fraud Management Orders {#adobe-commerce-m-fraud-mgmt-marking-orders}
=====================================================================

The `Decision Manager` rule setting and the response received for authorizations and sales service determine whether the `Adobe Commerce Cloud` marks the orders as Pending Review.  
On the `Decision Manager` Case Management page, when you change an order from REVIEW to REJECT or ACCEPT, the `Adobe Commerce Cloud` updates payment transaction states periodically (by cron every two minutes) by contacting `Cybersource` and querying for changes.  
In the settings, find the `Adobe Commerce Cloud` Cron settings and configure them to trigger an `Adobe Commerce Cloud` task. The task looks for `Decision Manager` changes in the `Business Center` and updates the `Adobe Commerce Cloud` Orders accordingly.  
If the module detects a change in state, it updates the order status in the `Adobe Commerce Cloud` from Pending Review to one of these states:

* Processing
* Pending
* Closed
  {#adobe-commerce-m-fraud-mgmt-marking-orders_ul_r3w_jkr_4bc}  
  If an order is Pending Review in `Decision Manager`, you cannot prepare an invoice in the `Adobe Commerce Cloud` until `Decision Manager` accepts it.

Fraud Management Refunds
------------------------

`Decision Manager` must either accept or reject an order before issuing a refund. If you reject an order in `Decision Manager`, an Authorization Reversal for the order automatically occurs as part of the Cron process that queries for updates in `Decision Manager`.

Configure Custom Fields {#adobe-commerce-m-fraud-mgmt-config-custom-fields}
===========================================================================

`Decision Manager` supports custom fields known as merchant-defined data fields. You must configure the fields inside `Decision Manager` in the `Business Center` to use them. The Module for the `Adobe Commerce Cloud` sends 10 of these fields.  
Follow these steps to add custom fields provided by the `Adobe Commerce Cloud`:

1. Log in to the `Business Center` and go to `Decision Manager` \&gt; Shared Configuration \&gt; Custom Fields.

2. Choose Merchant Custom Fields.

3. To add a field, click ADD CUSTOM FIELD, enter a name, and choose an order element.

   #### ADDITIONAL INFORMATION

   Use the list below to map the correct names and elements for each field:

   * Logged-in customer: Merchant_defined_data1
   * Account creation date: Merchant_defined_data2
   * Purchase History Count: Merchant_defined_data3
   * Last Order Date: Merchant_defined_data4
   * Member account age: Merchant_defined_data5
   * Repeat customer: Merchant_defined_data6
   * Coupon Code Used: Merchant_defined_data20
   * Discount Amount: Merchant_defined_data21
   * Gift Message: Merchant_defined_data22
   * Order Source: Merchant_defined_data23
   * Shipping Method Code: Merchant_defined_data31
   * Shipping Method Description: Merchant_defined_data32
     {#adobe-commerce-m-fraud-mgmt-config-custom-fields_ul_wmw_5fh_sbc}
4. Click Save.

   #### ADDITIONAL INFORMATION

For detailed instructions on how to add custom fields, see the *Decision Manager* Guide. In the `Business Center`, go to the left navigation panel, and choose Decision Manager \&gt; Documentation \&gt; Guides.

Configure Apple Pay {#adobe-commerce-m-conf-apple-pay}
======================================================

To use Apple Pay, you must meet these prerequisites:

* Have a valid Apple Developer Account.

{#adobe-commerce-m-conf-apple-pay_ul_pgs_kgh_qbc}


* All pages that incorporate Apple Pay must be served over HTTPS.
* Your website must comply with the Apple Pay guidelines. For more information, see [Apple Pay on the Web Acceptable Use Guidelines](https://developer.apple.com/documentation/applepayontheweb "").
* Your website must have HTTPS mode enabled and used at checkout. For more information, see [Setting Up Your Server](https://developer.apple.com/documentation/applepayjs/setting_up_server_requirements "").
  {#adobe-commerce-m-conf-apple-pay_ul_r1f_kgh_qbc}

1. To configure Apple Pay with the `Adobe Commerce` module, you must complete these tasks:
2. Register an Apple Pay merchant ID. For more information, see [Create Your Apple Pay Merchant ID](https://developer.apple.com/documentation/applepaywebmerchantregistrationapi/applying-to-use-the-registration-api-and-configuring-ids#3696536 "").
3. Create a Payment Processing certificate in the `Business Center`. For more information, see [Part 2: Create an Apple Pay Payment Processing Certificate](https://developer.cybersource.com/docs/cybs/en-us/apple-pay/developer/ctv/rest/applepay/applepay-cfg/applepay-cfg-2-pay-proc-cert.md "").
4. Validate your store domain in Apple Pay. For more information, see [Register a Merchant Domain](https://developer.apple.com/help/account/configure-app-capabilities/configure-apple-pay-on-the-web#register-a-merchant-domain "").
5. Create a Merchant Identity certificate. For more information, see [Create a Merchant Identity Certificate](https://developer.apple.com/help/account/configure-app-capabilities/configure-apple-pay-on-the-web#create-a-merchant-identity-certificate "").

Configure the Apple Pay Extension {#adobe-commerce-m-conf-apple-pay-ext}
========================================================================

Follow these steps to configure the Apple Pay extension:

1. Go the `Adobe Commerce` console, and open the Payment Methods page.
2. Under the `Cybersource` settings, click Apple Pay to expand the section.
3. From the Enable drop-down list, choose Yes to activate Apple Pay. (or No to deactivate it.)
4. In Title box, enter the text to display to customers on the checkout page.
5. From the Payment Action drop-down list, choose Authorize Only to reserve funds during checkout and capture during invoice creation. Choose Authorize and Capture to authorize and capture during customer checkout.
6. From the New Order Status drop-down list, choose the order status assigned to an order that was successfully paid with `Cybersource`.
7. In the Apple Merchant ID box, enter your Apple Pay Merchant ID.
8. In the Apple Display Name box, enter the business name that appears on a bank or credit card statement. For example, COMPANY, INC.
9. In the Certified Domain box, enter the validated site domain on which the service is meant to be used. Do not enter a `https://` prefix.
10. In the Path to Certificate box, enter the full path to the Merchant ID Certificate file.
11. In the Path to Key box, enter the full path to the Merchant ID Certificate Private key file.
12. In the Credit Card Types box, choose the types of credit cards to accept for payment.
13. In the Sort Order box, enter a number for the sort order.

Configure Apple Pay {#adobe-commerce-m-conf-apple-pay-storefront}
=================================================================

You must configure Apple Pay on your storefront that is displayed to the customer. Follow these steps to configure Apple Pay on your storefront:

1. On the Reviewing the order page, choose `Adobe Commerce` Apple Pay.
2. When the Apple Pay window appears, complete fingerprint (Touch ID) authentication, or choose a saved card.
3. After authentication is complete, verify the transaction details in `Business Center`.

Configure Google Pay {#adobe-commerce-m-conf-google-pay}
========================================================

To use Google Pay on the `Adobe Commerce`, your site must be running through HTTPS. Follow these steps to configure Google Pay in the `Adobe Commerce`:

1. Click Google Pay to expand the section.

2. From the Enable drop-down list, choose Yes to activate Google Pay or No to deactivate Google Pay.

3. In the Title box, enter text to display to customers on the checkout page.

4. From the Payment Action drop-down list, choose Authorize Only to reserve funds during checkout and capture during invoice creation. Choose Authorize and Capture to authorize and capture funds during customer checkout.

5. In the Google Pay Merchant ID box, enter your Google Pay merchant ID.

6. In the Merchant Display Name box, define your business name that appears on a customer's bank or credit card statement. For example, "COMPANY, INC."

7. Configure which countries you will accept Google Pay from:

   #### ADDITIONAL INFORMATION

   * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
   * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept Google Pay.
     {#adobe-commerce-m-conf-google-pay_ul_rjq_zxx_x2c}
8. In the Credit Card Types field box, choose which card types to accept.

9. To show the Google Pay button on the product page, in the Google Pay button on Product Page field, choose Yes.

10. To show the mini cart widget, in the Google Pay button in mini cart field, choose Yes.

11. In the Sort Order box, enter a number to change the default module sort order.

12. Click Save Config.

Configure Alternate Payments {#adobe-commerce-m-conf-alt-pay}
=============================================================

`Adobe Commerce` has four types of alternate payments modules:

* PayPal. For more information, see [Configure PayPal](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-alt-pay/adobe-commerce-m-conf-paypal.md "").
* Klarna. For more information, see [Configure Klarna](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-alt-pay/adobe-commerce-m-conf-klarna.md "").
* Bank Transfer. For more information, see [Configure Bank Transfers](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-alt-pay/adobe-commerce-m-conf-bank-transfers.md "").
* WeChat Pay. For more information, see [Configure WeChat Pay](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-alt-pay/adobe-commerce-m-conf-wechat-pay.md "").

{#adobe-commerce-m-conf-alt-pay_ul_m5y_3j3_qbc}  
Click Alt Payments to expand the section.

Configure Klarna {#adobe-commerce-m-conf-klarna}
================================================

Follow these steps to configure Klarna payments. You can use the default merchant ID or you can manually configure a new merchant ID:

1. Click Klarna to expand the section.

2. From the Enable drop-down list, choose Yes or No to activate or deactivate Klarna.

3. From Title box, enter the text to display to customers on the checkout page.

4. From the Use Default Merchant ID drop-down list, leave Yes selected to use the Merchant ID given in Web Service Configuration under General Settings. Choose No to enter another merchant ID and transaction key in the next two fields.

5. If you choose not to use the default merchant ID, in the Merchant ID field, enter a different merchant ID.

6. In the Transaction Key field, enter the transaction key for the merchant ID you entered.

7. From the New Order Status drop-down list, choose the order status assigned to the order successfully paid with `Cybersource`.

8. Configure which countries you will accept Klarna from:

   #### ADDITIONAL INFORMATION

   * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
   * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept Klarna.
     {#adobe-commerce-m-conf-klarna_ul_rjq_zxx_x2c}

Configure PayPal {#adobe-commerce-m-conf-paypal}
================================================

Follow these steps to configure the PayPal Express Checkout, PayPal Credit, and PayPal Billing Agreement:

1. Click PayPal to expand the section.

2. From the Enable drop-down list, choose Yes or No to activate or deactivate PayPal.

3. In Title box, enter the text to display to customers on the checkout page.

4. From the New Order Status drop-down list, choose the order status assigned to the order successfully paid with `Cybersource`.

5. In the Merchant ID field, enter your `Adobe Commerce Cloud` merchant ID.

6. From the PayPal Redirection Type drop-down list, choose Traditional Express Checkout to redirect the customer PayPal Payment Page, or choose In-Context Express Checkout for a PayPal pop-up to appear for customers to complete payment.

7. From the Payment Action drop-down list, choose Authorize Only to check the account for validity, but not charge until the order is approved and invoiced. Choose Authorize and Capture to charge the PayPal account at the time the order is submitted.

8. Configure which countries you will accept PayPal from:

   #### ADDITIONAL INFORMATION

   * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
   * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept PayPal.
     {#adobe-commerce-m-conf-paypal_ul_rjq_zxx_x2c}
9. From the Enable PayPal Credit drop-down list, choose Yes to enable financing through PayPal Credit.

10. In the PayPal Credit Title box, enter the text customers will see as the title of PayPal Credit payment option.

11. From the Enable PayPal Billing Agreements drop-down list, choose Yes to allow registered customers to create a billing agreement for faster purchases.

12. In the Sort Order box, enter a numeric value to place this payment method amongst all the other `Adobe Commerce` payment methods.

Configure Bank Transfers {#adobe-commerce-m-conf-bank-transfers}
================================================================

Online banking services enable customers to pay for goods using direct online bank transfers from their bank account to your `Adobe Commerce` merchant account.  
Click Bank Transfer to expand the section. In the Store Name field, enter the name you want customers to see on their bank transfer invoices.

Configuring iDEAL {#configuring-ideal}
--------------------------------------

Follow these steps to configure an iDEAL payment:

1. Click iDEAL to expand the section.

2. In the Enable drop-down list, choose Yes to activate the iDEAL bank transfer or No to deactivate iDEAL bank transfer.

3. In Title box, enter the text to display to customers on the checkout page.

4. In the Use Default Merchant ID field, leave Yes selected to use the merchant ID given in the Web Service Configuration under General Settings page. Choose No to enter another merchant ID and transaction key in the next two fields.

5. If you choose not to use the default merchant ID, enter your `Cybersource` Merchant ID in the Merchant ID field.

6. In the Transaction Key field, enter the transaction key for the merchant ID you entered.

7. In the Allowed Currencies box, choose which currencies you will accept payment.

8. In the Sort Order box, change the default module sort order.

9. Configure which countries you will accept iDEAL from:

   #### ADDITIONAL INFORMATION

   * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
   * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept iDEAL.
     {#configuring-ideal_ul_rjq_zxx_x2c}

Configuring Bancontact {#Configuring-Bancontact}
------------------------------------------------

Follow these steps to configure Bancontact bank transfer payments:

1. Click Bancontact to expand the section.

2. In the Enable drop-down list, choose Yes or No to activate or deactivate Bancontact Bank Transfer.

3. In Title box, enter the text to display to customers on the checkout page.

4. In the Use Default Merchant ID field, leave Yes selected to use the Merchant ID given in Web Service Configuration under General Settings. Select No to enter another merchant ID and transaction key in the next two fields.

5. If you choose not to use the default merchant ID, enter your `Cybersource` merchant ID in the Merchant ID field.

6. In the Transaction Key field, enter the transaction key for the merchant ID you entered.

7. In the Allowed Currencies box, choose the currencies with which to accept payment.

8. In the Sort Order box, change the default module sort order.

9. Configure which countries you will accept Bancontact from:

   #### ADDITIONAL INFORMATION

   * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
   * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept Bancontact.
     {#Configuring-Bancontact_ul_rxx_b1y_x2c}

Configure WeChat Pay {#adobe-commerce-m-conf-wechat-pay}
========================================================

WeChat Pay is a digital wallet that enables customers to make mobile payments and online transactions. Customers who have provided bank account information can use the app to pay bills, order goods and services, transfer money to other users, and pay in stores if the stores have a WeChat payment option.  
Follow these steps to configure WeChat Pay:

1. Click WeChat Pay to expand the section.

2. From the Enable drop-down list, choose Yes to activate WeChat Pay, or No to deactivate it.

3. In the Sort Order box, change the default module sort order.

4. In Title box, enter the text to display to customers on the checkout page.

5. In the Use Default Merchant ID field, leave Yes selected to use the merchant ID from the Web Service Configuration section under General Settings. Choose No to enter another merchant ID and transaction key in the next two fields.

6. If you choose not to use the default merchant ID, enter your `Cybersource` merchant ID in the Merchant ID field.

7. In the Transaction Key field, enter the transaction key for the merchant ID you entered.

8. In the QR Code Expiration Time field, enter an expiration time in seconds for the WeChat pay QR code.

9. In the Check Status Frequency field, enter an interval in seconds between transaction status checks.

10. In the Max Status Requests field, enter a limit for transaction status checks.

11. Configure which countries you will accept WeChat Pay from:

    #### ADDITIONAL INFORMATION

    * To accept payment from the default countries, in the Payment From Applicable Countries field, leave the Use system value box checked.
    * To specify other countries, clear the Use system value box and in the Payment From Specific Countries box, choose the countries from where you want to accept WeChat Pay.
      {#adobe-commerce-m-conf-wechat-pay_ul_rxx_b1y_x2c}
12. In the Success/Failure Message Delay field, enter a delay in seconds between the transaction check and redirection to the result page.

13. In the Check Status query Simulated Response field, choose a simulated status check response code for testing.

14. Click Save Config.

Configure Taxes {#adobe-commerce-m-conf-taxes}
==============================================

`Cybersource` offers a service that calculates taxes to be charged on orders. You must configure your settings in order to receive accurate results.  
Contact your `Cybersource` representative to have this feature enabled. This feature includes activation of sandbox capabilities as well.  
Before configuring the Tax Calculation service, you must have the SOAP Web Service configured. For more information, see [Configure Security Credentials](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-sec-cred-intro.md "").  
To use the Tax Calculation Service, you must have the Product Tax Class codes and `Cybersource` Tax Services settings configured. For more information, see [Configure Product Tax Classes](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-taxes/adobe-commerce-m-conf-prod-tax-class.md "") and [Configure Cybersource Tax Services Settings](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-m-overview/adobe-commerce-m-backend-conf-settings/adobe-commerce-m-conf-taxes/adobe-commerce-m-conf-tax-serv-settings.md "").

Configure Product Tax Classes {#adobe-commerce-m-conf-prod-tax-class}
=====================================================================

Each product in the `Adobe Commerce` has a setting for Tax Class. This setting defines the product and how it should be taxed. Contact your `Cybersource` representative for a list of available product tax class IDs and your tax consultant for advice on which IDs you should use for products you sell.  
Follow these steps to set the product tax class IDs in `Adobe Commerce`:

1. Go to the `Adobe Commerce` Admin console.
2. On the left panel, click Stores, and then click Tax Classes.
3. On the Tax Classes page, click Add New to create a new tax class entry for each tax class ID that your representative provides.
4. In the Tax Class Code field, enter the code provided to you.
5. From the Tax Class Type drop-down list, choose Product.
6. Click Save.
7. Complete these steps for each tax class ID.

Configure `Cybersource` Tax Services Settings {#adobe-commerce-m-conf-tax-serv-settings}
========================================================================================

Follow these steps to configure `Cybersource` Tax Services in the `Adobe Commerce Cloud`:

1. Go to the `Adobe Commerce Cloud` admin console, and in the left panel, click Stores, and then click Configuration.
2. On the Configuration page, go to Sales \&gt; Tax \&gt; `Cybersource` Tax Services.
3. From the Tax Calculation drop-down list, choose Yes to activate the `Cybersource` Tax Services per your business requirements.
4. In the Nexus regions box, select the regions where your business has a physical presence in the U.S. or Canada.
5. In the Customer countries to calculate Tax for box, choose the countries for which you will calculate tax.
6. In the Customer Tax classes to exclude from Tax calculation box, choose the customer tax classes to exclude from tax calculation.
7. In the Ship From fields, enter the city, postcode, country, and region from which the orders are shipped.
8. In the Acceptance fields, enter the city, postcode, country, and region in which you will accept or approve customers' orders.
9. In the Origin fields, enter the city, postcode, country, and region of the point of origin from which the order is picked up.
10. In the Merchant VAT fields, enter the merchant VAT seller registration number.
11. Click Save Config.

Calculating Taxes for Shipping Rates {#calc-ship-rates}
-------------------------------------------------------

You might have taxes calculated for shipping rates if your site offers dynamic shipping rates from a carrier that is presented to the customer at checkout. However, if you offer a flat-rate shipping charge, you might want to add taxes to that flat rate.  
Follow these steps to add taxes to flat shipping rates:

1. On the Configuration page, go to Sales \&gt; Tax \&gt; Tax Classes.
2. From the Tax Class for Shipping drop-down list, select the product tax code that references the taxes applied to shipping services.
3. Click Calculation Settings.
4. In the Shipping Prices field, choose Excluding Tax when the shipping rates need to be taxed. Select Including Tax when the shipping rates already include taxes , and no taxes are applied through the `Cybersource` tax service.
5. Click Save Config.

Configure Transactional Emails {#adobe-commerce-m-conf-trans-emails}
====================================================================

When an order is flagged for `Decision Manager` review, the customer is not informed that their transaction was not fully accepted. If a manual review leads to a rejection of the transaction, the customer is then informed that their order is no longer active. You can configure the email sent to the customer.  
Follow these steps to configure the transactional emails sent to the customers:

1. Go to the `Adobe Commerce` console.
2. On the left panel, choose Marketing.
3. Click Email Templates.
4. In the table, find the Template column, and click the DM Fail Transaction template row. The Template Information page opens.
5. On the Template Information page, complete the required information in the template name, subject, and content text boxes.
6. Click Save Template.

Configure Cron Settings {#configuring-cron-settings}
====================================================

Follow these steps to configure Cron settings for `Decision Manager`:

1. Open the `Adobe Commerce` console.
2. On the left panel, click Stores.
3. Go to Configuration \&gt; Advanced \&gt; System \&gt; Cron (Scheduled Tasks).
4. Scroll down and click Cron configuration options for group:dm.
5. Complete the required fields.
6. Click Save Config. For further instructions on how to configure Cron settings, see [Cron (scheduled tasks)](https://experienceleague.adobe.com/en/docs/commerce-admin/systems/tools/cron "").

Configure Tokens {#adobe-commerce-m-conf-tokens}
================================================

When a customer is logged in and is checking out, their card data can be stored in a secured `Cybersource` data center. After the card data is saved, a token is provided to you through this module. This token represents the customer record. When a returning customer uses your checkout, they can opt to use a previously stored card so they don't have to enter their card data again.  
When a token is used, the customer is still redirected to the `Cybersource` Hosted Payment page for payment confirmation. If a customer chooses to checkout as a guest, the token system is not used.

Save a Card for Later Use
-------------------------

To save the card, log in or register a new customer account. During the checkout process, check the Save for later use box. After the order is placed, the card information is securely saved with `Cybersource`.

Manage the `Adobe Commerce` Tokens
----------------------------------

Customers who are logged in can delete their tokens at any time. To do so, they must visit the My Account section of the `Adobe Commerce` and choose the Stored Payment Methods menu item. Customers can use the delete links beside any stored tokens to remove a stored token.

Pay with Tokens
---------------

To pay the order with a stored card, the customer chooses it from the list at the top of the Billing and review checkout page.

Multi-Shipping Feature {#adobe-commerce-m-multi-ship}
=====================================================

The plugin supports the multi-shipping feature only for the `Adobe Commerce` registered users when they place orders with stored credit cards.

Node Implementation {#adobe-commerce-m-node-impl}
=================================================

The plugin does not support multiple-node implementation.

Support and Troubleshooting {#adobe-commerce-m-support}
=======================================================

If you require support with this software, create a support ticket at [](https://support.visaacceptance.com/ "") and provide this information:
* Summary of the issue

* Steps to reproduce the issue

* Magento platform version `Cybersource` plugin version

* Visa Acceptance Solutions merchant ID

* Configuration screenshots

* All the themes/additional extensions that are installed

* Log files  
  To retrieve log files, navigate to this path in the root directory of Magento: `Magento Folder Name\var\log`.  
  These log files are needed:

* `system.log`

* `debug.log`

* `cybs.log`

* `exception.log`

OpenCart {#opencart-overview}
=============================

The plugin for OpenCart provides a payment solution for merchants using OpenCart to manage their orders. This section describes the payment methods and services the Plugin provides.

Supported payment methods {#opencart-overview_section_xnl_nkh_sbc}
------------------------------------------------------------------

These are the supported payment methods for OpenCart:

* Credit and debit cards
* `eCheck`
* `Click to Pay`
  {#opencart-overview_ul_znl_nkh_sbc}

Supported payment services
--------------------------

These are the supported payment services available for OpenCart:
* **Payment acceptance services**
  * Authorization only
  * Sale (bundled authorization and capture)
  * Electronic check debit (sale) for `eCheck` payment method
* **Order management services**
  * Capture an authorization (not for `eCheck`)
  * Multiple partial captures (not for `eCheck`)
  * Standard and partial refunds
  * Standard and partial void captures (not for `eCheck`)
  * Standard and partial void refunds
  * Full authorization reversal (not for `eCheck`)
* **`Token Management Service` (`TMS`) for credit and debit cards payments** :
  * Create payment token along with authorization
  * Update an existing token along with authorization
  * Update an existing token from My Account section
  * Delete an existing token from My Account section
  * Create payment token for new payment methods during checkout
  * Make a payment with a stored token during checkout
* **Reporting services that allow you to import theses `Business Center` reports into OpenCart** :
  * Transaction Request Report
  * Payment Batch Detail Report
* Conversion Detail Report

Release Information {#opencart-release-info}
============================================

This section provides information about the releases for the plugin.

| Release Version | Release Date     | Support End Date |
|:----------------|:-----------------|:-----------------|
| Version 22.1.0  | October 25, 2022 | October 14, 2025 |
| Version 23.1.0  | December 8, 2023 | December 7, 2026 |

Version 23.1.0 includes the following enhancements:

* Updated authentication signature

* Added DAV enable/disable button for admin configuration

* Updated reCAPTCHA key generation tooltip URL

* Fix for target origin issue for different domain in the flex form capture context

* Compatible with OpenCart versions 3.0.3.7 and 3.0.3.8  
  Version 22.1.0

* Initial release.

Installation {#opencart-install-plugin}
=======================================

Before you install the plugin, make sure that these requirements are met:

* You are using `OpenCart` version 23.1.0.
* You have a `Business Center` account and have generated `Business Center` REST API keys:
  * To create an account, go to the [`Business Center` Registration](https://ebc2.cybersource.com/ebc2/registration/external "") website.
  * To generate REST API keys, see [restgs-intro.html](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-intro.md "").
    Follow these steps to install the plugin:

1. [Download the plugin](https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=44321 "") from the `OpenCart` website to your local system.
2. Open `OpenCart` Back Office and from the Dashboard, choose Extensions \&gt; Installer.
3. Click Upload and browse to the file you downloaded to your local system.  
   The pane displays the status of the installation. After the Plugin is installed, the pane indicates that the module is installed. You can close it or click Configure to configure the Plugin.

Configuration Overview {#opencart-config-intro}
===============================================

This section describes how to set up the plugin.  
The following table shows where to access the plugin configuration settings.  
From the left navigation panel in `OpenCart` Back Office, select **Extensions** and follow the path indicated in the table for the configuration settings you want to configure.

|                                                                       Settings                                                                        |                                       Path                                        |
|-------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
| * General Configuration * Report Configuration * Order Status Configuration                                                                           | Extensions \&gt; Extensions \&gt; Modules \&gt; `Cybersource` Configuration       |
| `Unified Checkout` * Payment Action * Payer Authentication * Status * Sort Order * Tokenization * Limit Saved Card Rate * Enforce SCA for Saving Card | Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `Unified Checkout` |
| `eCheck` * Status * Sort Order                                                                                                                        | Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `eCheck`           |
[Configuration Settings]

Enable Basic Configuration {#opencart-config-basic}
===================================================

This section describes the required and optional basic configuration settings for the plugin.  
To enable Basic Configuration, follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Modules \&gt; `Cybersource` Configuration.
2. Click the Edit icon.
3. In the General Configuration tab of the Edit `Cybersource` Configuration Module pane, from the drop down list or text box, select or enter a setting.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to enable.

Required Settings
-----------------

These settings are required for using the plugin:

Sandbox Mode
:
Set to Enable to operate in Sandbox (T) mode. You can test new changes in this mode and no funds are affected.
:
Set to Disable to operate in Production (Live) mode.

Merchant ID
:
Enter the `Business Center` Merchant ID or Organization ID, which is a unique identifier for the merchant.

Merchant Key ID
:
Enter your REST Shared Secret Key generated from within the `Business Center`. This specific key authenticates and authorizes the merchant's integration with the gateway.

Merchant Secret Key
:
Enter the complimentary Secret key that is generated at the same time as the Merchant Key ID. It is used for secure communication between the merchant's online store and a payment gateway.
{#opencart-config-basic_dl_djx_z1n_sbc}

reCAPTCHA Site key
:
For each request, this key returns a score based on the user interactions with your site. Based on these scores, you can take appropriate actions for your site, such as allowing or blocking users.

reCAPTCHA Secret key
:
This key authorizes communication between the plugin's backend and the reCAPTCHA server to verify the user's response. The secret key should be kept safe for security purposes.
{#opencart-config-basic_dl_ejx_z1n_sbc}

Optional Settings
-----------------

These settings are optional for using the plugin.

Fraud Management
:
Click Enable to enable merchants to identify and prevent fraudulent activities.

Delivery Address Verification
:
Click Enable to enable merchants to verify the delivery address.

Device Fingerprint
:
Click Enable to enable merchants to identify and track devices accessing an online store.

Developer ID
:
Identifier for the developer that helps integrate a partner solution with `Cybersource`. This settings is only required for `Cybersource` System Integrators.

Status
:
Click Enable for the `Cybersource` integration to be active and visible at checkout.

Payment Action
:
Click Enable to enable card payments for Authorize Only or Sale (Authorization and Capture) for front office transactions.

Enhanced Logs
:
Click Enable to generate logs that can be accessed by selecting Configure \&gt; Advanced Parameters \&gt; Logs.  
`Cybersource` strongly recommends that you map your Order Status responses to your preferred order status under the Order Status Configuration section.

Enable `Unified Checkout` {#opencart-config-card-payment}
=========================================================

This section describes the required and optional configuration settings for `Unified Checkout` for the plugin.  
To enable Card Payment follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `Unified Checkout`.
2. Click the Edit icon.
3. In the Edit `Cybersource` `Unified Checkout` pane, from the drop down list or text box, select or enter the setting you want.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to set.

Required Settings {#opencart-config-card-payment_section_xrn_kln_sbc}
---------------------------------------------------------------------

The following settings are required:
* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")

The following settings are required for enabling `Unified Checkout` for the plugin:

Payment Option Label
:
Enter the text you want displayed to the customer at checkout.
{#opencart-config-card-payment_dl_yrn_kln_sbc}

Allow Card Types
:
Select the card types that you want to accept.
{#opencart-config-card-payment_dl_fqh_pln_sbc}

Optional Settings
-----------------

The following settings are optional for enabling `Unified Checkout` for the plugin:

Status
:
Click Enable for the `Cybersource` integration to be active and visible at checkout.

Sort Order
:
Specify an order in which a payment method displays at checkout.

Enable Tokenization {#opencart-config-token}
============================================

This section describes the required and optional configuration settings for Tokenization for the plugin.  
To enable Tokenization follow these steps:

1. In OpenCart Back office, navigate to Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource`  `Unified Checkout`.
2. Click the Edit icon.
3. In the Edit `Cybersource` pane, from the drop down list or text box, select or enter the setting you want.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to set.

Required Settings
-----------------

The following settings are required:

* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")
* [Enable Unified Checkout](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-card-payment.md "")
  The following setting is also required for enabling Tokenization for the plugin:

Tokenization
:
Setting enables customers to save cards for future use while making a card payment.

Optional Settings
-----------------

The following settings are optional for enabling Tokenization for the plugin:

Network Token Updates
:
Enable this setting to subscribe to Network Token life cycle updates.

Limit Saved Card Rate
:
With this setting enabled, a limit is set to save only a specified number of cards in the My Account section in Front Office. There are two settings:

    * **Saved Card Limit Count**: Number of cards that can be saved in a certain period of time.
    * **Saved Card Limit Time Frame**: Number of hours that saved card attempts are counted.
    {#opencart-config-token_ul_xzs_gx2_hgc}

Enforce SCA for Saving Card
:
If enabled, card holders are `3-D Secure` challenged when saving a card.

Enable Fraud Management {#opencart-config-fraudmgmt}
====================================================

This section describes the required and optional configuration settings for Fraud Management for the plugin.  
To enable Fraud Management follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Modules \&gt; `Cybersource` Configuration.
2. Click the Edit icon.
3. In the General Configuration tab of the Edit `Cybersource` Configuration Module pane, from the drop down list or text box, select or enter the setting you want.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to enable.

Required Settings
-----------------

The following settings are required:

* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")

* [Enable Unified Checkout](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-card-payment.md "")
  The following settings are also required for enabling Fraud Management for the plugin.

* Fraud Management

* Device Fingerprint (not technically required, but highly recommended)

Optional Settings
-----------------

The following setting is optional for enabling Fraud Management for the plugin:

Conversion Detailed Report
:
This report (enabled in the Report Configuration tab) pulls Case Management changes from `Cybersource` at regular intervals to ensure orders are kept updated within `OpenCart`.

Enable `3-D Secure` (Payer Auth) {#opencart-config-3ds}
=======================================================

This section describes the required and optional configuration settings for `3-D Secure` (Payer Authentication) for the plugin.  
To enable `3-D Secure` follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `Unified Checkout`.
2. Click the Edit icon.
3. In the Edit `Cybersource` pane, select from the dropdown or specify in the text box the configuration setting option you want to set.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to enable.

Required Settings
-----------------

The following settings are required:

* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")
* [Enable Unified Checkout](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-card-payment.md "")

The following setting is also required for enabling `3-D Secure` for the plugin:

Payer Authentication
:
When this setting is enabled, an extra layer of security is added at checkout.

Optional Settings
-----------------

The following setting is optional but recommended for regions enforcing `3-D Secure` for the plugin:

Enforce SCA for Saving Card
:
When this setting is enabled, card holders are `3-D Secure` challenged when saving a card.

Enable `eCheck` {#opencart-config-echeck}
=========================================

This section describes the required and optional configuration settings for `eCheck` for the plugin.  
To enable `eCheck` follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `eCheck`.
2. Click the Edit icon.
3. In the Edit `eCheck` pane, from the drop down list or text box, select or enter the setting you want.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to enable.

Required Settings
-----------------

The following settings are required:

* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")
* [Enable Unified Checkout](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-card-payment.md "")

The following setting is also required for enabling `eCheck` for the plugin:

Status
:
With this setting enabled, `eCheck` is active.

Optional Settings
-----------------

The following setting is optional but recommended for enabling `eCheck` for the plugin:

Sort Order
:
Order in which a payment method displays at checkout.

Enable Reporting {#opencart-config-reporting}
=============================================

This section describes the required and optional configuration settings for Reporting for the plugin.  
To enable Reporting follow these steps:

1. In `OpenCart` Back office, navigate to Extensions \&gt; Extensions \&gt; Modules \&gt; `Cybersource` Configuration.
2. Click the Edit icon.
3. In the Report Configuration tab of the Edit `Cybersource` Configuration Module pane, from the drop down list or text box, select or enter the configuration setting you want.
4. Click the Save icon.
5. Repeat for each required setting and each optional setting you want to enable.

Required Settings
-----------------

The following settings are required:

* [Enable Basic Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-basic.md "")
* [Enable Unified Checkout](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-card-payment.md "")
  The following settings are also required for enabling Reporting for the plugin:

Payment Batch Detail Report
:
This report includes transactions that are processed with the applications. This report is available shortly after captured transactions are batched.
:
When set to `Enable`, this report is downloaded from the `Business Center` to `OpenCart`. The report is downloaded by default to different locations, depending on the mode in which `OpenCart` is operating:

    * In Sandbox (Test) mode, the report downloads to `{OpenCartModuleInstallationDirectory}/cybersourceofficial/Reports/Sandbox`
    * In Production (Live) mode, the report downloads to `{OpenCartModuleInstallationDirectory}/cybersourceofficial/Reports/Production`.

:
> ` Cybersource ` strongly recommends that ` OpenCart ` and the ` Business Center ` operate in the same time zone so that the Transaction Request Report and Payment Batch Detail Report work properly.

Transaction Request Report
:
This report includes details for individual transactions that are processed each day.
:
When set to `Enable`, this report is downloaded from the `Business Center` to `OpenCart`. The report is downloaded to different locations, depending on the mode in which `OpenCart` is operating:

    * In Sandbox (Test) mode, the report downloads to `{OpenCartShopModuleInstallationDirectory}/cybersourceofficial/Reports/Sandbox`
    * In Production (Live) mode, the report downloads to `{OpenCartModuleInstallationDirectory}/cybersourceofficial/Reports/Production`.

:
> ` Cybersource ` strongly recommends that ` OpenCart ` and the ` Business Center ` operate in the same time zone so that the Transaction Request Report and Payment Batch Detail Report work properly.

Optional Settings
-----------------

The following settings are optional but recommended for enabling Reporting for the plugin:

Download path
:
If you want to download the report to a path other than the default, specify that path here.

Conversion Detail Report
:
When set to `Enable`, this report pulls Case Management changes from the `Business Center` at regular intervals to ensure orders are updated in `OpenCart`.

Enforcing Strong Customer Authentication {#opencart-config-sca}
===============================================================

Select the Enforce Strong Customer Authentication setting to prompt a `3-D Secure` challenge when a customer saves their credit card information. The customer is `3-D Secure` challenged when a transaction is declined as reported by response code `478` (Strong Customer Authentication required). After the transaction is declined, another request is sent for the same order.  
The Enforce Strong Customer Authentication setting is only available when the Payer Authentication/` 3-D Secure ` (General Plugin setting) and Tokenization (Fraud Management Plugin setting) are enabled. See [Enable 3-D Secure (Payer Auth)](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-3ds.md "") and [Enable Tokenization](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-config-token.md "") for information about enabling these settings.  
Follow these steps to enable Enforce Strong Customer Authentication:

1. Open `OpenCart` Back Office and select Extensions \&gt; Extensions \&gt; Payments \&gt; `Cybersource` `Unified Checkout`.
2. Select the Edit icon.
3. From the drop down menu next to Enforce SCA for Saving Card, select **Enable**.
4. Click the Save icon.

Scheduling Report Generation {#opencart-cron-tab}
=================================================

Schedulers on a Linux, Mac, or Windows system are used to set up how often a specified report is generated. Schedulers for Linux and Mac systems are set up using a Cron Tab. The scheduler for a Windows system is set up using the Windows Task Scheduler app.  
When setting up a schedule for generating a specific report, use this format:

* **Format:** \&lt;*shop domain name*\&gt;/module/cybersourceofficial/paymentReport
* **Example:** `http://www.opencart_1.7.8.6.com/module/cybersourceofficial/paymentReport`
  {#opencart-cron-tab_ul_pvb_hln_jyb}

Cron Tab Syntax for Mac and Linux Systems {#opencart-cron-tab_section_jt4_x3n_jyb}
----------------------------------------------------------------------------------

When setting up the reporting schedule on a Linux or Mac system, you use `crontab` commands that determine how often and when the report is generated.  
The syntax is:

```
* * * * * [command]
```

{#opencart-cron-tab_codeblock_ipw_1jn_jyb}  
The asterisk (\*) represents each of these timing parameters:

* Minute (0-59)

* Hour (0-23)

* Day of Month (1-31)

* Month (1-12)

* Day of week (0-6), (0-Sunday)
  {#opencart-cron-tab_ul_rk4_fjn_jyb}  
  For example, these timing parameters indicate how often a specified report is generated:

* `* * * * * [command]`: Runs every minute of every day of every week of every month.

* `0 * * * * [command]`: Runs every hour of every day of every week of every month.

* `30 2 * * * [command]`: Runs at 2:30 a.m. every day of every week of every month.

* `0 0 2 * * [command]`: Runs once a month every month on the second day of the month.

* `0 * * * 1 [command]`: Runs every Monday at every hour.

* `0,10,20 * * * * [command]`: Runs on 0, 10, 20 minute of every hour of every day of every week of every month.

* `0 5-10 * * * *[command]`: Runs every hour between 5 a.m. and 10 a.m.

* `@reboot [command]`: Runs every time after the server reboots.

* `*/5 * * * * [command]`: Runs every five minutes of every day.
  {#opencart-cron-tab_ul_hw5_mjn_jyb}

Setting Up Cron Scheduler for Linux {#opencart-sched-cron-linux}
================================================================

1. Open a Linux terminal.

2. Enter `crontab-e` to enter editor mode. For example:

   ```
   root@OpencartQA4:/etc#  crontab -e
   ```
3. Enter the command to set the timing for the cron job. For example, this command sets the cron job to run every 15th minute of every hour, every day, every week, and every month:

   ```
   15 * * * * curl https://www.dev.opencart.cybsplugin.com/mps1760/module/mybank/paymentReport
   ```
4. Enter **Ctrl + X** to close the editor.

5. Enter the `crontab -l` command to check the scheduled cron job. For example:

   ```
   root@OpencartQA4:/etc#  crontab -l
   ```

   The scheduled cron job should appear on the screen. For example:

   ```
   15 * * * * curl https://www.dev.opencart.cybsplugin.com/mps1760/module/mybank/paymentReport
   ```

{#opencart-sched-cron-linux_codeblock_wpn_xpn_jyb}

Setting Up Cron Scheduler for Mac {#opencart-sched-cron-mac}
============================================================

1. Open a Mac terminal.

2. Enter `crontab-e` to enter editor mode.

   ```
   C02X63PRJG5J:~    $crontab -e
   ```
3. Enter the command to set the timing for the cron job. For example, this command sets the cron job to run every 45th minute of every hour, every day, every week, and every month:

   ```
   45 * * * * curl https://www.qa.opencart.cybsplugin.com/mps1786/module/cybersourceofficial/paymentReport
   ```
4. Enter **Esc + : + w + q** to close the editor. The editor closes and displays this message:

   ```
   crontab: installing new crontab
   ```
5. Enter the `crontab -l` command to check the scheduled cron job.

   ```
   C02X63PRJG5J:~    $crontab -l
   ```

   The scheduled cron job should display on the screen. For example:

   ```
   45 * * * * curl https://www.qa.opencart.cybsplugin.com/mps1786/module/cybersourceofficial/paymentReport
   ```

Setting Up Task Scheduler for Windows {#opencart-sched-task-windows}
====================================================================

1. Open the Task Scheduler app and click Create Task. The Create Task pane displays.
2. Select the General tab and enter a name for the task in the Name field.
3. Select the Triggers tab and click New. The New Trigger pane displays.
4. Make the desired timing selections for the task in the New Trigger pane and click OK.
5. Select the Actions tab in the Create Task pane and click New. The New Action pane displays.
6. Select and enter this information in the New Action pane and click OK.
   * **Action drop-down menu:** choose Start a program.
   * **Program/script field:** enter the `curl` command.
   * **Add arguments (optional):** enter the reporting URL.
     {#opencart-sched-task-windows_ul_dn2_ksn_jyb}
7. Click OK in the Create Task pane to create the task. The new task displays in the Task Scheduler Summary.

Using the Plugin {#opencart-using-extension}
============================================

The plugin provides [merchants](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-merchant-tasks.md "") a frictionless way to process payments, [prevent fraud](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-fraud-screening.md ""), and generate [reports](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-wkfw-reporting.md "") within the `Business Center` while making it easy for [customers](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-customer-tasks.md "") to place and cancel orders, and save or update stored credit or debit card information.

Order Management {#opencart-using-intro}
========================================

This section describes the order management process that occurs after a customer places an order.  
The order management process is handled using these `OpenCart` office interfaces:

* **[`OpenCart`Front Office](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-customer-tasks.md "")**: Customers use this interface to place and cancel orders, and save or update stored credit or debit card information.

* **[`OpenCart` Back Office](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-merchant-tasks.md "")** : Merchants use this interface to configure the Plugin and manage orders, which includes these tasks:

  * [Capture an authorization](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-using-intro/opencart-ordermgmt-workflows/opencart-wkfw-after-capture.md "") (multiple partial captures are also supported).
  * [Reverse an authorization](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-using-intro/opencart-ordermgmt-workflows/opencart-wkfw-after-auth.md "") (full authorization is supported).
  * [Void a capture](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-using-intro/opencart-ordermgmt-workflows/opencart-wkfw-after-capture.md "") (standard and partial voids are supported).
  * [Refund a capture](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-using-intro/opencart-ordermgmt-workflows/opencart-wkfw-after-capture.md "") (standard and partial refunds are supported).
  * [Void a refund](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-using-intro/opencart-ordermgmt-workflows/opencart-wkfw-after-refund.md "") (standard and partial voids are supported).

  {#opencart-using-intro_ul_y4v_ytj_3yb}Merchants also use the Back Office interface to configure [fraud management](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-fraud-screening.md "") and [reporting services](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-wkfw-reporting.md "").
  {#opencart-using-intro_ul_urd_cjf_3yb}

Order Status {#opencart-order-status}
=====================================

Order status is triggered and updated when transactions are processed. The plugin supports custom and default status states for orders.  
**Custom order status states:**
* Cancel error
* Canceled
* Canceled Reversal
* Chargeback
* Complete
* Denied
* Expired
* Failed
* Order cancelled by merchant
* Partial Refunded
* Partial Voided
* Payment error
* Payment pending for review
* Pending
* Processed
* Processing
* Refund Error
* Refunded
* Reversal
* Shipped
* Void Error
* Voided
  {#opencart-order-status_ul_nfg_3fm_3yb}  
  **Default order status states:**
* Processed
* Canceled
* Shipped
* Delivered
* Refunded
  {#opencart-order-status_ul_spy_qfm_3yb}  
  Only the shipped and delivered status states can be manually updated.

Order Management Workflows {#opencart-ordermgmt-workflows}
==========================================================

This section describes the order of events that the merchant completes after a customer submits an order.

After-Authorization Workflow {#opencart-wkfw-after-auth}
========================================================

This workflow comprises the sequence of events that occur after a customer places a new order using `OpenCart` Front Office. The workflow shows how the order status is updated when the authorized transaction is captured or reversed (full authorization reversal).

1. The new order displays in `OpenCart` Back Office and the order status is *Pending*.
2. The merchant chooses one of these actions:
   * Standard capture.
   * Partial capture.
   * Cancel products. For a full authorization reversal, the merchant must also cancel the order, which requires that they select all the quantities and all the items included in the order.  
     A partial authorization reversal is not supported.
3. When the merchant initiates a full authorization reversal, the authorization is cancelled and the order status is set to *Order cancelled by merchant*.
   4. When the merchant initiates a multiple partial capture, they choose how many quantities to capture and whether to include the shipping costs.  
      After multiple partial captures are processed, the order status is set to *Processing*.
4. When the merchant initiates a full capture, the entire authorization amount is captured and the order status is set to *Processed*.

After-Capture Workflow {#opencart-wkfw-after-capture}
=====================================================

This workflow comprises the sequence of events that occur after an authorization is captured. The workflow shows how the order status is updated when the captured transaction is refunded or voided.

1. The merchant selects one of these actions:
   * Standard refund
   * Partial refund
   * Void capture
2. If the merchant voids the capture, the captured transactions are voided.  
   When all quantities of the transaction are captured, the entire order is voided and the order status is set to *Payment cancelled*.  
   If only a few quantities are captured, only the captured quantities are voided and the order status is set to *Partial payment accepted*.
3. If the merchant initiates a standard refund **before** updating the order status to *shipped* , the order status is set to *Partial refunded (before shipped)* until the refunded amount becomes equal to the captured amount. When the refunded amount becomes equal to the captured amount, the order status is set to *Refunded*.
   4. When the merchant selects a refund **after** updating the order status to *shipped* , the order status is set to *Partial refunded (after shipped)* until the refunded amount becomes equal to the captured amount. When the refunded amount becomes equal to the captured amount, the order status is set to *Refunded*.  
      To refund the amount of an order, merchants can either generate a voucher or a credit slip for the refund. Depending on the type of refund they select and whether they issue a voucher or a credit slip, one of these actions occurs:
   * When the merchant chooses Generate a voucher for a partial refund, the sum of the items is not refunded. Instead, a voucher is generated that can be used for future transactions.
   * When the merchant chooses Generate a voucher and enters the amount in the shipping costs field for a partial refund, then a voucher equal to the sum of the items and the shipping amount is generated.
   * When the merchant chooses Generate a credit slip for a standard refund, the sum of the items is refunded.
   * When the merchant chooses both Generate a credit slip and Repay shipping costs for a standard refund, the sum of the items and the shipping amount are both refunded.
   * When the merchant chooses both Generate a voucher and Repay shipping costs for a standard refund, a voucher equal to the sum of the items and shipping amount is generated.

* When the merchant chooses both Generate a voucher and Generate credit slip for a standard refund, a voucher is generated and a refund for the sum of the items is not generated.

After-Refund Workflow {#opencart-wkfw-after-refund}
===================================================

This workflow comprises the sequence of events that occur when the merchant voids a refund under specific conditions:

* When the refund is processed **before** the order is shipped, the refund is cancelled and the order status is set to *Voided* or *Partially Voided*.
* When the refund is processed **after** the order is shipped, the refund is cancelled and the order status is set to *Voided* or *Partially Voided*.
* When the voided refund amount is equal to the refund amount, the refund is cancelled and the order status is set to *Voided* or *Partially Voided*.

> ` OpenCart ` does not provide an option to return Gift Certificates. For orders associated with Gift Certificates, the services mentioned below are not available:
>
> * Front Office Cancel
> * Back Office Cancel

* Void a Capture

Customer Tasks {#opencart-customer-tasks}
=========================================

Customers can use the My Account option on the merchant's `OpenCart` website to manage orders and their payment information. The following sections contain the steps to complete these tasks.

Saving Credit/Debit Card Information {#opencart-save-cards}
===========================================================

Saving card information enables customers to use that information for future transactions. Using `OpenCart` Front Office, customers can save their card information during the checkout process, or they can add their card's information to their registered `OpenCart` accounts using the `Cybersource` My Cards feature.  
If a customer wants to save their card information during the checkout process, they can select the Save my card for future payment option when entering their credit/debit card payment during checkout.  
The card information can also be saved using the `Cybersource` My Cards page in `OpenCart`:

1. Open `OpenCart` Front Office.

2. Click My Account \&gt; Managed Stored Credit Cards \&gt; `Cybersource` My Cards \&gt; Add New Card.

3. * If no current address is associated with the customer account, the customer is prompted to add an address. The customer can enter the required address information and click Save.
   * If an address is already associated with the customer account, the customer can select and use the address or add a new address.
   * When the address information is complete and selected, the customer can update the card expiration information, if needed, or delete the existing card from the account.
     {#opencart-save-cards_ul_sjc_snh_bgc}
4. To update the expiration information (expiration month/year) for the card, under Saved Cards the customer clicks the blue arrow beneath More, then clicks either Update, or Delete to remove the card from the account.

   #### ADDITIONAL INFORMATION

Customers can only add the number of cards that the merchant specified in the account configuration. The updated card information is tokenized and securely saved. The customer can use the saved card information for future transactions without having to enter that card information during the checkout process.

Selecting a Default Credit/Debit Card {#opencart-default-card}
==============================================================

When a customer has multiple cards associated with their account, they can designate the default card. By default, the first card added to the account will be set as the default card. In the `Cybersource` My Cards page, the default card is identified using an asterisk (\*) that appears to the right of the card number.  
To change the default card, the customer follows these steps:

1. Open `OpenCart` Front Office.

2. Open the `Cybersource` My Cards page. The page displays the saved cards associated with the account.

3. Choose the card to set as the default card and select More \&gt; SET AS DEFAULT. The card is set as the default card.

   #### ADDITIONAL INFORMATION

The default card cannot be deleted unless all other saved cards from the `Cybersource` My Cards section are deleted.

Cancelling an Order {#opencart-cancel-order}
============================================

This task describes the steps a customer takes to cancel an order. They cannot cancel an order if the order is in review with the merchant. The Cancel option is also not available in direct Settlement for Captured and `eCheck` orders.

1. Open `OpenCart` Front Office.

2. Select My Account \&gt; Order History. The Order history page displays the customer's orders.

3. Select the View icon for the order. The Order details page appears.

4. Click the Cancel Order icon to cancel the order. A Cancel Order confirmation notice appears.

5. Click Yes on the Cancel Order confirmation notice to cancel the order.

   #### ADDITIONAL INFORMATION

   Above the Order History, a notification appears stating **Success: Entire order was successfully cancelled.** The order is cancelled and the order status is set to *Canceled*.  
   If the order was a sales transaction or was captured, the cancellation is sent to the merchant and the status is set to *Canceled* . After the customer cancels an order, the merchant can accept or reject the order cancellation (as instructed in [Processing a Cancelled Order](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-using-extension/opencart-merchant-tasks/opencart-process-cancel-orders.md "")).  
   If the merchant accepts the cancellation request, a refund for the order amount is initiated and the order status is set to *Refunded* . If the merchant rejects the cancellation request, the order status is set to *Denied*.

Merchant Tasks {#opencart-merchant-tasks}
=========================================

Merchants use `OpenCart` Back Office to manage orders. This section describes the steps to complete these tasks.

Processing a Cancelled Order {#opencart-process-cancel-orders}
==============================================================

When a customer cancels an order, a request is sent to the merchant and the order status is set to *Cancelled*. Merchants can accept or reject an order that a customer cancels.

1. Open `OpenCart` Back Office and select Orders from the Dashboard.
2. Click the box beside the order the customer cancelled.
3. Click the View icon. Under Order Details, the information for that order displays.
4. Under **Add Order Status**, choose the order status that describes your processing of the cancellation.

Processing a Merchandise Return {#opencart-process-merch-returns}
=================================================================

When a customer requests to return merchandise, the information appears on the Merchandise Returns page in `OpenCart` Back Office. Follow these steps to process the return.

1. Open `OpenCart` Back Office and select Sales \&gt; Returns. The Product Returns page displays and identifies the order or orders for which customers have requested a return.

2. Click the box beside the order that you want to process the return and then click the Edit icon. The Edit Product Return page displays.

3. In the Product Information and Reason for Return pane, choose one of these options from the Return Action drop-down menu:

   * Credit issued
   * Refunded
   * Replacement Sent

   The status is updated for the order on the Merchandise Returns page. Next, you can proceed with selecting a return or refund option for the order.

4. Select Orders from the Dashboard.

5. Select the order for which you want to process a return, and select one of these options:

   * Return products

* Partial refund

Fraud Management {#opencart-fraud-screening}
============================================

The plugin provides fraud management functionality for merchants who also use the `Business Center`. You can apply fraud management functionality to transactions when:

* Fraud management is enabled in the plugin.

* You have a fraud management profile in the `Business Center`.  
  Fraud screening includes these features:

* **Fraud Management Essentials (FME):** used to enforce the rules created by `Cybersource` Machine Learning System (MLS). Fraud management is used to define the merchant's rules.


* **Fraud Management Rules:**
  * When the decision status from the `Business Center` is AUTHORIZED_PENDING_REVIEW or PENDING_REVIEW, the order is in review and the order status is set to *Payment pending for review*.
  * When the decision status from the `Business Center` is AUTHORIZED_RISK_DECLINED, the order is rejected and the order status is set to *Order cancelled by merchant*.

The table below describes the possible decisions, outcomes, and timing Decision Manager uses when an order is triggered for review.

> When these transactions are in a Decision Manager review state, certain settlement considerations apply:
>
> * **For authorizations:** while accepting this transaction it is not recommended to settle it in the ` Business Center `. When the transaction is settled in the ` Business Center `, the follow-on services initiated from OpenCart Back Office are impacted.
> * **For sales:**
>   * The entire authorized amount should be settled in the ` Business Center ` when accepting the transaction. When the settlement is not performed in the ` Business Center `, the follow-on services initiated from OpenCart Back Office fail.
>   * A follow-on void capture does not trigger from OpenCart Back Office. While accepting review transactions, merchants should not select the settle option.

| Decision | Execution Timing     | Outcome of Decision                                                                                                                                                             |
|:---------|:---------------------|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Monitor  | Before authorization | Authorization will be successful and no action from the Decision Manager is required. Use this decision to understand the outcome of a rule.                                    |
| Accept   | Before authorization | The order is processed normally and is placed successfully.                                                                                                                     |
| Review   | Before authorization | The authorization is successful, and follow-on services are put on hold until the merchant accepts or rejects it. The order status will be set to *Payment pending for review*. |
| Reject   | Before authorization | The order is rejected and the authorization is not processed. The merchant is not able to view the order in OpenCart Back Office.                                               |
| Monitor  | After authorization  | The authorization is successful and no action from Decision Manager is required. Use this decision to understand the outcome of a rule.                                         |
| Accept   | After authorization  | The order is processed normally and placed successfully.                                                                                                                        |
| Review   | After authorization  | The authorization is successful, and follow-on services are put on hold until the merchant accepts or rejects it. The order status is set to *Payment pending for review*.      |
| Reject   | After authorization  | The original authorization is successful and then is automatically reversed and the order status is set to *Order cancelled by merchant*.                                       |
[Decision Manager Decisions, Execution Timings, and Outcomes for Orders]

Reporting {#opencart-wkfw-reporting}
====================================

The plugin provides reporting functionality for merchants who also use the `Business Center`. You can import these reports from the `Business Center` into OpenCart:

* **Transaction Request Report:** includes details for individual transactions that are processed each day.
* **Payment Batch Detail Report:** includes transactions that are processed with the applications. This report is available shortly after captured transactions are batched.
* **Conversion Detail Report:** includes Case Management changes recorded in the `Business Center` to ensure that updated orders are also included in `OpenCart`. This report is generated at regular intervals and includes the results of the converted orders for each reviewer. This information provides an overview of all orders that were not immediately accepted.

Scheduling
----------

The Plugin reporting functionality works with a system scheduler to generate and update reports for `OpenCart`. There are some Cron Job modules available for `OpenCart`, such as the Cron Tab, that support reporting. Merchants can use any Cron Job module that `OpenCart` supports, or any other online Cron service provider to generate reports.  
See [Scheduling Report Generation](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-cron-tab.md "") for information about how to schedule report generation.

Workflow
--------

The reports are processed and orders are updated in `OpenCart` using this workflow:

1. Orders with an *AUTHORIZED_PENDING_REVIEW* or *AUTHORIZED_RISK_DECLINED* status are included in the *ps_cybersourceofficial_order* table in the OpenCart database.
2. If a review is trigged for an order based on the profile rule in Decision Manager, a *Payment pending for review* order status displays for that order on the `OpenCart` Back Office Orders page.
3. The merchant uses the `Business Center` to accept the order that is in review, and, if not already enabled, enables the reports using the Report Settings on the Plugin Configuration page.
4. The scheduler runs the report at regular intervals according to the intervals the merchant configured. The order is accepted or rejected by the merchant in the `Business Center`, is retrieved, and the new status is updated as *AUTHORIZED* or *DECLINED* . The updated order status displays in the *op_cybersourceofficial_order* table in the `OpenCart` database.
5. The original decision and the new decision are updated and displayed in the *op_cybersourceofficial_conversion_detail_report* table in the `OpenCart` database.
6. The order is updated as *Awaiting payment* status for the authorization and displayed on the `OpenCart` Back Office Orders page. The payment is accepted for the sale and any associated follow-on transactions (capture, void capture, refund, void refund, and full authorization reversal).

Testing {#opencart-test-extension}
==================================

If you have not done so already, configure these settings using OpenCart Back Office:

* **General Settings:** merchant ID, merchant key ID, and/or merchant secret key
* **Payment Settings:** applicable payment methods
  After configuring the Plugin, complete this task to test the configuration using OpenCart Front Office to place an order and OpenCart Back Office to manage the order.

1. Open OpenCart Front Office to place an order.

2. At Checkout, enter any required personal information and select the payment method you want to use to place the order.

3. Enter the card information you want to use to place the order and click Confirm Order. If the order is successful, an order confirmation message displays.

4. Open OpenCart Back Office to manage the order.

5. Select Orders from the Dashboard. The Orders page displays and lists all active orders.

6. Select the checkbox next to the order you processed in Step 1. Then click the View icon. The order status for the order should display *Pending*.

7. Click Capture to capture the authorized amount, then **Yes** . The order status changes to *Processed*.

8. Click Partial capture to capture part of the authorized amount. The order status changes to *Processing*.

9. Click Cancel to cancel the order. The order status changes to *Order Cancelled by Merchant*.

   #### ADDITIONAL INFORMATION

For more information about testing, including test cards, see [testing-guide-v1.html](https://developer.cybersource.com/hello-world/testing-guide-v1.md "")

Upgrading {#opencart-upgrade-plugin}
====================================

You can install a newer version of the plugin using `OpenCart` Back Office.

1. To uninstall `Cybersource` Payment, navigate to Extensions \&gt; Extension Types \&gt; Payments and then uninstall all of the `Cybersource` payment modules.
2. To uninstall `Cybersource` Tax, under the same Extension dropdown, select Order Totals and uninstall `Cybersource` Tax.
3. To uninstall the `Cybersource` Payment extension, under the Extension dropdown, select Modules, and uninstall the `Cybersource` Payment extension.
4. Navigate to the Extensions tab and click Installer, then click Delete to remove the `Cybersource` extension.
5. Navigate back to the Extensions tab and click Modification, then click Refresh.
6. To install the new `Cybersource` Payment extension, follow the steps mentioned in [Installation](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-overview/opencart-install.md "").

Troubleshooting Assistance {#opencart-trblshoot-help}
=====================================================

For help with troubleshooting, contact *GlobalPartnerSolutionsCS@visa.com* and provide this information:

* Summary of the issue
* Steps needed to reproduce the issue
* Platform version
* Plugin version
* Platform Merchant ID
* Configuration screenshots
* List of themes/additional extensions installed
* Log file and any other data or screenshots related to the issue

PrestaShop {#prestashop-introduction}
=====================================

The `Cybersource` extension for PrestaShop enables merchants to accept various payment methods.  
The `Cybersource` extension for PrestaShop connects your PrestaShop store to the `Cybersource` Platform, enabling secure and flexible payment acceptance.

Supported Features {#prestashop-supported-features}
===================================================

This is a list of payment methods and features supported by the `Cybersource` PrestaShop extension.

Supported Payment Methods and Features
--------------------------------------

* Credit and debit cards
* Apple Pay
* Google Pay
* `Click to Pay`
* Paze
* ACH and `eCheck`
* PayPal
* Venmo
* `3-D Secure` Payer Authentication
* Tokenization including Network Tokens
* `Cybersource` `Decision Manager` and `Fraud Management Essentials`

Supported Versions
------------------

This PrestaShop integration works with PrestaShop 8.1.6 to 9.1.5 and PHP 8.2+

Prerequisites {#prestashop-prerequisites}
=========================================

These required and optional `Cybersource` products and configurations must be in place for the PrestaShop extension.

Mandatory
---------

This product must be enabled and configured for your Merchant ID:

* `Unified Checkout`

You must also have a [REST Shared Secret Key Pair](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-shared-secret-create-intro.md#restgs-shared-secret-create-task "") and an [Respone MLE Key](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-mle-shared-secret-intro.md#restgs-security-mle-shared-secret-reply "")

Optional
--------

These products are optional. If you choose to use any of these products, they must be enabled and configured for your Merchant ID:

* `Decision Manager`
* `Fraud Management Essentials`
* Network Tokens

As of version 8.0.0, accepted card brands, payment methods, Payer Authentication for `3-D Secure`, fraud screening, and payment action is configured and enabled in the `Business Center`. For more information, see the [*Unified Checkout Developer Guide*](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-configuration-intro/uc-enable-digital-pay-intro.md "").

Mandatory Environment Prerequisite
----------------------------------

The GMP PHP extension must be enabled on your MAMP or XAMPP server for JSON Web Token messaging.

Release Notes {#prestashop-release-notes}
=========================================

Version history and release notes for the `Cybersource` PrestaShop extension.

Version 8.0.0
-------------

**Enhancements:**

* Migrated to Unified Checkout v1.x including Unified Checkout becoming responsible for calling Payer Authentication, Tokenization, and fraud screening.
* Offer Sidebar and Embedded display for Unified Checkout widget
* Added webhook support for payment response and fraud management
* Support for Network Tokens
* Support for PayPal and Venmo
* ACH/eCheck reintroduced
* Full Message Level Encryption
* Configuration UI updated

Version 7.1.0
-------------

**Enhancements:**

* PrestaShop 9.0.3 support
* Unified Checkout v0.34
* Cybersource SDK v0.0.71
* Migrated authorization API calls for Unified Checkout (complete mandate)
* eCheck support temporarily removed
* Updated endpoints from cybersource.com to visaacceptance.com
* Support for Cardinal Commerce Data Center migration
* Card payments enabled by default
* Address form displayed before Unified Checkout is loaded for 'My Cards'
* Implemented Microform for securly capturing CVV for payments with saved card
* Back office UI updates
* Display of additional response fields

Version 7.0.0
-------------

**Enhancements:**

* PrestaShop 9 support
* Hummingbird Theme compatibility
* Replaced Microform with Unified Checkout
* Unified Checkout now includes Apple Pay, Click to Pay, Google Pay, ACH, and eCheck; individual components were removed.
* Removed Latin America processing logic.

Version 6.3.1
-------------

**Enhancements:**

* PrestaShop 8.2.3 support

**Bug Fixes:**

* Installation error

Version 6.3.0
-------------

**Enhancements:**

* Message Level Encryption
* Removed CVV capture for saved card transactions.
* PrestaShop 8.2.1 support
* Ended support for PrestaShop 1.7.x.

Version 6.2.1
-------------

**Enhancements:**

* Ability to override PrestaShop order status when authorization response is AVS FAILED

Version 6.2.0
-------------

**Enhancements:**

* Extended support to PrestaShop version 8.2.0
* Microform version 2 upgrade
* Compatible with PrestaShop versions 1.7.6.0--1.7.8.11 and versions 8.0.4--8.2.0

Version 6.1.0
-------------

**Enhancements:**

* Extended support to DMPA
* Extended support to PrestaShop version 8.1.7
* Added Payer Auth mandate fields
* PSID updated

Version 5.1.0
-------------

**Enhancements:**

* Extended support to PrestaShop versions 1.7.6.0--1.7.8.11 and up to 8.1.4
* Network tokens implemented
* 3DS Firefox browser cookie issue resolved
* PSID updated

Version 4.2.0
-------------

**Enhancements:**

* Cybersource authentication signature updated
* Compatible with PrestaShop versions 1.7.6.0--1.7.8.10

Version 4.1.0
-------------

**Enhancements:**

* Installment payment options for customers in Mexico, Brazil, Colombia, Chile, and Peru. This feature enables customers to conveniently split their payments into installments.
* Grace period payment options for customers in Mexico. This feature enables customers to delay a payment for a specified period after making a purchase.
* Expanded card payment services, which include credit and debit card options. This feature enables customers to securely make payments using their preferred card type.

Version 3.1.0
-------------

**Enhancements:**

* Added backward compatibility with Multiple PrestaShop versions(1.7.0.6 to 1.7.8.7).
* Implemented Strong Customer Authentication(SCA) in PrestaShop Versions.
* Line-Item details have been added for Refund service for all payment methods.

Version 2.1.0
-------------

**Enhancements:**

* Added eCheck support
* Fraud Management feature enhanced with "Rejected due to fraud check" new status is added
* In Fraud Management Post Auth Reject by profile scenario, automatic auth reversal will be triggered.

Version 1.1.3
-------------

**Enhancements:**

* Fraud management enhanced with Rate Limiter feature.

Version 1.1.2
-------------

**Enhancements:**

* 3DS production/test URL switch logic updated.

Version 1.1.1
-------------

**Enhancements:**

* Query conflict issue noticed in few themes is fixed
* Lines items added for authorization reversal service
* For capture service, tax amount for line item are passed separately.

Version 1.1.0
-------------

**Enhancements:**

* Integrated Apple Pay payment method
* Visa SRC is re-branded as Click to Pay.

Version 1.0.5
-------------

**Enhancements:**

* BO configuration features added:
  * Hide/Show icon added for all the important keys
  * Configurable Merchant Name and Merchant Id added for Google Pay
  * Tokenization feature is enhanced with enable/disable option
  * Supported countries URL added for Google Pay and Visa SRC tooltip
  * Description added about reporting service
    {#prestashop-release-notes_ul_os4_5jh_nkc}

Version 1.0.4
-------------

**Enhancements:**

* SandBox/Production report save path configuration provided.
* Module display name is updated to Cybersource Official.
* .

Version 1.0.3
-------------

**Enhancements:**

* Back Office Add-on configurations enhanced with toggle feature
* Retry payment feature provided for failed transaction
* Latest jQuery(3.6.0) referenced instead of embedding for better integration
* Clickable tooltip added

Version 1.0.2
-------------

**Enhancements:**

* multiple changes made to the configuration screens in order to simplify the merchant onboarding journey.

**Bug Fixes:**

* Merchants could not switch to test system after release to 1.0.1 so this was required to be changed.

Version 1.0.1
-------------

**Enhancements:**

* Security Audit and internal review comments fixes
* Additional functionality like 3DS added
* Alternative solutions added for PrestaShop limitation/issues.

Version 1.0.0
-------------

**Enhancements:**

* Initial release.

Install PrestaShop {#prestashop-installation}
=============================================

Install the `Cybersource` Official extension for PrestaShop from the marketplace.
Follow these steps to install the `Cybersource` Official Plugin extension for PrestaShop.

1. Go to the [PrestaShop Marketplace](https://addons.prestashop.com/en/other-payment-methods/49944-cybersource-official.md "") and download the extension.
2. Log in to your PrestaShop back office.
3. Go to Modules \&gt; Module Manager \&gt; Upload a module.
4. Upload the module downloaded from the marketplace.

Configure PrestaShop {#prestashop-configuration}
================================================

This is the complete configuration guide for the `Cybersource` PrestaShop extension.
To configure the `Cybersource` extension for PrestaShop, go to Modules \&gt; Module Manager. Scroll down to `Cybersource` Official and click Configure.  
Click Save after you configure each tab. **General Settings Tab**

* Checkout Label: This text is displayed on your checkout page to your customers.
* Sandbox Mode:
  * Yes: Choose for testing your `Cybersource` test account.
  * No: Choose for live transactions.
* Merchant ID: The transacting Merchant ID (MID) that `Cybersource` assigned to you.
* Merchant Key ID: The Key from your REST API Shared Secret Key.
* Merchant Secret Key: The Shared Secret from your REST API Shared Secret Key.
* Key File Path: Enter the path and filename for the Response MLE certificate created in `Business Center`
* Key Password: Enter the password for the Response MLE certificate
* Checkout Version: Optional field to force a version of Unified Checkout. Format 1.x. It is recommended to leave this blank to always take the latest version.


* Display Mode:
  * Embedded: The payment widget loads within the browser page
  * Sidebar: The payment widget appears to the side of the browser
    {#prestashop-configuration_ul_j3t_bgy_ckc}
* **Tokenization:** Set to `Yes` to enable your customers to save their cards for future purposes.
* **Network Tokens:** If your `Cybersource` account is enabled for Network Tokens, set to `Yes` to inform the module it needs to manage token lifecycle updates.
* **Fraud Management:** Set to `Yes` to inform the module that your `Cybersource` account is configured for fraud screening and needs to subscribe to the REVIEW webhook notification.

> In Sale mode, if an authorization returns an ` AVS Failed ` error, you will need to manually review the transaction and decide whether to cancel or accept the transaction. If you decide to accept the transaction, you will need to manually capture the transaction.

* Enhanced Logs: To generate logs that can be accessed from ConfigureAdvanced ParametersLogs, set to `Yes`. This feature is not recommended for Production (live) mode.
  **Report Settings Tab**

* Transaction Request Report: When enabled, the extension downloads a report from `Cybersource` containing details for transactions processed each day. Set to `Yes` to enable.

* Payment Batch Detail Report: When enabled, the extension downloads a report from `Cybersource` containing details of all captures and refunds that were submitted to your payment processor. Set to `Yes` to enable.

For all reports, it is strongly recommended that your PrestaShop store and the `Cybersource` `Business Center` user profile operate in the same time zone.  
Report download locations:

* In test mode: *{PrestaShopModuleInstallationDirectory}/cybersourceofficial/Reports/Sandbox*
* In production (live) mode: *{PrestaShopModuleInstallationDirectory}/cybersourceofficial/Reports/Production*
  **Registered Webhooks Tab**  
  View information about subscribed webhooks. They can be deleted but this may affect transaction response handling. Webhooks are automatically subscribed to based on your configuration settings

Order Management {#prestashop-order-management}
===============================================

This topic explains how to manage orders including captures, refunds, and voids in the PrestaShop extension.
Orders are marked differently depending on the `Unified Checkout` payment processing choice.

* For Authorize, orders are marked as *Awaiting Payment*.
* For Sale, orders are marked as *Payment accepted*.

Fraud Screening
---------------

When fraud screening is enabled, transactions are marked based on the `Unified Checkout` payment processing choice:

* Approved orders are marked as *Awaiting Payment* or *Payment accepted* (depending on your payment processing choice).
* Orders to review are marked as *Payment pending for review*.
* Rejected orders are marked as *Order cancelled by merchant*.

Orders marked as *Payment pending for review* must be reviewed in the `Business Center`. The `Cybersource` extension will receive webhook notifications advising of your decision. Rejected transactions are marked as *Order cancelled by merchant*.  
Accepted transactions are marked according to your payment processing choice.

Capture
-------

Open the order from the order list and choose one of these options:

* Partial Capture: Select the items to capture and then click `Partial Capture`. The order is marked as *Partial payment accepted*.
* Standard Capture: Captures the entire order and marks the order as *Payment accepted*.

Refund
------

Orders can be refunded only if they are marked as *Payment accepted* or *Partial payment* accepted.

* To refund the entire order, click Standard Refund.
* To refund part of the order, click Partial Refund, choose the item(s) to refund, and then click Partial Refund.

Void
----

* For an order that was not captured, click Cancel products, choose the item(s) to cancel, then click Cancel products. This action reverses the authorization.
* For an order that was captured, click Void capture.
* For an order that was refunded, click Void refund.

Support and Troubleshooting {#prestashop-support-troubleshooting}
=================================================================

Information about getting support and troubleshooting common issues with the `Cybersource` PrestaShop extension.

Support
-------

If you require support with this extension, visit [support.visaacceptance.com](https://support.visaacceptance.com "") to raise a support case. For resold accounts, contact your reseller.  
For the support case, provide this information:

* Summary of issue
* Steps to reproduce the issue
* PrestaShop version
* `Cybersource` Extension version
* `Cybersource` merchant ID
* Configuration screenshots
* List of the additional themes and extensions installed
* Log file
* Any additional information related to the issue

FAQ
---

**PrestaShop Language Pack Installation Error**  
When you get a `Cannot download language pack` error message while installing the extension, follow these steps:

1. Go to `/htdocs/PrestaShop root/Classes` and open `tools.php`.
2. Search for `curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);`.
3. Change `false` to `true`.
4. Save the file.
5. Reload your browser and attempt installation again.

Upgrade
-------

To upgrade to the latest version of the PrestaShop extension, go to Modules \&gt; Module Manager \&gt; `Cybersource` Official and click Upgrade.

Appendix {#prestashop-appendix}
===============================

This is additional information about report scheduling for the `Cybersource Official Plugin` Prestashop extension.

Report Scheduling
-----------------

Schedulers for Linux and Mac systems are set up using a Cron Tab. The scheduler for a Windows system is configured using the Windows Task Scheduler app.  
When configuring a schedule for generating a specific report, use this format:  
**Format:** `&lt;shop domain name&gt;/module/cybersourceofficial/paymentReport`  
**Example:** `https://www.prestashop_8.2.2.com/module/cybersourceofficial/paymentReport`

Cron Tab Syntax for Mac and Linux Systems
-----------------------------------------

When setting up the reporting schedule on Linux or Mac, use crontab commands to determine how often and when the report is generated.  
The syntax is:  
\* \* \* \* \* \[command\]  
Each asterisk (\*) represents one of the timing parameters:

* Minute (0-59)
* Hour (0-23)
* Day of Month (1-31)
* Month (1-12)
* Day of week (0-6) 0 = Sunday

Cron Scheduler Setup
--------------------

1. Open a Linux or Mac terminal.
2. Enter `crontab-e` to enter editor mode.
3. Enter the command to set the timing for the cron job.
4. For example, for 15-minute intervals: `15 * * * * curl` https://www.prestashop_8.2.2.com/module/cybersourceofficial/paymentReport
5. Close the editor.
6. Enter `crontab -l` to check the scheduled cron job.

Windows Task Scheduler
----------------------

1. Open Task Scheduler and click Create Task.
2. Select the General tab and enter a name.
3. Select the Triggers tab and click New.
4. Enter the desired timings and click OK.
5. Select the Actions tab in the Create Task pane and click New.
6. Enter this information into these fields and then click OK.
   * Action: `Start a program`
   * Program/script: `curl`

* Add arguments (optional): Enter the reporting URL.

`Salesforce` B2C Commerce {#salesforce-b2c-introduction}
========================================================

The cartridge for `Salesforce` B2C Commerce enables merchants to connect their `Salesforce` B2C Commerce store to the `our platform` for payment processing.

Supported Features {#salesforce-b2c-supported-features}
=======================================================

The cartridge for `Salesforce` B2C Commerce supports multiple payment methods and features.

Payment Methods
---------------

Through `Unified Checkout`, a single integration supports the following payment methods

* Credit/debit cards
* Apple Pay
* Google Pay
* Paze
* PayPal
* Venmo
* `Click to Pay`
* `eCheck`

Through the default Salesforce payment form calling API's directly, the following payment methods are supported:

* Credit/debit cards
* Apple Pay
  {#salesforce-b2c-supported-features_ul_gzc_ymc_2kc}

Security and Fraud Management
-----------------------------

* `Payer Authentication`/`3-D Secure`
* `Token Management Service`
* `Decision Manager` and `Fraud Management Essentials`

Additional Services
-------------------

* Delivery Address Verification
* Tax Calculation
* Meta-key

Methods are also exposed to process authorization reversal, capture, and refund.

Supported Versions {#salesforce-b2c-supported-versions}
=======================================================

The cartridge is compatible with specific versions of `Salesforce` Storefront Reference Architecture (SFRA).

Compatibility
-------------

The cartridge is compatible with `Salesforce` SFRA version 7.0 and earlier.

`Cybersource` Prerequisites {#salesforce-b2c-prerequisites}
===========================================================

Before implementing the cartridge, ensure that you have the required and optional `Cybersource` products configured.

Mandatory
---------

This product must be enabled and configured for your Merchant ID:

* `Unified Checkout`

{#salesforce-b2c-prerequisites_ul_tmm_fnc_2kc}  
You must also have a [REST Shared Secret Key Pair](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-shared-secret-create-intro.md#restgs-shared-secret-create-task "") and an [Respone MLE Key](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-mle-shared-secret-intro.md#restgs-security-mle-shared-secret-reply "")

Optional
--------

These products are optional. If you choose to use any of these products, they must be enabled and configured for your Merchant ID:

* `Decision Manager`
* `Fraud Management Essentials`
* Network Tokens

{#salesforce-b2c-prerequisites_ul_amm_hnc_2kc}  
As of version 2.0.0, accepted card brands, payment methods, Payer Authentication for `3-D Secure`, fraud screening, and payment action is configured and enabled in the `Business Center`. For more information, see the [*`Unified Checkout` Configuration Guide*](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup/uc-intro-setup-ebc.md "").

Release Notes {#salesforce-b2c-release-notes}
=============================================

Release history and updates for the Visa Acceptance `Salesforce` B2C Commerce cartridge.

Version 2.0.0 (September 2026)
------------------------------

Versioning changed from Calendar Versionion to Semantic Versioning  
**Enhancements:**

* Renamed integration from Cybersource to Visa Acceptance Solutions
* Upgraded `Unified Checkout` to version 1.x, supporting multiple payment methods and services in a single integration
* Added Refund function
* Added webhook notifications for Fraud Screening and `Unified Checkout` events
* Added new Business Manager cartridge *bm_cybs_sfra*, including webhook manager page.
* Reorganised meta and site preference groupings
* Updated the authentication method to JSON web token
* Full support for Message Level Encryption
* Adjust Payer Authentication setup and Device Data Collection trigger (Direct API only)

**Changes:**

* Business Manager controls for Payer Authentication (including SCA), Decision Manager, and Transaction Type now only applies to the Salesforce default card form (direct API).
* `Unified Checkout` payment methods/services now configured in `Business Center`
* Google Pay now only supported through `Unified Checkout`
* Replaced Network Token lifecycle notifications with API based updates
* Added webhook notifications for Fraud Screening and Unified Checkout events
* Replaced Network Token lifecycle notifications with API based updates

**Security:**

* Addressed security issues

{#salesforce-b2c-release-notes_ul_nvd_q45_s3c-a}  
**Removed:**

* Microform

{#salesforce-b2c-release-notes_ul_byh_rnc_2kc}  
**Bug Fix:**

* Added Device Data Collection timeout handling
  {#salesforce-b2c-release-notes_ul_byh_rnc_2kca}

Version 26.2.0 (March 2026)
---------------------------

**Enhancements:**

* Updated Payer Authentication flow to align with SFRA best practices
* Added fallback device data capture for Payer Authentication
* Updated Mastercard `3-D Secure` Data Only transactions
* Updated Cardinal Commerce URLs for Data Center Migration
* Modified subscription creation during the authorization call in checkout
* Decision Manager support for Apple Pay Transactions
* Apple Pay address handling improvements
  * Checkout page: collect address from checkout page
  * Cart/Mini Cart page: collect address from Apple Pay
    {#salesforce-b2c-release-notes_ul_vj5_h45_s3c}

**Bug Fixes:**

* Corrected page routing for failed Apple Pay scenarios
* Fetch the total amount from the server side instead of capturing it on the frontend to avoid issues for different currencies across different locales
* Correct handling of AUTHORIZED_RISK_DECLINED response for post authorization scenarios
* CheckoutServices Error Fix: Resolved TypeError occurring when the cartridge is disabled
* Fixed issue where the Unified Checkout capture context did not refresh when the Delivery Address Verification is enabled
* Corrected page redirection issue for Decision Manager reject scenarios
* Fixed bug causing "setAddress1" of null when performing follow‑up transactions with a registered customer after updating shipping address.
* Fixed issue where the eCheck transient token exceeded the session.privacy 2000‑character limit
  {#salesforce-b2c-release-notes_ul_nvd_q45_s3c}

Version 26.1.0 (January 2026)
-----------------------------

**New Feature:**

* Added support for `3-D Secure` Data Only transactions.

Version 25.4.0 (December 2025)
------------------------------

**New Feature:**

* Added support for `Unified Checkout` v0.32 (Card Payments, Apple Pay, Google Pay, `Click to Pay`, and `eCheck`).

**Enhancement:**

* End of support for `Click to Pay` legacy.

Version 25.3.0 (May 2025)
-------------------------

**New Features:**

* Added `Payer Authentication` support for Google Pay.
* Added multi-currency support for Google Pay.

**Bug Fixes:**

* Handled session variables in SCA flow.
* Removed encryption type from Microform v2 request.

Version 25.2.0 (March 2025)
---------------------------

**New Feature:**

* Message-Level Encryption (MLE).

**Enhancement:**

* Added support for Cartes Bancaires, Elo, China UnionPay, and JCB.

Version 25.1.0 (January 2025)
-----------------------------

**New Feature:**

* Replaced Microform v0.11 with v2.

**Bug Fixes:**

* Added webhook subscription deletion if the subscription is deleted at `Cybersource` or `Salesforce` custom object.
* Handled undefined exception scenario for `3-D Secure` transactions.

Version 24.4.0 (September 2024)
-------------------------------

**New Feature:**

* DMPA support.

**Enhancement:**

* Upgraded to jQuery v3.7.0.

Version 24.3.0 (August 2024)
----------------------------

**Enhancements:**

* Upgraded the cartridge to support SFRA v7.0.
* Added MOTO Commerce Indicator.

Version 24.2.1 (May 2024)
-------------------------

**Bug Fixes:**

* Checkmarx issues fixed.
* Device fingerprint bug fixed.

Version 24.2.0 (April 2024)
---------------------------

**New Features:**

* Network token support

**Enhancements:**

* Implemented Direct API integration for `Payer Authentication`, adding Payer Authentication Setup and Device Data Collection.
* Enhanced Strong Consumer Authentication (SCA).

Version 24.1.0 (February 2024)
------------------------------

**New Features:**

* Added Strong Customer Authentication retries for card payments.

**Enhancements:**

* SFRA v6.3 support.
* `Salesforce` B2C Commerce Release 22.7 support.
* Renamed Visa SRC to `Click to Pay`.
* Implemented Sale functionality for Credit Card, Google Pay, `Click to Pay` and Apple Pay.
* Updated flex script referring from v0.11.0 to v0.11.
* Updated API header in Http Signature Authentication.

Version 21.1.0 (June 2021)
--------------------------

**Enhancements:**

* Improved `Payer Authentication` screen (modal).

**Bug Fixes:**

* Added descriptive error messages on certain fail cases and invalid inputs.
* Reloading on the final confirmation page does not result in a failed authorization.

Version 20.2.0 (February 2021)
------------------------------

**New Features:**

* Google Pay
* Visa Secure Remote Commerce payment method
* Improved the security on the My Account page by adding Microform to tokenize payment cards.

**Bug Fixes:**

* Improved the security of keys by changing data type of password fields from `String` to `password`.
* Added more security to the exposed parameters of device fingerprint.

Version 20.1.1 (November 2020)
------------------------------

**Bug Fixes:**

* Improved the security on accessing and modifying sensitive fulfillment-related actions on an order (for example, order acceptance, canceling etc.).

Version 20.1.0 (August 2020)
----------------------------

Initial release supporting:

* Credit/debit cards
* Apple Pay
* `Payer Authentication`/`3-D Secure`
* Delivery Address Verification service
* Tax Calculation service
* Authorization, Capture, Authorization Reversal

Install `Salesforce` B2C Commerce {#salesforce-b2c-installation}
================================================================

Download and install the cartridge for `Salesforce` B2C Commerce.
Before beginning installation, ensure that you have:

* Access to your `Salesforce` B2C Commerce instance.
* Node.js installed on your development machine.
* Appropriate IDE, such as VSCode with the Prophet Debugger extension.

1. Download the cartridge for `Salesforce` B2C Commerce from the ISV Integration Toolkits section on [GitHub](https://github.com/cybersource/cybersource-plugins-rest-salesforceb2ccommerce "").

2. Set up your workspace by creating a folder named `Cybersource` in your `Salesforce` workspace and copy the downloaded cartridges, *int_cybs_sfra* , *int_cybs_sfra_base* , and *bm_cybs_sfra* to the workspace.

   #### ADDITIONAL INFORMATION

   If the project's base path is different from the one available in *package.json* , open the file */package.json* and modify the `paths.base` value to point to your *app_storefront_base* cartridge. This path is used by the JS and SCSS build scripts.

3. Configure the IDE.

   #### ADDITIONAL INFORMATION

   If you use VSCode, install the Prophet Debugger extension and include these lines in *dw.json*:

   #### ADDITIONAL INFORMATION

   ```
   {
       "hostname": "your-sandbox-hostname.demandware.net",
       "username": "yourlogin",
       "password": "yourpwd",
       "version": "version_to_upload_to",
       "cartridge": [
           "int_cybs_sfra",
           "int_cybs_sfra_base",
           "bm_cybs_sfra",
           "app_storefront_base",
           "modules"
       ]
   }
   ```

   #### ADDITIONAL INFORMATION

   If you are using a different IDE, refer to the respective guide to set up your workspace.

#### RESULT

**Build and Upload Code**

1. Install the Node.js dependencies in the `Cybersource` folder.

2. Install *sgmf-scripts* and *copy-webpack-plugin* with this command:

   ```
   npm install sgmf-scripts && npm install copy-webpack-plugin
   ```

   {#salesforce-b2c-installation_codeblock_vbr_131_1kc}

3. Compile JS and SCSS with this command:

   ```
   npm run compile:js && npm run compile:scss
   ```

   {#salesforce-b2c-installation_codeblock_wbr_131_1kc}

4. Upload the code to the `Salesforce` Commerce Cloud instance:

   ```
   npm run uploadCartridge
   ```

   {#salesforce-b2c-installation_codeblock_xbr_131_1kc}

The cartridge is now installed and ready for configuration in your `Salesforce` B2C Commerce environment.

Configure for Salesforce B2C Commerce {#salesforce-b2c-configuration}
=====================================================================

Configure the cartridge in the `Salesforce` B2C Commerce Business Manager.
After installation, configure the cartridge through the `Salesforce` Business Manager to enable payment processing capabilities.

1. **Base Configuration**

2. Set up the cartridge path in `Salesforce` Business Manager by going to AdministrationSitesManage Sites\[yourSite\]Settings.

   #### Step Result

   For Cartridges, enter *bm_cybs_sfra:int_cybs_sfra:int_cybs_sfra_base:app_storefront_base* and click Apply.

3. **Upload Metadata**

4. Go to the folder *`Cybersource`/metadata/payments_metadata/sites/*.

5. Rename the folder `yourSiteID` with your site ID from `Salesforce` Business Manager.

   #### ADDITIONAL INFORMATION

   This can be found by going to AdministrationSitesManage Sites.

6. Zip the *payments_metadata* folder.

7. Go to AdministrationSite DevelopmentSite Import \& Export and upload the *payments_metadata.zip* file.

8. Import the uploaded zip file.

   #### Step Result

   Upon successful import, this metadata is created:

   * Site Preferences: VisaAcceptance_Core, VisaAcceptance_SecureIntegrationConfiguration, VisaAcceptance_SalesforceDefaultAcceptance_Configuration, VisaAcceptance_ApplePay, VisaAcceptance_Tokenization, VisaAcceptance_DeviceFingerprint, VisaAcceptance_DeliveryAddressVerification, VisaAcceptance_TaxConfiguration, VisaAcceptance_MLE
   * Service: PaymentHttpService
   * Payment Processor
   * Payment Method
   * Jobs: Payment : Decision Manager Order Update, Payment: Refresh Payment Status
     {#salesforce-b2c-configuration_ul_cgn_z31_1kc}
9. As of version 2.0.0, Payer Authentication (including SCA), Decision Manager, and Transaction Type are now grouped under Salesforce Default Acceptance Configuration, and apply to the Salesforce default card form (Direct API) only. Standalone Google Pay preferences have been removed.  
   **Minimum Configuration**

10. Configure the Visa Acceptance Core preferences by going to Merchant ToolsSite PreferencesCustom PreferencesVisa Acceptance Cartridge Configuration and setting these configuration parameters:

    #### ADDITIONAL INFORMATION

    * Enable Visa Acceptance Cartridge: Enable the cartridge.
    * `Cybersource` Merchant ID: The transacting Merchant ID assigned to you.
    * `Cybersource` REST KeyId: The key from your REST API shared secret key.
    * `Cybersource` REST Secret Key: The shared secret from your REST API shared secret key.
    * Commerce Indicator:
      * For eCommerce transactions, use `internet`.
      * When you are using the store for call center transactions only, use `MOTO`.
        {#salesforce-b2c-configuration_ul_rjz_zkn_yhc}
    * **Enable Visa Acceptance Test Endpoints** : Disabled by default. This enables the capture and authorization reversal endpoints (`ServiceFrameworkTest` controller). Use only in a sandbox environment.
    * **Enable Meta Key** : Enable Meta Key for portfolio/account-level key management *(optional).*
    * **Meta Key Portfolio Merchant ID** : The `Cybersource` portfolio/account Merchant ID that owns the Meta Key *(optional)*.
      {#salesforce-b2c-configuration_ul_rdj_mj1_1kc}
    11. **Services**  
        The target endpoints need to be set in your `Salesforce` B2C Commerce environment.
11. Configure the services by going to Merchant ToolsOperationsServicesPayment Credentials and enter the following URLs:

    #### ADDITIONAL INFORMATION

    * Environment: Test URL: https://apitest.visaacceptance.com
    * Environment: Production URL: https://api.visaacceptance.com
      {#salesforce-b2c-configuration_ul_rdj_mj1_1kcde}
12. **Payment Capture Method**

13. Go to Merchant ToolsOrderingPayment Methods, select `CREDIT_CARD`, and verify that the payment processor is `PAYMENTS_CREDIT`.

14. Go to Merchant ToolsSite PreferencesCustom PreferencesSecure Integration Configuration.

    #### ADDITIONAL INFORMATION

    Choose from

    #### ADDITIONAL INFORMATION

    1. `Unified Checkout`
    2. Direct API (default Salesforce payment form)

    #### ADDITIONAL INFORMATION

    `Unified Checkout` might qualify you for PCI-DSS SAQ:A because the card number is collected in secure fields and never resides on your server.  
    If you need access to the card number, select `Direct API`. This option increases your PCI burden.  
    If you select Unified Checkout, please see [Unified Checkout Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction/salesforce-b2c-opt-config/salesforce-b2c-unified_checkout_options.md "")

#### RESULT

The cartridge is now configured with basic settings.

Digital Payment Methods {#salesforce-b2c-digital-payment-methods}
=================================================================

Apple Pay and Google Pay can be standalone options, or they can be offered as payment options with `Click to Pay` within `Unified Checkout`.
You can configure digital payment methods in two ways: `Unified Checkout` or as standalone options.

1. To configure `Unified Checkout`, go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Secure Integration Configuration.

2. In the Digital Payment Methods in `Unified Checkout` field, select Apple Pay, Google Pay, or `Click to Pay`. You can choose any or all of the options.

   #### ADDITIONAL INFORMATION

   > If you are using ` Unified Checkout ` for digital payment methods, the payment methods must be enabled for your Merchant ID in ` Business Center `. For more information about enabling digital payments, see [Enable Digital Payments](https://developer.visaacceptance.com/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-configuration-intro/uc-enable-digital-pay-intro.md "").

3. Enable `Unified Checkout` for Cart and Mini Cart: Enable this option to display digital payment methods for quick checkout on the cart and mini cart pages.

4. Go to Merchant Tools \&gt; Ordering \&gt; Payment Methods and confirm that these options are enabled for the methods you accept:

   #### ADDITIONAL INFORMATION

   * DW_APPLE_PAY: Verify that the Payment Processor is `PAYMENTS_APPLEPAY`.
   * DW_GOOGLE_PAY: Verify that the Payment Processor is ` PAYMENTS_CREDIT`.

* CLICK_TO_PAY: Verify that the Payment Processor is `PAYMENTS_CLICK_TO_PAY`.

Apple Pay Standalone Configuration {#salesforce-b2c-apple-pay-standalone}
=========================================================================

To offer Apple Pay outside of `Unified Checkout`, follow these steps to enable Apple Pay in your `Salesforce` B2C Commerce store.
Follow the steps documented [here](https://developer.visaacceptance.com/docs/vas/en-us/apple-pay/developer/ctv/rest/applepay/applepay-cfg.md "") first, before you follow this procedure to enable Apple Pay in your `Salesforce` B2C Commerce store.

1. `Salesforce` Business Manager Configuration

   1. Go to: Merchant Tools \&gt; Site Preferences \&gt; Apple pay.

   2. Check Apple Pay Enabled?

   3. Complete the "Onboarding" form:

      #### ADDITIONAL INFORMATION

      * Ensure the Apple Merchant ID and the Apple Merchant Name values you enter match the settings in your Apple account.
      * Ensure all other fields match your supported `Cybersource` settings.
        * Country Code: Enter the country code for the location of your site. The country code is a two letter ISO 3166 country code (for example, `US`).
        * Merchant Capabilities: Check the box for 3-D Secure, leave the other fields unchecked.
        * Supported Networks: Select the types of payment you support: `Amex`, `Mastercard`, and `Visa` are supported by `Cybersource`.
        * Required Shipping Address Fields: Select the fields that are required on the shipping form. `Cybersource` recommends Email, Name, Phone, and Postal Address.
        * Required Billing Address Fields: Select Name and Postal Address.
          {#salesforce-b2c-apple-pay-standalone_ul_lj4_14n_yhc}
   4. Fill in the Storefront Injection form:

      #### ADDITIONAL INFORMATION

      Select where to display Apple Pay buttons on your site.

   5. Fill in the Payment Integration form:

      #### ADDITIONAL INFORMATION

      * Use Commerce Cloud Apple Pay Payment API? Checked
      * Payment Provider URL:
        * Test: https://apitest.cybersource.com/partner/demandware/payments/v1/authorizations
        * Production: https://api.cybersource.com/partner/demandware/payments/v1/authorizations
          {#salesforce-b2c-apple-pay-standalone_ul_h3d_w4n_yhc}
      * Payment Provider Merchant ID: Enter your `Cybersource` merchant ID.
      * API Version: v1
      * Use Basic Authorization? Unchecked
      * Payment Provider User: Not Applicable
      * Payment Provider Password: Not Applicable
      * Use JWS? == Yes
      * JWS Private Key Alias: Merchant.p12 Key Alias

      #### Step Result

      The private key alias is created when a merchant uploads their .p12 key file (from `Cybersource` self-serve) to Commerce Cloud's `Salesforce` Business Manager Module, Private Keys and Certificates (Administration \&gt; Operations \&gt; Private Keys and Certificates)

   6. Click Submit.

2. Domain Registration in `Salesforce` Business Manager

   1. Go to Merchant Tools \&gt; Site Preferences \&gt; Apple Pay.

   2. Under Domain Registration section

      #### ADDITIONAL INFORMATION

      * In the Apple Sandbox section, click Register Apple Sandbox to register `Salesforce` B2C to the Apple Sandbox account.
      * In the Apple Production section, click on Register Apple Production to register `Salesforce` B2C to the Apple Production account.
3. Transaction Type

   #### ADDITIONAL INFORMATION

Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Apple Pay and choose `Authorization` or `Sale`.

Google Pay Standalone Configuration {#salesforce-b2c-google-pay-standalone}
===========================================================================

To offer Google Pay outside of `Unified Checkout`, follow these steps to enable Google Pay in your `Salesforce` B2C Commerce store.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Google Pay.
2. Configure Google Pay settings:
   1. Enable Google Pay: Enable.
   2. Enable Google Pay on Mini Cart: Enable to show Google Pay as a checkout option in the mini cart.
   3. Enable Google Pay on Cart: Enable to show Google Pay as a checkout option in the cart.
   4. Google Pay Merchant Id: Enter your Google Pay merchant ID (for live processing only).
   5. Google Pay Environment: Choose `Test` for testing and `Production` for live.
3. Google Pay Transaction Type: Choose `Authorization` or `Sale`.

Alternative Payment Methods {#salesforce-b2c-alternative-payment-methods}
=========================================================================

Configure alternative payment methods such as `eCheck` for your `Salesforce` B2C Commerce store. Follow this procedure to enable `eCheck` as a payment option within `Unified Checkout`.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Secure Integration Configuration.
2. Set the Enable `eCheck` option to `Yes`.
3. Go to Merchant Tools \&gt; Ordering \&gt; Payment Methods and confirm that the payment processor is set to `BANK_TRANSFER`.

`Payer Authentication` and `3-D Secure` {#salesforce-b2c-payer-authentication}
==============================================================================

Configure `Payer Authentication` and `3-D Secure` for enhanced transaction security.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Cybersource_PayerAuthentication.

2. In `Payer Authentication` Mode, choose one of these options:

   #### ADDITIONAL INFORMATION

   * `Yes`: All transactions will process with `3-D Secure`.
   * `No`: No transactions will process with `3-D Secure`.
   * `Data Only + Yes`: Data Only will be used for Visa and Mastercard/Maestro. All other card brands will process with `3-D Secure`.
   * `Data Only + No`: Data Only will be used for Visa and Mastercard/Maestro. All other card brands will process without `3-D Secure`.
     {#salesforce-b2c-payer-authentication_ul_h4j_nlm_whc}
3. IsSCAEnabled: Enable this option to enforce Strong Consumer Authentication (`3-D Secure` Challenge) when a customer is saving their payment card for future transactions.

Tokenization {#salesforce-b2c-tokenization}
===========================================

Tokenization enables your customers to save their payment cards securely for future payments.

1. To enable tokenization, go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Cybersource_Tokenization.
2. Enable the Enable Tokenization Services option to turn on Tokenization.
3. Enable the Enable Limiting Saved Cardoption to set the limits associated to saving cards.
4. In the Saved Cards Allowedoption, enter the number of cards a customer can save in the defined time limit.
5. In the Reset Interval option, specify the number of hours before the saved card limit resets.
6. Enable the Network Token Updates option to prompt the cartridge to subscribe for Token Life Cycle Updates webhooks when your `Cybersource` MID is configured for network tokens.
7. Go to Merchant Tools \&gt; Custom objects \&gt; Custom Object Editor and verify that the custom object type Network Tokens Webhook exists.

Fraud Screening {#salesforce-b2c-fraud-screening}
=================================================

Enabling Fraud Screening alerts the cartridge to look for fraud screening responses. Fraud Screening profiles must be set up in the `Business Center`.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_DecisionManager and set these options:

   1. Enable the Enable `Decision Manager` Services option.
   2. Conversion Detail Report Lookback Time: If you are using REVIEW rules and configure the `Decision Manager` Update Job, set the number of hours to look back for updates to transactions in REVIEW status. The maximum is 24 hours.
2. To enable the `Decision Manager` Update Job to poll for updates to the reviewed transactions, go to Administration \&gt; Operations \&gt; Jobs and select Payment: `Decision Manager` Order Update and set these values:

   #### ADDITIONAL INFORMATION

   * ID: Enter a job ID.
   * Description: Enter the job description.
   * ExecuteScriptModule.Module: int_cybs_sfra_base/cartridge/scripts/jobs/DMOrderStatusUpdate.js
   * ExecuteScriptModule.FunctionName: orderStatusUpdate
   * ExecuteScriptModule.Transactional:
     * `True`: All changes occur as a single atomic operation. If any error occurs during the job, the system rolls back all changes to maintain data consistency.
     * `False`: No automatic rollback is applied. Merchants must handle transaction logic manually. This is often preferred for large batch jobs.
       {#salesforce-b2c-fraud-screening_ul_g3x_1tn_yhc}
   * ExecuteScriptModule.TimeoutInSeconds: Set the function timeout value.
     {#salesforce-b2c-fraud-screening_ul_ows_m2d_c3c}

Device FingerPrint {#salesforce-b2c-device-fingerprint}
=======================================================

Device FingerPrinting collects information about the device used when paying for an order and can assist in fraud screening decisions.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Cybersource_DeviceFingerprint.
2. Enable the Enable DeviceFingerprint Service option.
3. In the Organization ID field, enter the Organization ID. Contact support if you do not know this value.
4. In the ThreatMetrix URL field, enter the URL that points to the JavaScript that generates and retrieves the fingerprint of the device.
5. In the TTL (Time to Live)field, enter how many milliseconds to wait before generating a new fingerprint for any given customer session.

Delivery Address Verification {#salesforce-b2c-delivery-address-verification}
=============================================================================

To verify the customers shipping address during checkout, configure Delivery Address Verification services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_DeliveryAddressVerification.
2. Enable the Delivery Address Verification Services option.

Tax Calculation {#salesforce-b2c-tax-calculation}
=================================================

To calculate local taxes once the customer enters their address at checkout, configure the Tax Calculation services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Cybersource_TaxConfiguration and set these options:

2. Enable the Enable Tax Calculation field.

3. Configure these tax settings:

   #### ADDITIONAL INFORMATION

   * List of Nexus States: List the states to calculate tax for.
   * List of Nexus States to Exclude: List the states to not calculate tax for.
   * Merchants VAT Registration Number: Enter your VAT registration number if you have one.
   * Default Product Tax Code: Enter the default tax code to use for products in the basket without a tax code.
   * Purchase Order Acceptance City
   * Purchase Order Acceptance State Code
   * Purchase Order Acceptance Zip Code
   * Purchase Order Acceptance Country Code
   * Purchase Order Origin City
   * Purchase Order Origin State Code
   * Purchase Order Origin Zip Code
   * Purchase Order Origin Country Code
   * Ship From City
   * Ship From State Code
   * Ship From Zip Code
   * Ship From Country Code

#### RESULT

If you enable Tax Calculation and do not specify any states in List of Nexus States or List of Nexus States to Exclude, Tax Calculation assumes every state or province is taxable. You can leave either the List of Nexus States or the List of Nexus States to Exclude as empty, but both cannot be empty.

Message Level Encryption {#salesforce-b2c-message-level-encryption}
===================================================================

Message Level Encryption (MLE) uses certificates to ensure each message is securely encrypted and tied to the sender's verified identity, without needing to share secret keys in advance.
MLE provides stronger authentication, easier key management, and better protection against fraud or tampering.  
A shared secret uses the same key for both sending and receiving messages, meaning both parties must securely exchange and protect that key in advance. While MLE can be simpler, it offers less identity verification and can be more vulnerable if the key is compromised.

> Message Level Encryption requires that a [.p12 certificate to be created](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-security-p12-intro.md "").

1. Extract and convert the p12 certificate to the .*pem* format using this command:

   ```
   openssl pkcs12 -in &lt;key filename&gt;.p12 -cacerts -nokeys -out &lt;key filename&gt;.crt
   ```

   {#salesforce-b2c-message-level-encryption_codeblock_e5t_13d_c3c} Be sure to note the serial number of the ` Cybersource `_SJC_US certificate.

2. Import the certificate, by going to Administration \&gt; Operations \&gt; Private Keys and Certificates and importing the extracted *.crt*. Make a note of the alias.

3. Enable Message Level Encryption, by going to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Cybersource_MLE.

4. Enable the Enable Message-Level Encryption option.

5. In the Alias of the Certificatefield, enter the Alias from when the certificate was imported.

6. In the Certificate Serial Numberfield, enter the serial number from the `Cybersource`_SJC_US certificate.

Order Management {#salesforce-b2c-order-management}
===================================================

`Salesforce` B2C Commerce does not natively support order management functions. This cartridge has functions that can be used to process captures and authorization reversals.

> These functions must be customized before use in the ` Salesforce ` B2C Commerce user interface.
> *The ServiceFrameworkTest example controllers referenced below are for testing only. Access is granted only when **all** of the following are true:*

1. The Salesforce instance is **not** a production instance.
2. The **Enable Visa Acceptance Test Endpoints** preference (Custom Preferences \&gt; Visa Acceptance Cartridge configuration) is enabled. It is disabled by default.
3. The caller is an **authenticated, registered customer** who is a member of the `VisaAcceptanceTestAdmin` customer group

{#salesforce-b2c-order-management_ol_jkf_b2k_2kc}  
*The VisaAcceptanceTestAdmin customer group is not created by the metadata import --- you must create it in Business Manager under **Merchant Tools \&gt; Customers \&gt; Customer Groups** and assign it only to authorized merchant staff. Only members of this group can access the test endpoints; any request from a non-member (or an unauthenticated visitor) is redirected to the home page.*

Capture
-------

The capture function can be found in the script *scripts/http/capture.js*. A working example is available in the ServiceFrameworkTest-TestCaptureService controller.  
Reference the capture.js object and make this request:

```
var captureObj = require("~/cartridge/scripts/http/capture.js");
var serviceResponse = captureObj.httpCapturePayment(requestID, merchantRefCode, paymentTotal, currency);
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Capture request parameters:  
**Capture Request Parameters:**

* requestID: The `Cybersource` Request ID from the initial authorization.
* merchantRefCode: The `Salesforce` Order Number.
* purchaseTotal: The capture amount.
* currency: Currency Code.

**Function Signature:**

```
httpCapturePayment(requestID, merchantRefCode, purchaseTotal, currency)
```

Authorization Reversal
----------------------

The authorization reversal function can be found in the script called *scripts/http/authReversal.js*. A working example is in the ServiceFrameworkTest-TestAuthReversal controller.  
Reference the AuthReversal.js object and make this request:

```
var reversalObj = require("~/cartridge/scripts/http/authReversal.js");
var serviceResponse = reversalObj.httpAuthReversal(requestID, merchantRefCode, paymentTotal, currency);
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Authorization reversal request parameters:  
**Authorization Reversal Request Parameters:**

* requestID: The `Cybersource` Request ID from the initial authorization.
* merchantRefCode: The `Salesforce` Order Number.
* purchaseTotal: The reversal amount.
* currency: Currency Code.

Refund
------

The refund function can be found in the script called *scripts/http/refund.js*. A working example is in the ServiceFrameworkTest-RefundService controller.  
Reference the refund.js object and make this request:

```
var refundObj = require("~/cartridge/scripts/http/refund.js");
var serviceResponse = refundObj.httpRefundPayment(transactionId, merchantRefCode, paymentTotal, currency, refundEndpointType);
            
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Authorization reversal request parameters:  
**Authorization Reversal Request Parameters:**

* requestID: The `Cybersource` Request ID from the capture or sale.
* merchantRefCode: The `Salesforce` Order Number.
* paymentTotal: The refund amount.
* currency: Currency Code.
* refundEndpointType: 'payments' for ACH/eCheck amd 'captures' for all other payments

**Function Signature:**

```
httpRefundPayment(transactionId, referenceInformationCode, total, currency, refundEndpointType)
```

*Refunds are capped at the remaining refundable balance. A refund (whether full, a single partial, or the running total of multiple partials) that exceeds the captured amount is rejected before the gateway call.*

Customization {#salesforce-b2c-customization}
=============================================

The cartridge for `Salesforce` B2C Commerce has built-in custom hooks that can be used to customize the request data that is sent to each service.  
These hooks can send additional custom data, such as Merchant Defined Data for authorization requests.

How Custom Hooks Work
---------------------

After a request for a particular service is built, there is a check for any code registering to the hook `app.payment.modifyrequest`. If present, the hook is called for that specific request and the request object is passed into the hook. The return value of the hook is sent to `Cybersource` as the final request object. Through this process, you can inject your own data into the request object from the custom code you write in a separate cartridge.

Implementation
--------------

To customize request objects, register the hook `app.payment.modifyrequest` in your cartridge's *hooks.json* file. An example would look like this, replacing the script path with your own script:

```
{
    "name": "app.payment.modifyrequest",
    "script": "./cartridge/scripts/hooks/modifyRequestExample"
}
```

You can copy the *scripts/hooks/modifyRequestExample* script from this cartridge into your own to use as a template for extending and modifying service request objects. Note that every hook must return a valid request object for the given service. Refer to the [*REST API Field Reference*](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields.md "") for information about any field you want to customize or add.

Support and Troubleshooting {#salesforce-b2c-support-troubleshooting}
=====================================================================

Getting Support
---------------

If you require support with this extension, visit [support.visaacceptance.com](https://support.visaacceptance.com "") to raise a support case.

Required Information for Support Cases
--------------------------------------

Provide this information for your support case:

* Summary of the issue.
* Steps to reproduce the issue.
* B2C Commerce cartridge version.
* `Cybersource` Merchant ID.
* Configuration screenshots: Provide screenshots of custom preference configurations.
* Log file and other relevant data: Download the logs from Administration \&gt; Site Development \&gt; Development Setup \&gt; Log files.

Upgrade {#salesforce-b2c-upgrade}
=================================

Upgrade the cartridge to a later version.

1. Download the code from the ISV Integration Toolkits section on [GitHub](https://github.com/cybersource/cybersource-plugins-rest-salesforceb2ccommerce "").
2. Zip the *payments_metadata* folder.
3. Go to Administration \&gt; Site Development \&gt; Site Import \& Export and upload the *payments_metadata.zip* file.
4. Import the uploaded zip file.
5. Check release notes for any configuration parameters that might have changed.

#### RESULT

The cartridge is successfully upgraded to the latest version.

#### AFTER COMPLETING THE TASK

**Migrating to v2.0.0**  
Version 2.0.0 is a major release. When upgrading from an earlier release, review these changes:

1. **Add the new Business Manager cartridge.** Add `bm_cybs_sfra` to the Business Manager cartridge path (it provides the Webhook Manager page). See [Configuration](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction/salesforce-b2c-configuration.md "").
2. Update the **service endpoints.** The endpoints changed to https://apitest.visaacceptance.com (test) and https://api.visaacceptance.com (production).
3. Update the **Payment Credentials** service URL under **Administration \&gt; Operations \&gt; Services**.
4. **Re-check site preferences.** Preference groups were renamed to VisaAcceptance_\* and regrouped. Payer Authentication, SCA, Decision Manager, and Transaction Type are now under **Salesforce Default Acceptance Configuration** and apply to the Salesforce default card form (Direct API) only. For `Unified Checkout`, configure these controls in the `Cybersource` `Business Center`. Confirm your settings after importing metadata.
5. **Removed features:**
   1. **Flex Microform** --- card capture is now `Unified Checkout` or the Salesforce default payment form (Direct API).
   2. **Standalone Google Pay** --- Google Pay is now offered through `Unified Checkout`. Standalone Apple Pay is still supported.
   3. **Network Token webhook** --- token updates are now retrieved through the `Token Management Service` API.
      {#salesforce-b2c-upgrade_ol_blp_23k_2kc}
6. **Set up webhooks.** Order updates are now driven by webhook notifications. Subscribe using the new Webhook Manager. The Salesforce jobs remain as a fallback. See [Webhooks](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction/salesforce-b2c-opt-config/salesforce-b2c-webhooks.md "").
7. **Authentication.** API authentication continues to use your REST Shared Secret and Key ID. Message-Level Encryption (MLE) uses a P12 certificate.
   {#salesforce-b2c-upgrade_ol_nn1_phk_2kc}

Message-Level Encryption {#salesforce-b2c-message-level-encryption}
===================================================================

Message Level Encryption (MLE) uses certificates to ensure that each message is securely encrypted and tied to the sender's verified identity, without needing to share secret keys in advance.
MLE provides stronger authentication, easier key management, and better protection against fraud or tampering.  
A shared secret uses the same key for both sending and receiving messages, which means that both parties must securely exchange and protect that key in advance. While a shared secret can be simpler, it offers less identity verification and can be more vulnerable if the key is compromised.

> Message-Level Encryption requires a [.p12 certificate to be created](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-security-p12-intro.md "").

1. Enable Meta Key: Set to yes to tell the cartridge that the keys/certificate provided are Meta Keys
2. Import the certificate by going to Administration \&gt; Operations \&gt; Private Keys and Certificates and importing the extracted *.crt*. Make a note of the alias.
3. Enable Message Level Encryption by going to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_MLE.
4. Enable the Enable Message-Level Encryption option.
5. In the Alias of the Certificate field, enter the Alias from when the certificate was imported.
6. In the Certificate Serial Number field, enter the serial number from the `Cybersource`_SJC_US certificate.

Optional Configuration {#salesforce-b2c-opt-config}
===================================================

Additional optional configurations can be applied based on your specific requirements.

Message-Level Encryption {#salesforce-b2c-message-level-encryption}
===================================================================

Message Level Encryption (MLE) uses certificates to ensure that each message is securely encrypted and tied to the sender's verified identity, without needing to share secret keys in advance.
Message Level Encryption (MLE) provides stronger authentication and better protection against fraud or tampering.  
Enabling MLE for transacation is optional, but a

> Message-Level Encryption requires a Response MLE certificate to be created. The same certificate is used for Request and Response messgaes. A REST Shared Secret is still required. See [*Create a REST---API Response MLE Key*](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-mle-shared-secret-intro.md#restgs-security-mle-shared-secret-reply "") for steps on how to create a Response MLE certificate.

1. Enable Message Level Encryption by going to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_MLE.
2. Enable the Enable Message-Level Encryption option.
3. In the Alias of the Certificate field, enter the Alias from when the certificate was imported.
4. In the Certificate Serial Number field, enter the serial number from the `Cybersource`_SJC_US certificate.
5. Upload the Response MLE certificate.
   1. Option 1 ([recommended](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-webservices.md#storing-certificates "")): Extract Certificate

      #### ADDITIONAL INFORMATION

      1. Extract certificate: convert the Response MLE p12 certifcate to .pem format using this command:

         ```
         openssl pkcs12 -in &lt;key filename&gt;.p12 -cacerts -nokeys -out &lt;key filename&gt;.crt

         ```
      2. Open the converted file in a text editor and make sure *CyberSource_SJC_US* is the first certificate. Make a note of the *CyberSource_SJC_US* serial number.

      3. Import certificate: Go to **Administration \&gt; Operations \&gt; Private Keys and Certificates** and import the extracted .crt. Make a note of the alias.

      4. Go to **Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Message-Level Encryption Configuration** :

         1. **Alias of the Certificate:** Enter the alias provided when the MLE certificate was imported
         2. **Certificate Serial Number:** Enter the *CyberSource_SJC_US* serial number
         3. **Alias of the Certificate** (Egress/Webhooks)
            {#salesforce-b2c-message-level-encryption_ol_dxj_zmq_4kc}
      5. 

      {#salesforce-b2c-message-level-encryption_ol_kx1_ylq_4kc}

6. Option 2: ImPex

`Unified Checkout` Configuration {#unified_checkout_options}
============================================================

Configuration requirements and options for `Unified Checkout`.
There are required and optional configuration options for `Unified Checkout`.
**`Unified Checkout` Digital/Alternative Payment Methods Payment Processor Mapping**  
If you want to offer Digital or Alternative Payment Methods via Unified Checkout, ensure each payment method has the correct Payment Processor mapping.
Go To Merchant ToolsOrderingPayment Methods and verifiy the following mappings:

* DW_APPLE_PAY - Payment Processor `PAYMENTS_APPLEPAY`.
* DW_GOOGLE_PAY - Payment Processor `PAYMENTS_GOOGLEPAY`.
* DW_PAZE - Payment Processor `PAYMENTS_PAZE`.
* PAYPAL - Payment Processor `PAYMENTS_PAYPAL`.
* VENMO - Payment Processor `PAYMENTS_VENMO`.
* CLICK_TO_PAY - Payment Processor `PAYMENTS_CLICK_TO_PAY`.
* BANK_TRANSFER - Payment Processor `BANK_TRANSFER` *(for `eCheck`*)

{#unified_checkout_options_ul_e44_ztq_4kc}  
Additional transaction responses from `Unified Checkout` are delivered by webhook notifications. Please see [Webhooks](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction/salesforce-b2c-opt-config/salesforce-b2c-webhooks.md "") for setup steps.

1. **`Unified Checkout` Optional Configuration**  
   To set the following options, go to Merchant ToolsSite PreferencesCustom PreferencesSecure Integration Configuration.

2. Set the **Checkout Label** for `Unified Checkout`.

   #### ADDITIONAL INFORMATION

   Choose your own checkout page label. You can choose up to 60 characters and the default value is "Secure Payments powered by Visa Acceptance Solutions"

3. Set the **Enable Express Pay** option.

   #### ADDITIONAL INFORMATION

   Separates digital wallet payment methods from the main card capture widget.

4. Set the `Unified Checkout` **Version** option.

   #### ADDITIONAL INFORMATION

   Pin a specific `Unified Checkout` version. Available for version 1.0 onwards. Leave this field blank for the latest version (recommended).

5. Set the **Card Prefix (BIN)** in `Unified Checkout` response option.

   #### ADDITIONAL INFORMATION

   1. **None**: the Card BIN is not returned
   2. **Six-digit**: the 6 digit BIN is returned
   3. **Eight-digit**: the 8 digit BIN is returned
      {#unified_checkout_options_ol_kjb_fqq_4kc}
6. Set the **Non-Wallet** `Unified Checkout` **Display Mode** option.

   #### ADDITIONAL INFORMATION

   If Express Pay has been enabled, this applies to the non-express pay methods only.

   1. **Embedded**: the payment widget is displayed within the checkout page
   2. **Sidebar**: the payment widget appears on the side of the customer's browser.
      {#unified_checkout_options_ol_ljb_fqq_4kc}

Configure Apple Pay Standalone {#salesforce-b2c-apple-pay-standalone}
=====================================================================

To offer Apple Pay outside of `Unified Checkout`, enable Apple Pay in your `Salesforce` B2C Commerce store.
Before you begin, complete [Integrating Apple Pay into Your System](https://developer.visaacceptance.com/docs/vas/en-us/apple-pay/developer/ctv/rest/applepay/applepay-cfg.md "").

1. Configure `Salesforce` Business Manager.

   1. From the menu, choose Merchant Tools \&gt; Site Preferences \&gt; Apple Pay.

   2. Select the Apple Pay Enabled? check box.

   3. Complete the Onboarding form:

      #### ADDITIONAL INFORMATION

      * Ensure that the Apple Merchant ID and the Apple Merchant Name values you enter match the settings in your Apple account.
      * Ensure that all other fields match your supported `Cybersource` settings.
        * Country Code: Enter the country code for the location of your site. The country code is a two letter ISO 3166 country code (for example, `US`).
        * Merchant Capabilities: Check the box for 3-D Secure; leave the other fields unchecked.
        * Supported Networks: Select the types of payment you support; `Amex`, `Mastercard`, and `Visa` are supported by `Cybersource`.
        * Required Shipping Address Fields: Select the fields that are required on the shipping form. `Cybersource` recommends Email, Name, Phone, and Postal Address.
        * Required Billing Address Fields: Select Name and Postal Address.
          {#salesforce-b2c-apple-pay-standalone_ul_lj4_14n_yhc}
   4. Complete the Storefront Injection form.

      #### ADDITIONAL INFORMATION

      Select where to display Apple Pay buttons on your site.

   5. Complete the Payment Integration form.

      #### ADDITIONAL INFORMATION

      * Use Commerce Cloud Apple Pay Payment API? Checked.
      * Payment Provider URL:
        * Test: `https://apitest.visaacceptance.com/partner/demandware/payments/v1/authorizations`
        * Production: `https://api.visaacceptance.com/partner/demandware/payments/v1/authorizations`
          {#salesforce-b2c-apple-pay-standalone_ul_h3d_w4n_yhc}
      * Payment Provider Merchant ID: Enter your `Cybersource` merchant ID.
      * API Version: v1.
      * Use Basic Authorization? Unchecked.
      * Payment Provider User: ---
      * Payment Provider Password: ---
      * Use JWS? Set to **Yes**.
      * JWS Private Key Alias: Merchant.p12 Key Alias.

      #### Step Result

      The private key alias is generated when you upload your .p12 key file (from `Cybersource` self-serve) to `Salesforce` Business Manager under Administration \&gt; Operations \&gt; Private Keys and Certificates.

   6. Click Submit.

2. Register your domain in `Salesforce` Business Manager.

   1. Go to Merchant Tools \&gt; Site Preferences \&gt; Apple Pay.

   2. Under the Domain Registration section, complete these fields:

      #### ADDITIONAL INFORMATION

      * In the Apple Sandbox section, click Register Apple Sandbox to register `Salesforce` B2C to the Apple Sandbox account.
      * In the Apple Production section, click Register Apple Production to register `Salesforce` B2C to the Apple Production account.
3. Set the transaction type.

   #### ADDITIONAL INFORMATION

Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Apple Pay and choose `Authorization` or `Sale`.

`Payer Authentication` and `3-D Secure` {#salesforce-b2c-payer-authentication}
==============================================================================

Configure `Payer Authentication` and `3-D Secure` for enhanced transaction security.

> *These settings apply to the Salesforce default card form (Direct API) only*

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Salesforce Default Acceptance Configuration.

2. In `Payer Authentication` Mode, choose one of these options:

   #### ADDITIONAL INFORMATION

   * `Yes`: All transactions process with `3-D Secure`.
   * `No`: No transactions process with `3-D Secure`.
   * `Data Only + Yes`: Data Only is used for Visa and Mastercard/Maestro. All other card brands process with `3-D Secure`.
   * `Data Only + No`: Data Only is used for Visa and Mastercard/Maestro. All other card brands process without `3-D Secure`.
     {#salesforce-b2c-payer-authentication_ul_h4j_nlm_whc}
3. Enable the Enable SCA option to enforce Strong Customer Authentication.

Tokenization {#salesforce-b2c-tokenization}
===========================================

Tokenization enables your customers to save their payment cards securely for future payments.
Follow these steps to enable tokenization:

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Tokenization Configuration.
2. Enable the Enable Tokenization Services option to turn on Tokenization.
3. Enable the Enable Limiting Saved Card option to set the limits associated to saving cards.
4. In the Saved Cards Allowed option, enter the number of cards a customer can save in the defined time limit.
5. In the Reset Interval option, specify the number of hours before the saved card limit resets.
6. Enable the Network Token Updates option to prompt the cartridge to check for Token Life Cycle Updates prior to checkout. Your `Cybersource` MID needs to be configured for Network Tokens.

#### AFTER COMPLETING THE TASK

*The rate limiter settings for saving cards apply only to the Salesforce default card form (Direct API) and do not apply to ` Unified Checkout `*

Fraud Screening {#salesforce-b2c-fraud-screening}
=================================================

Enable Fraud Screening to alert the cartridge to look for fraud screening responses. Fraud Screening profiles must be set up in the `Business Center`.
Follow these steps to enable fraud screening:

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Salesforce Default Acceptance Configuration.

2. Choose the Enable `Decision Manager` Services option. This setting applies for both `Decision Manager` and `Fraud Management Essentials`.

3. Updates to transactions marked as `REVIEW` are delivered via webhooks. The Update Job is available as a fallback option.

4. Set the Conversion Detail Report Lookback Time value.

   #### ADDITIONAL INFORMATION

   If you are using REVIEW rules and configure the `Decision Manager` Update Job, set the number of hours to look back for updates to transactions in REVIEW status. The maximum value is 24 hours.

5. To enable the `Decision Manager` Update Job to poll for updates to the reviewed transactions, go to Administration \&gt; Operations \&gt; Jobs and select Payment: `Decision Manager` Order Update. Set these values:

   #### ADDITIONAL INFORMATION

   * ID: Enter a job ID.
   * Description: Enter the job description.
   * ExecuteScriptModule.Module: int_cybs_sfra_base/cartridge/scripts/jobs/DMOrderStatusUpdate.js
   * ExecuteScriptModule.FunctionName: orderStatusUpdate
   * ExecuteScriptModule.Transactional:
     * `True`: All changes occur as a single atomic operation. If any error occurs during the job, the system rolls back all changes to maintain data consistency.
     * `False`: No automatic rollback is applied. Merchants must handle transaction logic manually. This is often preferred for large batch jobs.
       {#salesforce-b2c-fraud-screening_ul_g3x_1tn_yhc}
   * ExecuteScriptModule.TimeoutInSeconds: Set the function timeout value.
     {#salesforce-b2c-fraud-screening_ul_ows_m2d_c3c}

Device Fingerprint {#salesforce-b2c-device-fingerprint}
=======================================================

Device fingerprinting collects information about the device used when paying for an order and can assist in fraud screening decisions.

> *The Device Fingerprint settings apply to the Salesforce default card form (Direct API) only.*

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Device Fingerprint Configuration.
2. Enable the Enable DeviceFingerprint Service option.
3. In the Organization ID field, enter the Organization ID. Contact support if you do not know this value.
4. In the ThreatMetrix URL field, enter the URL that points to the JavaScript that generates and retrieves the fingerprint of the device.
5. In the TTL (Time to Live) field, enter the number of milliseconds to wait before generating a new fingerprint for any given customer session.

Delivery Address Verification {#salesforce-b2c-delivery-address-verification}
=============================================================================

To verify the customer's shipping address during checkout, configure Delivery Address Verification services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Delivery Address Verification Configuration.
2. Enable the Delivery Address Verification Services option.

Tax Calculation {#salesforce-b2c-tax-calculation}
=================================================

To calculate local taxes once the customer enters their address at checkout, configure the Tax Calculation services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Tax Configuration and set these options:

2. Enable the Enable Tax Calculation field.

3. Configure these tax settings:

   #### ADDITIONAL INFORMATION

   * List of Nexus States: List the states to calculate tax for.
   * List of Nexus States to Exclude: List the states to not calculate tax for.
   * Merchants VAT Registration Number: Enter your VAT registration number if you have one.
   * Default Product Tax Code: Enter the default tax code to use for products in the basket without a tax code.
   * Purchase Order Acceptance City
   * Purchase Order Acceptance State Code
   * Purchase Order Acceptance Zip Code
   * Purchase Order Acceptance Country Code
   * Purchase Order Origin City
   * Purchase Order Origin State Code
   * Purchase Order Origin Zip Code
   * Purchase Order Origin Country Code
   * Ship From City
   * Ship From State Code
   * Ship From Zip Code
   * Ship From Country Code

#### RESULT

If you enable Tax Calculation and do not specify any states in the List of Nexus States or List of Nexus States to Exclude, Tax Calculation assumes every state or province is taxable. You can leave either the List of Nexus States or the List of Nexus States to Exclude as empty, but you cannot leave both empty.

Webhooks {#salesforce_b2c_webhooks}
===================================

The `our platform` sends asynchronous webhook notifications to your Salesforce B2C Commerce store for fraud decisions, and `Unified Checkout` event updates. Webhooks are the primary mechanism for keeping orders up to date. The Salesforce jobs remain available as a fallback
Webhook subscriptions are managed from a Business Manager page provided by the `bm_cybs_sfra` cartridge.  
**Prerequisite**

1. Ensure `bm_cybs_sfra` cartridge is on the Business Manager cartridge path (see [Configure for Salesforce B2C Commerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/salesforce-b2c-introduction/salesforce-b2c-configuration.md ""))

2. Go to Administration \&gt; Organization \&gt; Roles \& Permissions select the role, then go to **Business Manager Modules** , select the required context then enable **Webhook Manager** under **Visa Acceptance**.

3. For `Unified Checkout`, the Response Message Level Encryption key must be loaded and configured.

   4. **Webhook Groups and Events**  
      The cartridge manages two webhook groups. Each notification is delivered to a controller route in the storefront cartridge.

   |       Group       |            Product            |                                               Event Types                                                |            Notification Route             |
   |-------------------|-------------------------------|----------------------------------------------------------------------------------------------------------|-------------------------------------------|
   | Fraud Management  | `Decision Manager`            | `risk.casemanagement.decision.accept, risk.casemanagement.decision.reject`                               | `WebhookNotification-dmNotification`      |
   | Fraud Management  | `Fraud Management Essentials` | `risk.profile.decision.review, risk.casemanagement.decision.accept, risk.casemanagement.decision.reject` | `WebhookNotification-dmNotification`      |
   | UC Webhook Events | `Unified Checkout`            | `uc.orders.transactionresults`                                                                           | `WebhookNotification-paymentNotification` |
   [ ]

   **Subscribe to Webhooks**

4. Enable the site preferences for the required webhooks, Decision Manager within **Salesforce Default Acceptance Configuration** and Unified Checkout within **Secure Integration Configuration**.

5. Click **Sync**. The cartridge will subscribe (or update) each enabled webhook based on the set Custom Site Preferences, and stores the subscription state.

6. Confirm each subscription has an **ACTIVE** status. If the status is **PENDING_REVIEW, INACTIVE,** or **SUSPENDED** , the subscription is not yet live. Wait up to 15 minutes and **Sync** again. Please contact Support if the status does not change to **ACTIVE**.

#### AFTER COMPLETING THE TASK

**Subscription Storage**  
The webhook subscription state is stored in the organization-scoped custom object `VisaAcceptanceWebhookSubscription` (keyed by `ConfigId`), which records the `WebhookId, WebhookUrl, SecurityKey, Status, BaseUrl,`` and EgressPublicKey`. The object is managed by the Webhook Manager. You do not need to edit it manually.  
**Fallback: Salesforce Jobs**  
If webhook delivery is interrupted, these jobs can be used to reconcile the order state:

* **Payment: Decision Manager Order Update**: polls for Accept/Reject decisions on unconfirmed orders (fallback for Fraud Management webhooks).
* **Payment: Refresh Payment Status** (on-demand job): enter a comma-separated list of order numbers in the OrderNumbers parameter and use **Run Now** to refresh the Visa Acceptance payment status for those orders.
  {#salesforce_b2c_webhooks_ul_q5p_sbk_2kc}

Shopify {#shopify-overview}
===========================

The `Cybersource` extension for `Shopify` supports popular payment methods and transaction types to help merchants start, grow, and manage their retail businesses.  
The `Cybersource` for `Shopify` provides commerce tools to start, grow, market, and manage retail businesses. You can accept payments in multiple currencies and get paid in your local currency. The `Cybersource` app on `Shopify` supports popular payment methods to meet your business needs.  
The `Cybersource` extension on `Shopify` supports these features:

* 3-D Secure
* Apple Pay
* Card payments
* Google Pay
* Fraud management tools
* Shopify subscriptions

{#shopify-overview_ul_rsp_15w_lcc}  
These transaction types are supported on the `Shopify` extension:

* Authorization (authorize only)

{#shopify-overview_ul_bdh_frp_lcc}


* Sale (authorization and capture)

{#shopify-overview_ul_cdh_frp_lcc}


* Capture (capture only)

{#shopify-overview_ul_ddh_frp_lcc}


* `Payer Authentication` (3-D Secure)
* Refund (credit)
* Void (reversal)

{#shopify-overview_ul_edh_frp_lcc}  
The `Shopify` extension supports these fraud solutions:

* `Decision Manager` (DM)
* `Fraud Management Essentials` (FME)

{#shopify-overview_ul_chg_myj_42c}  
For fraud management, we recommend that you use only an accept/reject model.

Configure Security Credentials {#shopify-config-cred}
=====================================================

You must have a `Cybersource` `Business Center` account. If you do not have one, you must create one before installing the `Shopify` extension. You also must retrieve details from that account to install the plugin.

Creating a `Business Center` Account {#id_hyt_zjc_mcc}
------------------------------------------------------

Follow these steps to create your `Business Center` account:

1. Go to the [Business Center Registration](https://ebc2.cybersource.com/ebc2/ "") website, and create an account.
2. Follow the email instructions that you received to activate your merchant account.
3. Log in to the [Business Center](https://ebctest.cybersource.com/ebc2/ "") to complete the registration process.
   {#id_hyt_zjc_mcc_steps_jmr_kx3_lcc}

Install the Shopify Extension {#shopify-install}
================================================

Install the `Cybersource` app in your `Shopify` account for testing or production.
You must enable the `Cybersource` extension in your `Shopify` account settings. You can install the `Shopify` extension in test (CAS) if you are using a sandbox account. Install the plugin in a live (production) environment when you complete the go-live process.

1. Go to [cybersource-cas](https://apps.shopify.com/cybersource-cas "").

2. Select the extension and click Install.

3. A page opens on `Shopify`. Provide the required permissions to the payment app.

4. After you set the permissions, the `Business Center` login appears.

5. Log in to the `Business Center` with your `Cybersource` credentials. This must be your transacting merchant ID. An agreement page appears.

6. Check or clear the 3-D Secure enrollment box based on your business needs. If you enroll for 3-D Secure, ensure that the `Payer Authentication` feature is enabled and configured.

7. Submit the form. The `Shopify` store settings page re-opens so that you can configure and activate the `Cybersource` extension.

   #### ADDITIONAL INFORMATION

You must repeat these steps if you have more than one `Shopify` store.

Configure the Shopify Extension {#shopify-configuring}
======================================================

Configure the Shopify extension and enable 3-D Secure.
Follow these steps to configure the Shopify store:

1. Log in to your Shopify account.
2. Go to Settings \&gt; Payments \&gt; Manage.
3. Select the card brands and payment methods that you want to accept.
4. Click Save.

If you are using the test server, ensure that the Test Mode toggle is set to `On`.

Reference Information {#shopify-reference}
==========================================

This section contains reference information to help you use the `Cybersource` app on `Shopify`.

`WooCommerce` {#wc-introduction}
================================

The `Cybersource` extension for `WooCommerce` allows you to connect your `WooCommerce` store to the `Cybersource` platform, enabling secure and flexible payment acceptance.

Supported Features {#wc-supported-features}
===========================================

* Credit and debit cards
* Apple Pay
* Google Pay
* Click to Pay
* Paze
* ACH/eCheck
* PayPal
* Venmo
* Payer Authentication/`3-D Secure`
* Tokenization including Network Tokens
* `Decision Manager` and `Fraud Management Essentials`
* `WooCommerce` Subscriptions
* `WooCommerce` Checkout Blocks

Supported Versions {#wc-supported-versions}
===========================================

The `WooCommerce` extension requires these versions:

* `WooCommerce` 10.3.7+
* WordPress 7.0+
* PHP 8.2+

Prerequisites {#wc-prerequisites}
=================================

This section outlines the required and optional prerequisites for using the `Cybersource` extension with `WooCommerce`.

Required Products {#wc-req-prerequisites}
=========================================

The Unified Checkout product must be enabled and configured for your merchant ID. See the [*Unified Checkout Developer Guide*](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup.md "").  
You must also have a REST shared secret key and a Response MLE certificate. See the [*Getting Started with the REST API*](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-mle-shared-secret-intro.md#restgs-security-mle-shared-secret-reply "") guide and the [*Getting Started with the REST API*](https://developer.cybersource.com/docs/cybs/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro/restgs-security-key-pair-task.md "") guide.  
**Environment Prerequisite**  
The GMP PHP extension must be enabled on your MAMP or XAMPP server for JSON Web Token messaging.

Optional Products {#wc-opt-prerequisites}
=========================================

These products are optional, but they must be enabled and configured for your merchant ID if you choose to use them:

* Network Tokens
* `Decision Manager`
* `Fraud Management Essentials`

Release Notes {#wc-release-notes}
=================================

Version 3.0.0: August 2026
--------------------------

This version provides these enhancements:

* Migrated to Unified Checkout v1.x including Unified Checkout becoming responsible for calling Payer Authentication, Tokenization, and fraud screening
* Added webhook support for payment response and fraud management
* Support for PayPal and Venmo
* Network Token Support
* Offer Sidebar and Embedded display for Unified Checkout widget
* Full Message-Level Encryption(MLE)

Version 2.2.2: June 2026
------------------------

This version provides these enhancements:

* Wordpress 7.0 compatibility
* Added Express Pay configuration

The following bugs were addressed:

* Order Status handling.
  {#wc-release-notes_ul_f1f_5kw_c3ca}

Version 2.2.1: April 2026
-------------------------

This version provides these enhancements:

* Updated Cybersource Rest Client SDK to v0.0.72

The following bugs were addressed:

* WordPress validation issue fixed
* Added validation for Express Pay with respect to currencies
* Monolog dependency issue addressed
  {#wc-release-notes_ul_f1f_5kw_c3cb}

Version 2.2.0: February 2026
----------------------------

This version provides these enhancements:

* Updated Unified Checkout to v0.33
* Added support for China UnionPay, Maestro, Jaywan, and Paze
* Added Payer Authentication/`3-D Secure` for Google Pay
* Added Express Pay for Product and Checkout pages
* Replaced `Cybersource` endpoints with Visa Acceptance Solutions endpoints
* Added compatibility for Wordpress v6.9

The following bugs were addressed:

* IP address is now collected for all requests.
* CVV input field text was updated.
* Saved card tokens are now only accessible when tokenization is enabled.
* Administrative state field is now properly passed for non-US addresses in `3-D Secure` transactions.
  {#wc-release-notes_ul_f1f_5kw_c3c}

Version 2.0.1: October 2025
---------------------------

This version provides these bug fixes:

* Removed the Customer ID for a guest user because it exceeded limits within the platform for some processors.
* Removed Commerce Indicator from the Payment Acceptance Request.

Version 2.0.0: August 2025
--------------------------

This version provides these enhancements:

* Unified Checkout Version 0.23
* Apple Pay
* Adoption of Visa Acceptance REST Client SDK
* Message-Level Encryption
* `WooCommerce` subscriptions and HPOS compatibility

This version is compatible with:

* `WooCommerce` 7.6+
* WordPress 6.5.3+
* PHP 8.0+

Version 1.0.0: June 2025
------------------------

This initial release supports these products:

* Unified Checkout
* Google Pay
* Click to Pay
* Token Management Service (TMS)
* Payer Authentication
* `Decision Manager` and `Fraud Management Essentials`

This version is compatible with:

* `WooCommerce` 7.6+
* WordPress 6.5.3+
* PHP 7.4+

Install the WooCommerce Extension {#wc-installation}
====================================================

Follow these steps to install the extension:

1. Download the extension from [WordPress](https://wordpress.org/plugins/visa-acceptance-solutions/ "") or [`WooCommerce`](https://woocommerce.com/products/visa-acceptance-solutions/ "").
2. Log into your `WooCommerce` admin account.
3. Go to ExtensionsAdd NewUpload.
4. Click Install Now.
5. After the extension is installed, click Activate.
6. Click Configure to start configuring the extension.

Alternatively, you can use the *Add to store* functionality in the `WooCommerce` order confirmation page or the [My Subscriptions](https://woocommerce.com/my-account/my-subscriptions/ "") section in your `WooCommerce` account.

Configure the WooCommerce Extension {#wc-configuration}
=======================================================

Follow these steps to configure the extension:

1. Select ExtensionsInstalled Extensions, and then select `Cybersource` or Payments.
2. Click Manage on the `Cybersource` line.

Minimum Configuration Requirements {#wc-minimum-configuration}
==============================================================

These extension settings must be configured to accept payments with `Cybersource`:

> As of version 3.0.0, payment settings including 3D-Secure, Tokenization, and Fraud Screening are managed within the Visa Acceptance Business Center. Please see this [guide](https://developer.visaacceptance.com/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup/uc-intro-setup-ebc.md "")for instructions

Enable/Disable
:
Set to Enable to allow the extension to take payments from your `WooCommerce` store. When the extension is enabled, card payments are enabled by default.

Title
:
Enter the text that you want to display to your customers as the title on the checkout and order received page.

Description
:
Enter the text that you want to display as a description during the checkout process.

Charge Virtual-Only Orders
:
When this setting is selected, if the order is exclusively for digital or virtual items, the transaction is automatically captured if the authorization is approved.

Capture Paid Order
:
When this setting is selected, if you mark an order as *Processing* or *Completed*, capture requests are automatically sent.

Environment
:
* For testing your test account, choose Test.
* For live transactions, choose Production.

Merchant ID/Test Merchant ID
:
Enter the transacting merchant ID (MID) assigned when you set up your account.

API Key Detail/Test API Key Detail
:
Enter the key from your REST API shared secret key.

API Shared Secret Key/Test API Shared Secret Key
:
Enter the shared secret from your REST API shared secret key.

Key File Path
:
Enter the path to the directory where you have stored the Response MLE certificate, and the filename.

Key Password
:
Enter the password you entered when creating the Response MLE certificate.

Checkout Display Mode
:
* **Embedded**: The payment capture form is displayed within the checkout page.
* **Sidebar**: The payment form opens as a side panel on the customers browser.
{#wc-minimum-configuration_ul_cbn_3yv_2kc}

Registered Webhooks
:
View and manage Visa Acceptance Webhook subscriptions. If you delete a Webhook, it can be re-enabled by enabling the feature in the configuration panel and saving.

Message Level Encryption {#wc-message-level-encryption}
=======================================================

Message-Level Encryption (MLE) enables you to store information or communicate with other parties while helping to prevent uninvolved parties from understanding the stored information. MLE is optional and supported only for payments services. A REST certificate is required for MLE.  
Follow these steps to enable MLE,:

1. Check **Message Level Encryption**.
2. Enter the **Key Directory Path** where you have stored the certificate in your `WooCommerce`/WordPress environment.
3. Enter the **Key File Name**.
4. Enter the **Key Password** which you set when generating the REST certificate.
   {#wc-message-level-encryption_ol_x4b_zx2_ggc}

Digital Payment Methods {#wc-digital-payment-methods}
=====================================================

Digital Payment Methods: Choose from Apple Pay, Google Pay, Click to Pay, and Paze.

> You must enable these for your MID in the ` Business Center `.  
> See the [*Unified Checkout Developer Guide*](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro.md "") for more information.

Tokenization {#wc-tokenisation}
===============================

Tokenization allows you to offer the ability for your customers to save their payment cards securely for future payments.

1. Select **Tokenization** to enable this feature.
2. Select **Saved Card Verification** to request customers to enter their card security code when paying with a saved card.

Payer Authentication/3-D Secure {#wc-payer-authentication}
==========================================================

1. Select **Payer Authentication/3-D Secure** to enable added payment security. Some countries/regions mandate this feature.
2. Select **Strong Consumer Authentication** to force a 3-D Secure Challenge when a customer chooses to save their card for future transactions.

Fraud Screening {#wc-fraud-screening}
=====================================

1. Select Fraud Screening to enable `Decision Manager` or `Fraud Management Essentials`.
2. Configure your fraud screening profiles using the `Business Center`.

Debug Mode {#wc-additional-options}
===================================

1. Select one of these debugging mode options:
   * On: Enables the creation of detailed logs for every transaction. This setting is recommended for use only in the test environment or when troubleshooting issues in the production (live) environment.
   * Off: Enables the creation of basic logs for transactions.
     {#wc-additional-options_choices_tym_gxh_jgc}

Optional Configuration {#wc_optional_configuration}
===================================================

These configuration options are optional.
These configuration options are enabled but may need to be enabled for your `Cybersource` account to be used.

* **Tokenization** : Tick to enable the ability for merchants to save their card. Please enable this in your [Unified Checkout settings](https://developer.visaacceptance.com/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup/uc-intro-setup-ebc.md "") too
* **Network Tokens:** Tick to tell the extension to check for token updates prior to a registered customer checking out.
* **Fraud Screening:** Tick **Fraud Screening** to tell the extension to subscribe to the fraud management webhook notifications.
* **Checkout Version:**Pin a version of Unified Checkout v1; example format: 1.7. Leaving blank will automatically use the most recent version.
* **Message Level Encryption:** Tick to turn on Message Level Encryption.

  > Even if you do not turn on Message Level Encryption, a Response MLE certificate is still required for the Unified Checkout response Webhook notification.
  > {#wc_optional_configuration_ul_hmc_1zv_2kc}

Order Management {#wc-order-management}
=======================================

Orders are marked according to the selected transaction type:

* Authorization: When this option is selected, successful transactions are marked as `On Hold`.
* Charge: When this option is selected, successful transactions are marked as `Processing`.

Fraud Screening {#wc-fraud-screening-orders}
============================================

If fraud screening is enabled, transactions are marked as follows:

* Approved orders are marked as *On Hold* or *Processing*, depending on your transaction type setting.
* Orders to review are marked as *On Hold*.
* Rejected orders are marked as *Failed* or *Cancelled*.

Orders marked as *On Hold* need to be reviewed in the `Business Center`. The extension checks for transaction status updates every 15 minutes. Rejected transactions are marked as *Cancelled*.  
Accepted transactions are marked according to your transaction type settings.  
If you need to manually trigger the transaction update, follow these steps using the `WooCommerce` Dashboard:

1. Select Tools \&gt; Scheduled Actions \&gt; Pending.
2. Find and select wc_payment_gateway_update_order.
3. Click Apply.

Capture an Order {#wc-capture}
==============================

Follow these steps to capture an order when the transaction type is set to `Authorization`:

1. Find and open the order from the list of orders.
2. Click Capture Charge.
3. Change the order status to `Processing`.
4. Click Apply.

Refund an Order {#wc-refund}
============================

Follow these steps to refund an order:

1. Find and open the order from the list of orders.
2. Click Refund.
3. Enter the refund amount.
4. Click Refund via `Cybersource`.

Void an Order {#wc-void}
========================

Voids can be performed only for transactions when the transaction type is set to *Authorization* and the transaction has not been captured.  
Follow these steps to void an authorization:

1. Find and open the order from the list of orders.
2. In the Order Status field, select Cancelled.
3. Click Update to save the change and void the authorization.

Upgrade the Extension {#wc-upgrade}
===================================

Follow these steps to upgrade to a later version of the `WooCommerce` extension.

1. Select ExtensionsInstalled Extensions.
2. Find the `Cybersource` extension and click Update Now.

Support and Troubleshooting {#wc-support-troubleshooting}
=========================================================

Contact the Support Center for help with installation or operational issues, and be ready to provide your platform version, extension version, and steps to reproduce the issue.
If you need support installing or using this extension, contact the [Support Center](https://support.visaacceptance.com/ "") to open a case, and provide this information:

* Summary of the issue
* Steps needed to reproduce the issue
* Platform version
* Extension version
* Platform merchant ID
* Configuration screenshots
* List of themes and additional extensions installed
* Log file and any other data or screenshots related to the issue

ISV Plugin Version Lifecycle and Support Policy {#isv-version-lifecycle-policy}
===============================================================================

This policy defines how `Cybersource` ISV plugin versions are released, supported, and retired.

Overview {#isv-version-lifecycle-policy_overview}
-------------------------------------------------

This policy defines how `Cybersource` ISV plugin versions are released, supported, and retired. It outlines versioning standards, fix delivery, support scope, platform and dependency requirements, merchant responsibilities, and lifecycle expectations to ensure clarity, predictability, and sustainable support.

Policy Status and Non-Contractual Nature {#isv-version-lifecycle-policy_policy-status}
--------------------------------------------------------------------------------------

This policy is provided for informational purposes only and does not constitute a contractual commitment, service level agreement, warranty, or guarantee. This policy does not modify, amend, or supplement any agreement between Visa (or its affiliates) and any merchant, issuer, partner, or ISV. In the event of any conflict, the applicable executed agreement shall control.

Versioning Standards {#isv-version-lifecycle-policy_versioning-standards}
-------------------------------------------------------------------------

`Cybersource` ISV integrations follow one of these versioning schemes, depending on the integration and release model. Version identifiers are provided for informational purposes only and do not guarantee compatibility, stability, or continuity of functionality across versions.  
**Calendar Versioning (CalVer)**  
Calendar Versioning reflects release timing rather than semantic meaning:  
`YY.RELEASE.PATCH`

* A change in the year component reflects a new calendar year only.
* Year changes do not imply breaking or major changes.
* Release and patch increments represent enhancements and fixes.
* CalVer is used for integrations that do not require explicit signaling of breaking changes.

**Semantic Versioning (SemVer)**  
Semantic Versioning is used when release semantics must be explicit.  
`MAJOR.MINOR.PATCH`

* **MAJOR** --- Backward-incompatible changes or migrations.
* **MINOR** --- Backward-compatible enhancements.
* **PATCH** --- Bug fixes or security fixes.

Integrations may transition from CalVer to SemVer when breaking changes are introduced.

Major Version Releases {#isv-version-lifecycle-policy_major-version-releases}
-----------------------------------------------------------------------------

Breaking or backward-incompatible changes are released using semantic versioning (SemVer). When an integration transitions from CalVer to SemVer, the first SemVer release represents a major lifecycle change and CalVer becomes the previous major release.  
CalVer integrations do not use year changes to indicate breaking changes.

Supported Versions {#isv-version-lifecycle-policy_supported-versions}
---------------------------------------------------------------------

* Only the latest supported version line of each integration is fully supported, subject to Visa's discretion and the terms of the applicable agreement.
* Merchants may continue using older versions at their discretion, with limited support until the applicable end-of-life (EOL).
* Support assumes required external dependencies and configurations are completed.
* Merchants are encouraged to remain on the latest available release within the supported version line.

Fix Delivery and Backporting {#isv-version-lifecycle-policy_fix-delivery}
-------------------------------------------------------------------------

Bug fixes and security fixes are delivered through new releases of the supported version line. Fixes are not backported to earlier releases.  
We may provide patch details at our discretion to merchants who choose to remain on a previous release so they may apply changes themselves. Providing patch details does not constitute support, maintenance, or an obligation to remediate issues for that version.

Limited Support for Previous Major Versions (SemVer Only) {#isv-version-lifecycle-policy_limited-support}
---------------------------------------------------------------------------------------------------------

When an integration transitions to a new major version under Semantic Versioning, the immediately preceding major version enters a limited support period of six (6) months, starting from the release date of the succeeding major version. Limited support timelines are based on release dates, not installation dates. Limited support periods are indicative only and may be shortened, extended, or terminated by Visa at its discretion.  
At the end of the six-month limited support period, the version is considered end-of-life.

Limited Support Definition {#isv-version-lifecycle-policy_limited-support-definition}
-------------------------------------------------------------------------------------

During limited support:

* Critical security fixes may be provided at our discretion.
* No enhancements or new features are provided.
* No non-security bug fixes are provided.
* No configuration or UI changes are provided.
* No parity with newer major versions is maintained.

End-of-Life (EOL) {#isv-version-lifecycle-policy_eol}
-----------------------------------------------------

After the limited support period ends:

* The version is considered end-of-life.
* No fixes, updates, or support are provided.
* Merchants should upgrade or migrate to a supported version.

Visa has no obligation to continue supporting any version beyond its designated end-of-life, regardless of merchant deployment status or business impact.

Platform and Dependency Support {#isv-version-lifecycle-policy_platform-dependency-support}
-------------------------------------------------------------------------------------------

ISV integrations are supported only on platform versions, frameworks, and runtime environments that are actively supported by their respective providers.  
When a platform provider ends regular or extended support for a specific version, ISV integrations installed on that version are no longer supported. This includes, but is not limited to:

* E-commerce platforms.
* Programming languages and runtimes.
* Required databases or infrastructure dependencies.

Support is not extended beyond these end-of-support dates, regardless of plugin version. Any extended, paid, or bespoke support arrangements agreed directly between a merchant and a platform or dependency provider do not extend or modify our support timelines or end-of-life dates. Visa is not responsible for monitoring, notifying, or coordinating end-of-support timelines for third-party platforms, dependencies, or infrastructure.

Mandated Platform and Scheme Changes {#isv-version-lifecycle-policy_mandated-changes}
-------------------------------------------------------------------------------------

ISV integrations operate within the requirements of the `Cybersource` platform and any applicable brands using the platform. Where mandated changes are introduced by `Cybersource`, card schemes, or regulatory bodies---including security, compliance, or encryption requirements---existing integration versions may be required to change to remain compliant.  
In such cases, older integration versions may transition to limited support or end-of-life earlier than the timelines defined in this policy, without liability. Merchants are responsible for implementing required updates to remain compliant and continue processing transactions.

External Dependencies and Configuration Responsibility {#isv-version-lifecycle-policy_external-dependencies}
------------------------------------------------------------------------------------------------------------

Some integrations rely on external systems or platforms for configuration and operation.

* External configuration is the responsibility of the merchant.
* Integrations do not manage, store, or migrate external configuration.
* Issues caused by missing or incomplete external configuration are not considered integration defects.

Version support applies only to integration behavior and documented API functionality.

Upstream Product Dependencies {#isv-version-lifecycle-policy_upstream-dependencies}
-----------------------------------------------------------------------------------

ISV integrations may rely on upstream products, services, or APIs provided by `Cybersource` or third parties. We maintain compatibility with supported versions of these products; however, we do not control their release schedules, feature changes, or behavioral updates. Changes introduced by upstream products may impact integration behavior.  
Issues resulting from upstream product changes are not considered defects in the integration itself. Support may be limited to general guidance only, mitigation, or coordination with the relevant product team where appropriate. Visa does not guarantee resolution, timelines, or outcomes for issues arising from upstream product changes.

Merchant Responsibility and Suitability {#isv-version-lifecycle-policy_merchant-responsibility}
-----------------------------------------------------------------------------------------------

Merchants are responsible for determining whether an ISV integration is suitable for their business requirements, technical environment, infrastructure, and compliance obligations.  
Integrations are provided *as is* and are intended to support documented, supported configurations only. We are not responsible for ensuring compatibility with merchant-specific workflows, customizations, infrastructure, or third-party systems.  
To the extent permitted by law and subject to the applicable executed agreement, Visa disclaims all liability arising from or related to the use, or reliance on an integration, including but not limited to operational disruption, data loss, or business interruption.

Customization Disclaimer {#isv-version-lifecycle-policy_customization-disclaimer}
---------------------------------------------------------------------------------

ISV integrations are designed to support standard, documented workflows. Merchants are free to customize, extend, or adapt integrations to meet their specific business processes or operational requirements. Visa has no obligation to support, maintain, or remediate issues arising from customized implementations, including where such customizations are necessary for a merchant's internal business processes.  
Therefore:

* Support is provided only for documented, supported configurations.
* Customizations may impact the ability to diagnose or resolve issues.
* Support for customized implementations may be limited or provided on a best-effort basis.

Troubleshooting Requirement {#isv-version-lifecycle-policy_troubleshooting-requirement}
---------------------------------------------------------------------------------------

Support may request that customizations, extensions, or self-applied patches be temporarily disabled or bypassed to assist with troubleshooting and issue reproduction.

Support Scope Summary {#isv-version-lifecycle-policy_support-scope-summary}
---------------------------------------------------------------------------

This table is provided for general reference only and does not constitute a commitment, guarantee, or service level agreement.

|                   Scenario                   |    Support Level    |
|----------------------------------------------|---------------------|
| Supported version line on supported platform | Full support        |
| Previous major version (within 6 months)     | Security fixes only |
| End-of-life versions                         | Not supported       |
| Unsupported platform or runtime              | Not supported       |
| Missing external configuration               | Not supported       |
| Customized or patched versions               | Best effort only    |

Policy Changes {#isv-version-lifecycle-policy_policy-changes}
-------------------------------------------------------------

This policy may be updated, amended, or withdrawn at any time in Visa's discretion. Continued use of an integration after a policy update constitutes acceptance of the revised policy. Nothing in this policy creates any rights in favor of any third party or limits Visa's rights under applicable agreements or law.

Adobe Commerce REST API {#adobe-commerce-r-intro}
=================================================

The `Cybersource` extension for `Adobe Commerce`/Magento Open Source enables merchants to connect their `Adobe Commerce`/Magento Open Source store to the `Cybersource` platform to directly take credit and debit cards, Apple Pay, Google Pay, and Click to Pay payments.  
For simplicity in this document, any reference to `Adobe Commerce` also applies to Magento Open Source, unless otherwise stated.

Supported Versions {#adobe-commerce-r-supported-versions}
=========================================================

System Requirements
-------------------

The `Adobe Commerce` extension has these system requirements:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Supported Features {#adobe-commerce-r-supported-features}
=========================================================

The `Cybersource` extension supports these payment methods and security features.

Payment Methods
---------------

* Credit and debit cards
* Apple Pay
* Google Pay
* Click to Pay
* eCheck/ACH

Security Features
-----------------

* `Payer Authentication` / `3-D Secure`
* Tokenization

Unsupported `Adobe Commerce` Features {#adobe-commerce-r-unsupported-features}
==============================================================================

Unsupported Features
--------------------

These features are not supported by this extension:

* Order void
* Multi-shipping
* Multiple node implementation
* Google reCAPTCHA

Prerequisites {#adobe-commerce-r-prerequisites}
===============================================

Mandatory Prerequisites
-----------------------

This `Cybersource` product must be configured for your Merchant ID:

* `Unified Checkout`

You also must have a REST Shared Secret Key. See the [*Getting Started with REST Developer Guide*](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro/restgs-security-key-pair-task.md "") for information on how to get a REST Shared Secret Key.

Optional Prerequisites
----------------------

These `Cybersource` products are optional. If you want these products you must enable and configure your merchant ID with them.

* `Payer Authentication` for `3-D Secure`
* Tokenization
* Apple Pay
* Google Pay
* `Click to Pay`
* `eCheck`

You can also enable Message-Level Encryption (MLE) for additional security. A [REST Certificate](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-message-intro/restgs-security-p12-intro.md "") is required for MLE.

Release Notes {#adobe-commerce-r-release-notes}
===============================================

Version history and changes for the `Cybersource` extension for `Adobe Commerce`.

Version 26.1.0 March 2026
-------------------------

These enhancements were added with this release:

* Admin orders with credit and debit cards
* Minicart checkout for Apple Pay and Google Pay
* eCheck/ACH support
* Cardinal Commerce URL update for Data Center Migration
* Updated `Unified Checkout` to version 0.34
* Merchandise Return Authorization support

This release is compatible with:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Version 25.2.0 January 2026
---------------------------

These enhancements were added with this release:

* Request Message Level Encryption
* API endpoint updates
* Support for Jaywan card
* Implemented Sub Resource Integrity (SRI)
* Updated `Unified Checkout` to version 0.33

These bugs were addressed in this release:

* Corrected the country field source in the `Unified Checkout` capture context.
* CSP violation

This release is compatible with:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Version 25.1.0 May 2025
-----------------------

Initial release that supports:

* `Unified Checkout`
* Apple Pay
* Google Pay
* Click to Pay
* `TMS`
* `Payer Authentication`

This release is compatible with:

* `Adobe Commerce` 2.4.5+
* PHP 8.1+

Install the Extension {#adobe-commerce-r-installation}
======================================================

Follow these steps to install the `Cybersource` extension for `Adobe Commerce`. Before starting the installation, ensure you have `Adobe Commerce` authentication keys and that they are set correctly in your environment. See Authentication Keys for details.  
Go to the `Adobe Commerce` Marketplace and get the free extension. Choose the appropriate installation method based on your environment:

* `Adobe Commerce Cloud`: for cloud-based installations, go to [Adobe Commerce Cloud](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro/adobe-commerce-r-installation/adobe-commerce-r-install-cloud.md "").
* `Adobe Commerce` On-Premise/Magento Open Source: for self-hosted installations, go to [Adobe Commerce On-Premise / Magento Open Source](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/adobe-commerce-r-intro/adobe-commerce-r-installation/adobe-commerce-r-install-onpremise.md "").

`Adobe Commerce Cloud` {#adobe-commerce-r-install-cloud}
========================================================

Follow these steps to install in `Adobe Commerce Cloud` environments.

1. Run this command in your local Cloud project directory:

   ```
   composer require cybersource/module-payment:26.1.0
   ```
2. After Composer finishes, commit the updated files using these commands:

   ```keyword
   git add composer.json composer.lock
   git commit -m "Add Cybersource Payment module"
   git push
   ```
3. Enable the module with this command:

   ```
   php bin/magento app:config:dump
   ```
4. After enabling the module, commit the updated configuration file with these commands:

   ```
   git add app/etc/config.php
   git commit -m "Enable Cybersource Payment module"
   git push
   ```

`Adobe Commerce` On-Premise / Magento Open Source {#adobe-commerce-r-install-onpremise}
=======================================================================================

To install the module using Composer, run these commands in your `Adobe Commerce` On-Premise and Magento Open Source environments.

1. Run this command:

   ```keyword
   composer require Cybersource/module-payment:26.1.0
   php bin/magento module:enable Cybersource_Payment
   php bin/magento setup:di:compile
   php bin/magento indexer:reindex
   php bin/magento setup:upgrade
   php bin/magento setup:static-content:deploy -f
   php bin/magento cache:clean
   php bin/magento cache:flush
   php bin/magento module:status
   ```

Configure the Extension {#adobe-commerce-r-configuration}
=========================================================

To configure the `Cybersource` extension, go to Stores \&gt; Configuration \&gt; Sales \&gt; Payment Methods \&gt; Visa Acceptance. Configure these fields:  
Configure General settings:

* Environment:

  * Sandbox: Choose for testing of your `Cybersource` test account.
  * Production: Choose for live transactions.
* Merchant ID: Enter the transacting Merchant ID (MID) assigned to you by Visa Acceptance Solutions.

* API Key: Enter the Key from your REST API Shared Secret Key.

* API Shared Secret Key: Enter the Shared Secret from your REST API Shared Secret Key.

* Debug Mode:

  * Yes: Compiles detailed logs for every transaction. This option is recommended only for the Test Environment or when troubleshooting issues in Production.
  * No: Only basic logging occurs.
    {#adobe-commerce-r-configuration_ul_yxq_1yg_s3c}

{#adobe-commerce-r-configuration_ul_ecc_1yg_s3c}


* Message Level Encryption:
  * Enabled
    * Yes: Encrypts the full request message using JSON Web Tokens before being transmitted to the Visa Acceptance Platform.
    * No: Uses the HTTP Signature.
      {#adobe-commerce-r-configuration_ul_lp5_42n_s3c}
      {#adobe-commerce-r-configuration_ul_xtf_42n_s3c}

{#adobe-commerce-r-configuration_ul_hcb_2yg_s3c}  
JSON Web Tokens use a digital certificate to prove who you are, while HTTP Signature uses a shared secret key to confirm that the message is genuine. Both methods are PCI compliant.

* * Certificate File: Upload the p12 certificate for your `Cybersource` Merchant ID.
  * Key Password: Enter the password that was used when you created your p12 certificate.
    {#adobe-commerce-r-configuration_ul_tc5_p2n_s3c}

Configure Secure Payment Methods:

* Enable: Choose `Yes` to enable the extension.
* Title: Enter the label your customers see on the checkout page.
* Payment Action: Choose one of these options:
  * Authorize and Capture: Captures the transaction automatically when the authorization is approved.
  * Authorize only: Sends an authorization request, and if it is approved, you must manually request a capture.
* Card Types: Choose the card brands you want to offer to your customers.
* Allowed Payment Methods: Choose the payment methods you want to offer to your customers. These payment card types must be enabled for your MID in the `Business Center`. See the [*Unified Checkout Developer Guide*](https://developer.visaacceptance.com/docs/vas/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-about-guide.md "") for details.
* Select Layout:
  * Embedded: The payment widget appears inline on the checkout page.
  * Sidebar: The payment widget appears on the right side on the checkout page.
* Payment from Applicable Countries:
  * All Allowed Countries: The `Adobe Commerce` global settings determine which countries to accept payment from.
  * Specific Countries: You specify which countries you want to accept payments from.
* `Payer Authentication`/`3-D Secure`: Choose `Yes` to enable `3-D Secure`.
* Digital Pay button in minicart: Choose `Yes` to enable Minicart checkout.
* Tokenization: Choose `Yes` to enable your customers to save their payment cards for future purchases.
* Tokenization Title: Enter the label you want your customers to see when they pay with a saved card.
* Saved Card Verification: Choose `Yes` to request that your customer enter their card security code when paying with a saved card.
* Enforce Strong Customer Authentication: Choose `Yes` to enforce a `3-D Secure` challenge when a customer saves their card for the first time.

Order Management {#adobe-commerce-r-order-management}
=====================================================

The `Cybersource` extension provides comprehensive order management capabilities for handling transactions after they are processed. This includes capturing authorized payments and processing refunds when necessary.  
The order management features enable you to:

* Capture authorized transactions to collect funds.
* Process full or partial refunds for completed transactions.
* Manage the payment lifecycle from authorization to settlement.

Capture a Transaction {#adobe-commerce-r-capture}
=================================================

When you have the Payment Action set to `Authorization`, you must capture the transaction to collect the funds.  
Follow these steps to capture a transaction:

1. Open an order from the list of orders.
2. Click Invoice.
3. Check the item(s) that require capturing.
4. Ensure the drop-down capture option is set to Capture Online.
5. Click Submit Invoice.

Refund a Transaction {#adobe-commerce-r-refund}
===============================================

Refund an order by creating a credit memo in the `Adobe Commerce` admin.
Follow these steps to refund an order:

1. From the list of orders, choose the order you want.
2. Click Invoices.
3. Select the appropriate invoice.
4. Click Credit Memo.
5. Check the item(s) to be refunded.
6. Verify and if necessary update the Refund Totals.
7. Click Refund.

Place an Admin Order {#adobe-commerce-r-admin-order}
====================================================

Follow these steps to place an admin order:

1. Go to SalesOrders.
2. Click Create New Order.
3. Select an existing customer or create a new customer.
4. Add the required product(s) and enter the shipping and billing addresses.
5. Select the shipping method.
6. Click the `Cybersource` payment method.
7. Enter the card details and complete the payment.

Support and Troubleshooting {#adobe-commerce-r-support}
=======================================================

Get support for the `Cybersource` extension by providing detailed information about your issue.  
If you require support with this extension, sign in to the Support Center to open a case and provide these details:

* Summary of the issue
* Steps needed to reproduce the issue
* Platform version
* Extension version
* `Cybersource` Merchant ID
* Configuration screenshots
* List of themes/additional extensions installed
* Log file and any other data or screenshots related to the issue

Upgrade the Extension {#adobe-commerce-r-upgrade}
=================================================

Upgrade the `Cybersource` extension for `Adobe Commerce` to the latest version.
To upgrade from an earlier version of our `Adobe Commerce` extension, run these Composer commands.

1. Update the extension to the latest version:

   ```keyword
   composer require Cybersource/module-payment:26.1.0
   ```
2. Run the set-up upgrade command:

   ```
   bin/magento setup:upgrade --keep-generated
   ```
3. Deploy static content:

   ```
   bin/magento setup:static-content:deploy
   ```
4. Clean the cache:

   ```
   bin/magento cache:clean
   ```

Oracle NetSuite {#oracle-netsuite-intro}
========================================

The `Cybersource` SuiteApp enables merchants to connect their NetSuite account to the `Visa Acceptance Solutions` Platform to directly take credit and debit cards and eCheck payments. It also enables order management for Apple Pay, Google Pay, Click to Pay, PayPal, Venmo, and Paze payments.  
The SuiteApp is built on the Oracle NetSuite Payment Processing Plugin Architecture using the SuitePayments API.

Supported Features {#oracle-netsuite-supported-features}
========================================================

The `Cybersource` SuiteApp for Oracle NetSuite supports these payment and order management features.

Payment Acceptance and Order Management
---------------------------------------

These payment methods support authorization, sale, capture, refund, credit, and authorization reversal:

* ACH/eCheck
* Credit and debit cards including Level II and Level III processing
* Fraud Screening
* Google Pay
* Network Tokens
* Payer Authentication for `3-D Secure`
* Tokenization

Order Management Only
---------------------

* Apple Pay
* Click to Pay
* PayPal
* Venmo
* Paze

Reporting
---------

These `Visa Acceptance Solutions` reports can be imported to NetSuite:

* Fraud Screening Conversion Detail Report
* Payment Batch Detail Report
* Transaction Request Report
* Conversion Detail Report

Invoicing
---------

* `Visa Acceptance Solutions` invoicing
* NetSuite invoicing

Merchant Initiated Transactions
-------------------------------

* Resubmission
* Reauthorization
* Delayed charge
* No show
* Unscheduled or auto top-up

Supported Versions {#oracle-netsuite-supported-versions}
========================================================

The `Cybersource` SuiteApp supports Oracle NetSuite 2026.2 and earlier.

Version Requirements
--------------------

The SuiteApp supports Oracle NetSuite 2026.2 and earlier.

Recommendation
--------------

Enable Payment Instruments within your Oracle NetSuite environment. For more details, see [Payment Instruments](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/chapter_1538492538.md "").

Prerequisites {#oracle-netsuite-prerequisites}
==============================================

Before installing and configuring the `Cybersource` SuiteApp for Oracle NetSuite, ensure you meet the prerequisites for both `Cybersource` and NetSuite.  
Some prerequisites are required and others are optional depending on your use case.

`Cybersource` Prerequisites {#oracle-netsuite-prerequisites-cybersource}
========================================================================

These are the required and optional `Cybersource` prerequisites for the Oracle NetSuite SuiteApp.

Required
--------

You must have a REST shared secret key. See the [*Getting Started with REST Developer Guide*](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-http-message-intro/restgs-security-key-pair-intro/restgs-security-key-pair-task.md "") for how to create a shared secret key.

Optional
--------

These `Cybersource` products are optional. To use them, each product must be enabled and configured for your Merchant ID:

* ACH and eCheck
* `Decision Manager`
* Invoicing (also requires `Unified Checkout`)
* Network Tokens
* Payer Authentication for `3-D Secure`
* Tokenization

NetSuite Prerequisites {#oracle-netsuite-prerequisites-netsuite}
================================================================

These are the required and optional NetSuite prerequisites for the `Cybersource` SuiteApp.

Required Features
-----------------

These NetSuite features must be enabled for the `Cybersource` SuiteApp to function:  
From the NetSuite menu, choose SetupCompanyEnable Features.

* On the Company tab, enable File Cabinet.
* On the Transactions tab, enable Credit Card Payments.
* On the Suite Cloud tab, enable Custom Records and Suite Scripts.

Optional Features
-----------------

These NetSuite features are optional but might be required for your use case. Enable these features as needed. Access these feature options from the menu at SetupCompanyEnable Features.

* On the Transactions tab, you can enable Sales Orders.
* On the Suite Cloud tab, you can enable SOAP/REST Web Services.

Access these accounting options from the menu by choosing SetupAccountingAccounting Preferences.

* On the Items/Transactions tab, you can enable these options:
  * Customers can pay online
  * Use Card Security Code with Credit Card Transactions
  * Allow adjusted Expiration Date to improve recurring payments
  * Enable the Sale Payment Operations
  * Preserve Transactions when payment is on hold
* On the General tab, verify that the Void Transactions Using Reversing Journals option is unchecked.

Enable NetSuite Payment Instruments {#oracle-netsuite-prerequisites-netsuite-pay-instrument}
============================================================================================

NetSuite Payment Instruments must be enabled for tokenization, ACH, multi-capture, merchant-initiated transactions, and invoicing.
Some features work only when NetSuite Payment Instruments are enabled. These features require NetSuite Payment Instruments to be used:

* Tokenization
* Network Tokens
* ACH/eCheck
* Multi-capture
* Delayed shipment
* Merchant-initiated transactions
* Invoicing
* Payment link

Follow these steps to enable Payment Instruments:

1. From the NetSuite menu, choose SetupCompanyEnable Features.
2. Choose the Transactions tab.
3. In the Payment Processing section, in the Payment Instruments field, click Enable.

Install the SuiteApp {#oracle-netsuite-installation}
====================================================

You install the `Cybersource` SuiteApp for Oracle NetSuite from the SuiteBundler.
Follow these steps to install the `Cybersource` SuiteApp for Oracle NetSuite:

1. Log in to your Oracle NetSuite environment.
2. From the NetSuite menu, choose CustomizationSuiteBundlerSearch and Install Bundles.
3. Under Keywords, enter `Cybersource`` for Oracle NetSuite` and click Search.
4. Verify that the Bundle ID is `316818`.
5. In the Name column, click `Cybersource` for NetSuite.
6. Click Install.

Configure the SuiteApp {#oracle-netsuite-configuration}
=======================================================

You configure the `Cybersource` SuiteApp in three steps: create the supported payment methods, map them, and create a payment processing profile.
The configuration can be managed from the `Cybersource` SuiteApp user interface. Go to `Cybersource` IntegrationSuiteApp ConfigurationSuiteApp Configuration.  
Three main steps are required to configure the `Cybersource` SuiteApp:

1. Create supported Payment Methods.
2. Map the Payment Methods.
3. Create a Payment Processing Profile.

Create a Payment Method Automatically {#oracle-netsuite-create-payment-method}
==============================================================================

The automatic option creates and maps the payment methods that the SuiteApp supports.
To create supported payment methods automatically, choose ConfigurationSuiteAppStep 1. Payment MethodCreate Supported Payment Methods (Automatic).  
This option creates card payment methods, ACH and eCheck payment methods, and token payment methods. It also maps the payment methods automatically. Any additional payment methods must be created manually. See [Create a Payment Method Manually](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro/oracle-netsuite-configuration/oracle-netsuite-create-payment-method-manual.md "").
Run Create Supported Payment Methods (Automatic) after upgrading so that payment methods introduced in later versions of the SuiteApp are created in your NetSuite environment.

Create a Payment Method Manually {#oracle-netsuite-create-payment-method-manual}
================================================================================

Create a payment method manually when you need one that the automatic option does not create.
Follow these steps to create a payment method manually:

1. To create a payment method manually, choose ConfigurationSuiteAppStep 1. Payment MethodCreate Payment Method (Manual).

2. In the Payment Method Name field, enter a name.

3. In the Type field, choose the appropriate option.

   * For a credit or debit card payment method, choose the appropriate card brand.
   * For Order Management operations only, choose External Checkout.

   #### ADDITIONAL INFORMATION

   If you want NetSuite to pass line-level data in payment messages, select Requires Line Level Data.

4. Click Save.

5. Repeat the procedure for any additional payment methods.

6. Proceed to [Map the Payment Method](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro/oracle-netsuite-configuration/oracle-netsuite-payment-method-mapping.md "").

Map the Payment Method {#oracle-netsuite-payment-method-mapping}
================================================================

Each payment method must be mapped to ensure proper processing in the `Cybersource` SuiteApp.
If you selected automatic creation of the payment methods, and do not need to add any additional payment methods, you can skip this step.  
Follow these steps to manually add payment methods:

1. From the menu, choose ConfigurationSuiteAppStep 2. Payment Method MappingMap Payment Methods.

   #### ADDITIONAL INFORMATION

   The payment methods that are available for mapping are listed.

2. Choose a payment method and click Edit.

3. In the Payment Name field, enter a name and click Save. Repeat this process for any additional payment methods that need to be mapped.

4. After you finish mapping your payment methods, proceed to [Payment Processing Profile](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro/oracle-netsuite-configuration/oracle-netsuite-payment-processing-profile.md "").

Configure the Payment Processing Profile {#oracle-netsuite-payment-processing-profile}
======================================================================================

To define how payments are processed through the `Cybersource` SuiteApp, configure the payment processing profile.  
Go to the Payment Processing Profile by choosing ConfigurationSuiteAppStep 3: Payment Processing ProfileCreate Payment Processing Profile and complete these required settings:  
In the Primary section, complete these fields:

* In the Name field, enter the name of the payment processing profile.
* In the Subsidiary field, specify which subsidiary within your NetSuite environment this profile applies to.
* In the Charge Currencies field, specify the currency or currencies that you accept.
* Test Mode: Enable only to send transactions to the `Visa Acceptance Solutions` Platform test environment.

In the `Cybersource` Payment Configuration section, complete these fields:

* In the Merchant ID field, enter your `Cybersource` Merchant ID.
* In the Level Type field, set the default transaction level type by choosing Basic, Level II, or Level III. This setting can be overridden for individual payments when necessary.

In the Keys Configuration section, complete these fields:

* In the Key ID field, enter the key ID from your REST shared secret key.
* In the Secret Key field, enter the shared secret from your REST shared secret key.

In the Address Verification (AVS) Rules section, complete these fields:

* In the No AVS Match field, choose how to handle orders with a no match (AVS) response.
* In the AVS Service Not Available field, specify how to handle orders with an AVS unavailable response.
* In the Partial AVS Match field, specify how to handle orders with a partial match AVS response.

In the Card Verification Rules section, complete these fields:

* In the CSC Not Submitted field, specify how to handle orders with a Card Security Code (CSC) not submitted response.
* In the CSC Service Not Available field, specify how to handle orders with a CSC unavailable response.
* In the CSC Check Failed field, specify how to handle orders with a CSC check failed response.
* In the CSC Not Supported by Cardholder Bank field, specify how to handle orders when the card issuer does not support CSC checks.
* In the No CSC Match field, specify how to handle orders with a no match CSC response.

In the Merchant Reference Number Customization section, complete these fields:

* In the For Capture field, specify which NetSuite ID to pass as the Merchant Reference Number to the `Visa Acceptance Solutions` Platform during a capture.
* In the For Refund field, specify which NetSuite ID to pass as the Merchant Reference Number to the `Visa Acceptance Solutions` Platform during a refund.
* In the For Customer Deposit field, specify which NetSuite ID to pass as the Merchant Reference Number to the `Visa Acceptance Solutions` Platform during a deposit.

In the Payment Information section, complete these fields:

* In the Supported Payment Methods field, select the payment methods that can be processed with this payment processing profile.
* In the Gateway Request Types field, select the payment actions to enable for the payment processing profile:
  * Authorization: Sends an authorization request. When the authorization is approved, you must manually request a capture.
  * Sale: Automatically captures the transaction when the authorization is approved.

On the Payment Processing Profile screen, the Signing Key field is marked as mandatory; however, signing keys are not required for the ` Cybersource ` SuiteApp configuration.

Payment Processing Profile: Optional Settings {#oracle-netsuite-payment-processing-profile-optional}
====================================================================================================

To define how payments are processed through the `Cybersource` SuiteApp, configure the payment processing profile.
These settings are optional, but your `Cybersource` MID configuration or regional regulations might require some of them.

Primary
-------

Complete this field:

* Processor Name: Enter a processor name only when you are processing Level II or Level III transactions.

Fraud Management
----------------

Complete these fields:

* Enable Fraud Management: Enable this field when you expect fraud screening responses from the `Visa Acceptance Solutions` Platform. Fraud Screening must still be configured for your MID in the `Business Center`.
* `Decision Manager` Reject : Specify how to handle transactions with a fraud screening Reject response.

Payment Authentication Configuration
------------------------------------

Complete these fields:

* DMPA Required: Enable so that fraud management rules can determine if Payer Authentication `3-D Secure` should be used with a transaction.
* Payer Authentication Mode: Choose one of these options:
  * Yes: All transactions are processed through `3-D Secure`.
  * No: No transactions are processed through `3-D Secure`.
  * Data Only: Visa and Mastercard transactions are processed through `3-D Secure`, without challenges. No other card brands are processed with `3-D Secure`.
* Enforce Strong Consumer Authentication for All Transactions: When this field is enabled, all web store transactions are `3-D Secure` challenged.
* Enforce Strong Consumer Authentication when Saving Cards: When this field is enabled, any customer saving their card for future purchases is `3-D Secure` challenged.

Transaction Hold Reason
-----------------------

Complete these fields:

* Hold All Rejected Transactions: When this field is enabled, any transaction that is declined or rejected is marked as `On Hold` in NetSuite.
* Hold Transaction Reason Codes: Choose which decline or reject reasons to assign to orders marked `On Hold` in NetSuite. This setting is ignored when the Hold All Rejected Transactions option is enabled. For a list of Reason Codes, see [Understanding Reason Codes](https://support.visaacceptance.com/knowledgebase/knowledgearticle/?code=KA-04103 "").
  Merchant Defined Data Mapping: Select up to 20 NetSuite data elements to pass to the `Visa Acceptance Solutions` Platform in any transaction request. If these data elements are for fraud screening reasons, the same data elements must be set in the `Business Center`.  
  The data elements must be created in the Merchant Defined Data Mapping custom record before they can be configured in the Payment Processing Profile. See [Map Merchant Defined Data Fields](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro/oracle-netsuite-configuration/oracle-netsuite-merchant-defined-data.md "").

Address Verification (AVS) Rules
--------------------------------

Complete these fields:

* Ignore AVS response: When this setting is enabled, the AVS response is ignored.
* Decline AVS flags: Enter the values you want to treat as a decline, separated by commas. By default, N is treated as a decline. When Ignore AVS response is enabled, this setting is ignored. For a list of AVS Codes, see [Understanding Address Verification Service (AVS) Result Codes](https://support.visaacceptance.com/knowledgebase/knowledgearticle/?code=000003111 "").

Card Verification (CSC) Rules
-----------------------------

Complete this field:

* Ignore CSC Response: When this setting is enabled, the CSC/CVV response is ignored.

Override Options
----------------

Complete these fields:

* Use Dummy Billing Email Address: When this setting is enabled, a dummy email address is added to a payment transaction when a customer email address is not available.
* Send Token As: If you are using `Token Management Service`, choose the TMS token type to use in transactions.
* Network Tokens: If your `Cybersource` MID is enabled for Network Tokens, enable this option to tell the SuiteApp to check for Token Life Cycle updates during Sales Order and Cash Sale creation.
* Default PayPal Version: Choose the version that is configured for your `Cybersource` MID. To maintain backward compatibility, it can be overridden at transaction level.

Payment Facilitator
-------------------

Link a Payment Facilitator record to the Payment Processing Profile. See [Configure a Payment Facilitator](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/oracle-netsuite-intro/oracle-netsuite-payment-facilitator.md "") for more details.

Default Custom Messages and Developer ID
----------------------------------------

Complete these fields:

* External Reject Message: Enter a custom message to display when a transaction is rejected.
* External Hold Message: Enter a custom message to display when a transaction is kept on hold.
* Developer ID: Enter a developer ID if one has been assigned to the developer or system integrator who supports your implementation.

Tokenization
------------

Complete these fields:

* Replace Payment Card by Token: Enable tokenization of payment cards.
* Payment Card Token Payment Method: Choose the token method used during payment method configuration.

Google Pay
----------

Complete these fields:

* Google Pay Merchant ID: Enter your Google Pay merchant ID.
* Google Pay Merchant Name: Enter the name to display to customers paying with Google Pay.

ACH/eCheck Configuration
------------------------

In the ACH Configuration section, complete this field:

* Default SEC Code: Choose the default Standard Entry Class (SEC) code for ACH/eCheck transactions. This setting can be overridden for individual payments when required.

In the Tokenization section, complete these fields:

* Replace Payment Card by Token: Enable tokenization of ACH/eCheck accounts.
* General Token Payment Method: Choose the ACH/eCheck token payment method used during payment method configuration.

New Payment Processing Profile View {#oracle-netsuite-payment-processing-profile-new-view}
==========================================================================================

The New Payment Processing Profile view is an alternative layout for managing payment processing profiles. It adds the Test Connection feature and the profile-level Enable Features tab.  
To enable the new view, in a payment processing profile toggle Switch to New View. To switch back to the classic view, toggle Switch to Classic View.

Test Connection
---------------

The New View lets you confirm that the `Cybersource` merchant ID and REST shared secret key entered in the payment processing profile are valid, by testing the connection.  
A Test Connection button is located at the top and bottom of the Payment Processing Profile screen. Clicking the button validates that the merchant ID and the REST shared secret key are correct.

Map Merchant Defined Data Fields {#oracle-netsuite-merchant-defined-data}
=========================================================================

You can create and configure Merchant Defined Data mapping records for the SuiteApp.
To create a Merchant Defined Data mapping record, follow these steps:

1. From the SuiteApp menu, choose `Cybersource` IntegrationMerchant Defined Data Mapping RecordsMap Merchant Defined Data Fields.

2. On `customdeploy_cs_pymt_map_mdd_mapping_od`, click Edit to open the record.

3. From the Save drop-down menu, click Save and Execute.

   #### ADDITIONAL INFORMATION

   This action creates the Merchant Defined Data records.

4. To view the Merchant Defined Data records you created, from the menu choose `Cybersource` IntegrationMerchant Defined Data Mapping RecordsView Merchant Defined Data Fields.

Configure Webhooks {#oracle-netsuite-webhooks}
==============================================

Some services require a webhook subscription, which you create and configure in the SuiteApp.

Services Requiring Webhooks
---------------------------

These services require a webhook subscription:

* `Visa Acceptance Solutions` Invoicing

Required NetSuite Features
--------------------------

These NetSuite features must be enabled to support webhooks:  
Go to SetupCompanyEnable Features to enable features.

* On the Web Presence tab, enable these features:

  * Web site
  * Host HTML files
* On the SuiteCloud tab, enable these features:

  * Client SuiteScript
  * Server SuiteScript
  * SuiteScript Server Pages
    To configure webhooks, go to `Cybersource` IntegrationWebhook ConfigurationsNew and enter this information:
* In the Primary Information section, enter a name and description of the webhook.

* In the Webhook Events section, select the webhook events you want.

* In the Symmetric Key Details section, the fields are populated automatically when the webhook subscription is created.

* In the Webhook Configuration section, you can manually enter the merchant credentials for webhook subscriptions or pull the merchant information automatically from an existing Payment Processing Profile or Invoicing Configuration.

{#oracle-netsuite-webhooks_ul_hlf_k5m_xjc}  
When manually entering the merchant credentials, complete these fields:

* In the Merchant ID field, enter your `Cybersource` Merchant ID.
* In the Key ID field, enter the key ID from your REST shared secret key.
* In the Secret Key field, enter the shared secret from your REST shared secret key.
* In the Test Mode field, enable this field only when the webhooks subscription is created in the `Visa Acceptance Solutions` Platform test environment. Leave unchecked for production.
* In the Always Update Keys from PPP field, enable this field to automatically apply key updates from the Payment Processing Profile to the webhook subscription.

When automatically entering the merchant credentials, complete these fields:

* In the Payment Processing Profile field, choose the payment processing profile to collect credentials from.
* In the Invoicing Configuration field, choose the invoicing configuration to collect credentials from.

When the webhook record is saved, a health check runs. This process can take up to 15 minutes to complete.

Configure SuiteCommerce {#oracle-netsuite-suitecommerce-configuration}
======================================================================

You can configure SuiteCommerce to accept payments through `Cybersource`.
Your payment requirements determine which steps are required. Additional NetSuite setup steps might be required. Refer to [NetSuite documentation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/index.md "") for details.

1. From the NetSuite menu, choose CommerceWebsitesConfiguration.
2. Choose the required website and domain and click Configure.
3. Click the Checkout tab.
4. If you are processing with `3-D Secure`, enable `3-D Secure` Payments.
5. From the menu, choose `Cybersource` IntegrationSuiteApp ConfigurationSuiteAppStep 3: Payment Processing ProfileView Payment Processing Profile.
6. Edit the payment processing profile to be used for SuiteCommerce.
7. Select the required website.
8. If you are processing with `3-D Secure`, select Authentication from the Gateway Request Types.

Configure Invoicing {#oracle-netsuite-invoicing-configuration}
==============================================================

The `Cybersource` SuiteApp supports both NetSuite native invoicing (payment links) and `Visa Acceptance Solutions` Invoicing.  
You can choose between `Visa Acceptance Solutions` Invoicing or NetSuite invoicing based on your business requirements.

`Visa Acceptance Solutions` Invoicing {#oracle-netsuite-visa-acceptance-invoicing}
==================================================================================

`Visa Acceptance Solutions` Invoicing requires that your MID is enabled for Invoicing and `Unified Checkout`.
To use Invoicing, your `Visa Acceptance Solutions` MID must be enabled for Invoicing and `Unified Checkout`.

1. From the menu, choose SetupCompanyEnable Features.
2. On the SuiteCloud tab, enable Custom Transactions.

Configure `Visa Acceptance Solutions` Invoicing {#oracle-netsuite-visa-acceptance-invoicing-configure}
======================================================================================================

Configure Invoicing for the `Cybersource` SuiteApp.
To configure Invoicing:

1. In the menu, choose `Cybersource` IntegrationSuiteApp ConfigurationConfigurationInvoicingCreate Invoicing Setup.

2. In the Merchant Details section, complete these fields:

   #### ADDITIONAL INFORMATION

   * Name: Enter a name for the configuration.
   * Test Mode: Enable this field only when you want the transaction to go to the `Visa Acceptance Solutions` Platform test environment.
   * Merchant ID: Enter your `Visa Acceptance Solutions` Merchant ID.
   * Key ID: Enter the key ID from your REST shared secret key.
   * Secret Key: Enter the shared secret from your REST shared secret key.
3. In the NetSuite Invoice Default Value section, set these parameters to be used as the defaults for all created invoices. When necessary, these parameters can be overridden when creating invoices.

   #### ADDITIONAL INFORMATION

   * Set as Default MID: Specify a MID as the default `Visa Acceptance Solutions` MID when processing.
   * Use Invoice Number as Pay-By-Link Invoice ID: Use the NetSuite generated invoice number for the `Visa Acceptance Solutions` invoice ID. If this field is left blank, `Visa Acceptance Solutions` invoicing provides the invoice ID.
   * Default Invoice Action: Choose one of these options as the default action when creating an invoice:
     * Create a draft invoice.
     * Create and send the invoice immediately.
     * Create an invoice without sending it.
4. In the Import Invoice Default Values section, enable the Import Invoices option to retrieve invoices from the `Visa Acceptance Solutions` Platform that are not in a `PAID` or `CANCELLED` status.

5. Set these defaults as backup values for invoice creation:

   #### ADDITIONAL INFORMATION

   * Default Customer
   * Item
   * Shipping Item
   * Tax Item
   * Discount Item
   * Tax Code

   These additional default values might be needed for your NetSuite setup and usage:

   * Subsidiary
   * Location

* Deposit Account

Payment Page Branding {#oracle-netsuite-visa-acceptance-invoicing-brand}
========================================================================

You can configure Invoicing for the `Cybersource` SuiteApp.
You can add custom branding to invoices. The branding can be done within the `Business Center` or through the NetSuite configuration. These fields are used in NetSuite configuration and are optional.

* Show VAT Number: Enable to show your VAT number on invoices.
* Delivery Language: Specify the default delivery language.
* Logo File: Upload the logo that you want to appear on invoices. The maximum file size is 1 MB and must be in the gif, jpg, or png format.
* Business Name: Enter your business name.
* Currency: Specify a default currency.
* VAT Registration Number: Enter your VAT number to appear on invoices.
  {#oracle-netsuite-visa-acceptance-invoicing-brand_ul_elw_s5c_xjc}

Configure NetSuite Invoicing {#oracle-netsuite-netsuite-invoicing}
==================================================================

NetSuite native invoicing, also called payment links, is configured in NetSuite rather than in the SuiteApp.
To enable NetSuite invoicing for the `Cybersource` SuiteApp, follow the directions provided in the [NetSuite documentation](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/index.md "").

Configure a Payment Facilitator {#oracle-netsuite-payment-facilitator}
======================================================================

A Payment Facilitator record holds the aggregator and sub-merchant details that a payment processing profile passes in transactions.
To configure a Payment Facilitator merchant, follow these steps:

1. From the SuiteApp menu, choose `Cybersource` IntegrationPayment FacilitatorNew.
2. In the Name field, enter a name for the record.
3. Choose the Aggregator Information tab and complete all of the required fields that are marked with an asterisk.
4. Choose the Merchant Information tab and complete all of the required fields that are marked with an asterisk.
5. After you configure the Payment Facilitator record, edit the relevant payment processing profile by going to the Payment Facilitator field and choosing the required Payment Facilitator record.
6. Click Save.

Feature Management {#oracle-netsuite-feature-management}
========================================================

You can control which features are enabled or disabled within the `Cybersource` SuiteApp at the global and the profile levels.  
Feature management prevents unwanted features from being configured, so that only the functionality you need is active. Global settings apply to your whole NetSuite account, and profile settings apply to an individual payment processing profile.

Configure Global Feature Management {#oracle-netsuite-feature-management-global}
================================================================================

You can enable or disable SuiteApp features for your whole NetSuite account.
Global feature management enables users to control which features are used within the `Cybersource` SuiteApp. Managing features globally helps avoid the configuration of unwanted features, ensuring that only necessary functionalities are active.  
Follow these steps to enable and disable features globally:

1. From the SuiteApp menu, navigate to `Cybersource` Integration`Cybersource` Feature Management.
2. Select which features to enable (or disable).

Configure Profile Level Feature Management {#oracle-netsuite-feature-management-profile}
========================================================================================

You can enable or disable SuiteApp features for a single payment processing profile.
Profile level feature management enables users to control which features are used within the SuiteApp with each payment processing profile. Managing features at the profile level helps avoid the configuration of unwanted features, ensuring that only the necessary functionalities are active.  
Follow these steps to enable and disable features at profile level:

1. From the SuiteApp menu, navigate to `Cybersource` IntegrationSuiteApp ConfigurationSuiteAppStep 3: Payment Processing ProfileView Payment Processing Profile.
2. Choose a payment processing profile and ensure that the view is `New View`.
3. Navigate to the Enable Features tab.
4. Select which features to enable (or disable).

Configure Reporting {#oracle-netsuite-reporting}
================================================

To import `Visa Acceptance Solutions` reports into NetSuite, you must configure reporting.  
Configure reporting by choosing `Cybersource` IntegrationSuiteApp ConfigurationConfigurationCreate Reporting Setup and completing these fields:

* Merchant ID: Enter your `Cybersource` Merchant ID.
* Key: Enter the key ID from your REST shared secret key.
* Secret Key: Enter the shared secret from your REST shared secret key.
* Test Mode: Enable only when you want reports from the `Visa Acceptance Solutions` Platform test environment.
* Conversion Detail Report: Click to enable the fraud screening conversion detail report.
* Report End Date: Specify the date when the report ends. If left blank, there is no end date.
* Under Reporting File Details: Select Payment Batch Detail Report or Transaction Request Report or both.

Order Management {#oracle-netsuite-order-management}
====================================================

Order Management covers the payment activities you perform on a NetSuite transaction after the order exists.  
With Order Management you manage payment activities that include importing transactions, importing tokens, capturing authorizations, and processing refunds.

Import a Transaction {#oracle-netsuite-importing-transactions}
==============================================================

You can import an authorization transaction into NetSuite from an external payment source.
To import an authorization into NetSuite, follow these steps:

1. Log in to the SuiteApp.
2. Create a new Sales Order or Cash Sale and enter the appropriate details for the order.
3. Navigate to BillingPayment.
4. Choose the appropriate payment processing profile.
5. In the Handling Mode field, choose Record External Event.
6. In the P/N Ref field, enter the `Cybersource` Request ID.
7. Choose the appropriate Payment Operation.
8. Click Save.

#### AFTER COMPLETING THE TASK

You can use a script to import transactions. For further details on using scripts, refer to NetSuite documentation.

Import a Token {#oracle-netsuite-importing-tokens}
==================================================

You can import a `Token Management Service` token to a customer record or during a transaction.
There are two ways to import `Token Management Service` tokens:

* Direct to customer record
* During a Sales Order or Cash Sale

Import a Token: Direct to a Customer Record {#oracle-netsuite-importing-tokens-customer}
========================================================================================

You can import a `Token Management Service` token directly to a NetSuite customer record.
You can import a `Token Management Service` token direct to a customer record:

1. Select the customer record that needs the token.
2. From the menu, choose FinancialsPayment Instruments and select New Payment Card Token.
3. In the Payment Method field, choose Payment Card Token.
4. In the Token field, enter the `Token Management Service` token.
5. In the Token Family field, choose `Cybersource`.

Import a Token: During the Transaction {#oracle-netsuite-importing-tokens-sale}
===============================================================================

You can import a `Token Management Service` token while you create a Sales Order or Cash Sale.
You can import a `Token Management Service` token during a Sales Order or Cash Sale.

1. While in the Sales Order or Cash Sale, from the menu, choose BillingPayments.

2. Click the + icon beside Payment Option.

3. In the Payment Method field, choose Payment Card Token.

4. In the Token field, enter the `Token Management Service` token.

5. In the Token Family field, choose `Cybersource`.

   #### ADDITIONAL INFORMATION

Optionally, you can add the expiration date and any substituted card data.

Capture an Authorization {#oracle-netsuite-capture}
===================================================

To complete a payment transaction, you must capture the authorization.
To capture an authorization, follow these steps:

1. Log in to NetSuite and find and approve the Sales Order.

2. Choose Bill or Bill Remaining.

   #### ADDITIONAL INFORMATION

   This action creates a Cash Sale.

3. On the Cash Sale page, click the Billing tab.

4. In the Transaction Level Type field, choose one of these options:

   #### ADDITIONAL INFORMATION

   * Basic
   * Level 2
   * Level 3
5. Verify that the correct Payment Processing Profile is selected.

6. In the Handling Mode field, choose Process.

7. In the Payment Operation field, choose Capture Authorization.

8. Click Save.

Refund a Transaction {#oracle-netsuite-refund}
==============================================

You can process a refund for a completed transaction.
To refund a transaction, follow these steps:

1. Log in to NetSuite and find the transaction's Cash Sale page.

2. Click the Refund button to create a cash refund.

3. Click the Billing tab.

4. In the Transaction Level Type field, choose one of these options:

   #### ADDITIONAL INFORMATION

   * Basic
   * Level 2
   * Level 3
     {#oracle-netsuite-refund_ul_kc1_y2t_vjc}
5. Verify that the correct Payment Processing Profile is selected.

6. In the Handling Mode field, choose Process.

7. In the Payment Operation field, choose Refund.

8. Click Save.

Invoice Management {#oracle-netsuite-invoice-management}
========================================================

You can manage Invoices including creating, updating, resending, canceling, and searching for invoices.  
These invoice management steps are for Invoicing only. For NetSuite invoicing, refer to the NetSuite [user guides](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1238506.md "").

Create an Invoice {#oracle-netsuite-create-invoice}
===================================================

You can create an invoice from a NetSuite invoice record.
Follow these steps to create an invoice:

1. From the SuiteApp menu, click the `Cybersource` tab.

2. Select the required Pay-by-Link MID Account.

3. Choose the Pay-by-Link Create Invoice action.

   #### ADDITIONAL INFORMATION

   Optionally, you can enter an invoice ID.

4. To allow partial payments, in the Partial Allowed Amount field, enter the amount of required partial payment.

5. To create an invoice without line items, choose the Pay By Link Header Only option.

6. Click Save.

Update an Invoice {#oracle-netsuite-update-invoice}
===================================================

You can update an existing invoice.
To update an invoice, follow these steps.

1. Edit the invoice record to make the required changes.
2. Click the `Cybersource` tab and in the Pay-by-Link Create Invoice section, select Update.
3. Click Save.

Resend an Invoice {#oracle-netsuite-resend-invoice}
===================================================

You can resend an existing invoice to the customer.
To resend an invoice, follow these steps:

1. Find the invoice.
2. Edit the invoice as needed.
3. From the menu, choose Pay-by-Link Create Invoice.
4. Click Send.
5. Click Save.

Cancel an Invoice {#oracle-netsuite-cancel-invoice}
===================================================

You can void or cancel an existing invoice.
To void or cancel an invoice, follow these steps:

1. Find the invoice.
2. Edit the invoice as needed.
3. From the menu, choose Pay-by-Link Create Invoice.
4. Click Cancel.
5. Click Save.

Search for an Invoice {#oracle-netsuite-search-invoices}
========================================================

You can search for invoices that were created with invoicing. The invoices are organized into categories.
In the SuiteApp menu, navigate to `Cybersource` \&gt; Integration \&gt; Invoicing. The invoices are grouped into these four categories:

* `Cybersource` Invoices Created and Sent: Lists the invoices you created.
* `Cybersource` Paid Invoices: Lists your paid invoices.
* Errored Invoices When Exporting: Lists the invoice attempts that failed during creation.
* Errored Invoices When Importing: Lists the invoice updates that failed.

Create a Pro-Forma Invoice {#oracle-netsuite-proforma-invoice}
==============================================================

You can create pro-forma invoices from sales orders using invoicing.
To create a pro-forma invoice, follow these steps:

1. Create a sales order, entering the required details.

2. From the menu, choose the `Cybersource` tab.

3. Click Is Payment Through Order.

4. Select the required Pay-by-Link MID account.

5. Choose the Pay-by-Link Create Invoice action.

   #### ADDITIONAL INFORMATION

   Optionally, you can enter an invoice ID.

6. If you want to allow partial payments, in the Partial Allowed Amount field, enter the partial amount you want.

7. To create an invoice without line items, click the Pay By Link Header Only option.

8. Click Save.

Support and Troubleshooting {#oracle-netsuite-support-troubleshooting}
======================================================================

You can get support and help troubleshooting issues with the `Cybersource` SuiteApp for Oracle NetSuite.
When you need support or assistance with the `Cybersource` SuiteApp, visit [support.visaacceptance.com](https://support.visaacceptance.com "") to create a support case. You need to provide this information:

* Summary of the issue
* Steps to reproduce
* `Cybersource` merchant ID
* NetSuite transaction or order ID
* `Cybersource` request ID
* SuiteApp version
* Payment processing profile screenshots
* Invoicing configuration screenshots
* Reporting setup screenshots

Run Diagnostics {#oracle-netsuite-diagnostics}
==============================================

The Diagnostics page collects the logs and configuration screenshots you need for a support case.
On the Diagnostics page, select the features or records whose logs and configuration screenshots you want to download.

> In the screenshot of the Payment Processing Profile, the REST shared secret key is visible. Edit the generated image file to mask the key before you attach it to a support case.

1. In the SuiteApp menu, navigate to `Cybersource` IntegrationDiagnostics.
2. Select All Logs/Configuration to download all logs and to capture screenshots for all configurations.

View Payment Events {#oracle-netsuite-payment-events}
=====================================================

You can view payment event details including the API request and response payloads for troubleshooting purposes.
Follow these steps to see details about the individual transactions:

1. Select a sales order or cash sale you want to troubleshoot.

2. From the menu, choose BillingPayment Events.

   #### ADDITIONAL INFORMATION

On the Payment Events page, you can see an unformatted API request and response payload to aid with troubleshooting.

Release Notes {#oracle-netsuite-release-notes}
==============================================

Release notes for the `Cybersource` SuiteApp for Oracle NetSuite.

Version 26.4.0: August 2026
---------------------------

These enhancements were made:

* 2026.2 Built for NetSuite (BFN) Certification
* Paze Back Office support
* `Click to Pay` update
* Network Token Life Cycle management updated
* Transaction Response Display Harmonization
* Reintroduce JWT authentication
* Added workaround to suppress NetSuite auto email for draft invoices

These bugs were addressed:

* Fix for Customer Record Load Error on First-Time Checkouts

Version 26.3.1: June 2026
-------------------------

This bug was addressed:

* Reverted JWT Header back to HTTP signature for `Cybersource` API requests due to `Cybersource` platform error

Version 26.3.0: June 2026
-------------------------

These enhancements were made:

* Back office operations support for PayPal v2 and Venmo.
* Added JWT Header for `Cybersource` API requests.
* Support for PayFac Aggregator IDs per card brand.
* Server-side scripting for creating of Pay-by-Link and Pro-Forma invoices.
* Removed unnecessary payment details from follow on requests.

Version 26.2.0: April 2026
--------------------------

These enhancements were made:

* 2026.1 Built for NetSuite (BFN) certification.
* Added support for Pro-forma Invoicing.
* Added workaround to pass line items for multiple Invoices.
* Added Pay-by-Link Invoices payment page configuration.

Version 26.1.0: February 2026
-----------------------------

These enhancements were made:

* Added `3-D Secure` Data Only.
* Added multiple `3-D Secure` processing options.
* Added Google Pay payments for SuiteCommerce.

These bugs were addressed:

* Auto Populating MIT fields in Customer Refund.
* Tokenization issues in captures.

Version 25.6.0: December 2025
-----------------------------

These enhancements were made:

* Level II/III processing for Visa Platform Connect (VPC).
* Support Hold Reason Codes for Captures.

These bugs were addressed:

* Payment Type field loading issue.
* Screenshot capture failing when exporting logs.

Version 25.5.0: September 2025
------------------------------

These enhancements were made:

* Support for Line-Level Data in authorization requests.
* Added Level III eligibility response field (Chase Paymentech only).
* Ability for merchants to set their own Reconciliation ID.
* Clean up of Follow on Credit requests.

Version 25.4.0: August 2025
---------------------------

These enhancements were made:

* 2025.2 Built for NetSuite (BFN) certification.
* `Visa Acceptance Solutions` Invoicing Webhook support.
* Automated Webhook Configuration.
* Ability to accept transactions with CVN code N.

These bugs were addressed:

* Removed dependency on "Available without Login" from Lookup Suitelet.
* Remove passing of field credentialStoredOnFile when Payment Instrument is disabled.
* Combined line items to a single line for `Visa Acceptance Solutions` Invoicing when line items exceed 30.

Version 25.3.3: July 2025
-------------------------

This enhancement was made:

* Allow merchants to choose TMS token type.

Version 25.3.2: July 2025
-------------------------

These enhancements were made:

* Strip numeric characters from Bill to first/last name when Decision Manager is enabled.
* Pass TMS paymentInstrumentId instead of TMS customerId.
* Remove including token ID for a follow on credit.
* Collect address line 1 and postal code from payment instrument record instead of customer address.

This bug was addressed:

* NetSuite payment links (invoicing) processing as authorization instead of sale when `3-D Secure` enabled.

Version 25.3.1: May 2025
------------------------

This bug was addressed:

* Removed NetSuite dependencies for Webhooks.

Version 25.3.0: May 2025
------------------------

These enhancements were made:

* Reintroduced support for Network Tokens.
* Support for log type in Pay by Link Invoicing scripts.
* Include street address and postal code from payment instruments.
* Support all Hold Transaction Reason Codes.
* Revised Reauthorization period.

These bugs were addressed:

* Addressed User Event script trigger during Edit operation.

Version 25.2.0: March 2025
--------------------------

These enhancements were made:

* 2025.1 Built for NetSuite (BFN) certification.
* UI to export logs based on chosen features.

These bugs were addressed:

* Corrected commerceIndicator for SuitePayments.
* Addressed Level II/III downgrade warning when Payment Instrument is disabled.

Version 25.1.1: January 2025
----------------------------

These bugs were addressed:

* Latency issue with the Client Script.
* Fix for automatic selection of Enable Features checkbox in Payment Processing Profile.
* 2025.2 Built for NetSuite (BFN) certification.

Version 25.1.0: January 2025
----------------------------

These enhancements were made:

* Removed `Cybersource` SOAP APIs.
* Removed support for `Cybersource` Secure Acceptance.
* Introduced Partner Solution ID for `Visa Acceptance Solutions` Invoicing.
* Enhancements to Hold Transaction Reason Codes.
* Enhancements to handling AVS/CVN soft declines.
* `3-D Secure` bundled with authorization/sale requests.
* Support for DMPA.
* Remove special characters from bill to Company Name before sending request.
* Added Global Feature Management functionality.
* Added new UI for Payment Processing Profile.
* Added Test Connection button.

These bugs were addressed:

* Follow on Refunds for Invoice Payments.
* AVS CSC Values not populating in Payment Event when DM is enabled.
* Search in SUT \| LOOKUP script.
* Expiry Date excluded when paying with token.

Version 24.3.0: September 2024
------------------------------

These enhancements were made:

* 2024.2 Built for NetSuite (BFN) certification
* Enable Customer Deposit Number as Merchant Reference Number
* Skip Transaction Hold Reason Codes for WebStore transactions
* Added bill to Company Name
* Resend emails for partially paid Invoices

This bug was addressed:

* log.debug and log.audit errors in Client Scripts

Version 24.2.0: July 2024
-------------------------

These enhancements were made:

* Level II support for American Express Direct
* Level II/III support for FDC Compass
* Level II/III support for FDMS Nashville

Version 24.1.3: June 2024
-------------------------

This bug was addressed:

* Merchant Initiated Transactions incorrectly processed as Customer Initiated Transactions

Version 24.1.2: June 2024
-------------------------

This bug was addressed:

* Merchant Defined Data being duplicated causing timeouts and database operations degrade

Version 24.1.1: May 2024
------------------------

This enhancement was made:

* Added the date field to the REST HTTP Signature header

Version 24.1.0: April 2024
--------------------------

These enhancements were made:

* 2024.1 Built for NetSuite (BFN) certification
* Decision Manager AVS/CVN rule processing enhancements for REST API
* Strip special characters from beginning of bill to First Name and Last Name

These bugs were addressed:

* Error with standalone ACH/eCheck credits
* $0 item issue for PayPal transactions
* Empty XID for Mastercard transactions

Version 23.5.0: January 2024
----------------------------

These enhancements were made:

* Remove unsupported characters from bill to and ship to fields
* Added support for WEB sec code for ACH/eCheck
* Include line items for Basic transactions
* Level II/III support for Barclaycard Merchant Services
* Remove delete function for Network Tokens
* Capture device information as backup to Cardinal Device Data Collection for `3-D Secure`
* Decouple `3-D Secure` transactions from authorization calls
* Removed DMPA support

These bugs were addressed:

* Quantity field for ACH/eCheck REST transactions
* Delay Shipment with Partial Capture
* PayPal Multi-Capture
* Delayed Shipment without Multi-currency
* 2024.2 Built for NetSuite (BFN) certification

Version 23.4.0: September 2023
------------------------------

These enhancements were made:

* Strong Customer Authentication enhancements
* Introduced source based Partner Solution IDs
* Map NetSuite ID on reporting records
* DMPA support
* Payment Facilitator Support
* Network Tokens
* `Cybersource` HTTP Authentication Signature update

These bugs were addressed:

* Delayed Shipment with Multi-currency
* Declined Sale operations being accepted in NetSuite with SOAP API

Version 23.3.1: August 2023
---------------------------

These enhancements were made:

* 2023.2 Built for NetSuite (BFN) certification
* Company name support for Invoice links
* Multi-select Hold Transaction Reason Codes
* Auto cancel Secure Acceptance Payment Invoices

These bugs were addressed:

* Mastercard Level III processing for TSYS
* Unexpected token in JSON in the User Event Script
* Incorrect fields being passed for MOTO customer initiated transactions

Version 23.3.0.1: July 2023
---------------------------

Patch for anti-clickjacking

Version 23.3.0: June 2023
-------------------------

These enhancements were made:

* Support for PayPal Order Management operations
* SuiteApp optimization
* Raw request/response rendering
* Invoicing rollup feature
* Alternate email address for invoicing
* Webstore Invoice URL support for Secure Acceptance Invoices
* Reinstate dummy email address
* Date search for Transaction Request Report
* Map Payment Batch Detail Report details to NetSuite transactions

These bugs were addressed:

* HTML in Saved Search formula
* REST Reason Code mapping

Version 23.2.0: March 2023
--------------------------

These enhancements were made:

* 2023.1 Built for NetSuite (BFN) certification
* `3-D Secure` v2 REST API support

These bugs were addressed:

* Secure Acceptance Invoice Payment Reject scenario
* Secure Acceptance Alphanumeric Transaction IDs
* Log.error
* Customer Name special characters

Version 23.1.0: January 2023
----------------------------

These enhancements were made:

* Introduction of REST APIs
* Warning message if transaction data does not meet Level II/III criteria
* Invoice payments through webstore
* Unit of Measure abbreviation
* Secure Acceptance request/response on the same Payment Event
* $0 filtering for Sale Transaction Requests

Version 22.2.2: September 2022
------------------------------

These enhancements were made:

* International AVS CVN support
* Secure Acceptance tokenization
* Secure Acceptance Hold Transaction Reason Codes
* Default SEC code for ACH/eCheck
* Reporting Fields mapping updated
* Field validation updated

These bugs were addressed:

* Invoicing secondary tax issue
* Void transactions error

Version 22.2.1
--------------

These enhancements were made:

* Level II/III processing support
* Secure Acceptance Strong Customer Authentication
* Enhanced Secure Acceptance flow
* Ability to customize Secure Acceptance Cancel Pending time gap

This bug was addressed:

* getAddressee issue

Version 22.2.0
--------------

These enhancements were made:

* 2022.2 Built for NetSuite (BFN) certification
* External MIT initial authorization support
* Redirect message display for External Checkout
* AVS/CVN Response Code display for Sale transactions
* Invoicing import optimization
* Installed SuiteApp version display
* Payment Method Mapping simplification
* Default Merchant ID for invoicing configuration
* Default create action for invoicing configuration
* Default Invoice ID to NetSuite Invoice mapping
* ACH/eCheck support

These bugs were addressed:

* Auth response issue
* $0 shipping and handling for Customer Deposit

Version 22.1.0
--------------

These enhancements were made:

* 2022.1 Built for NetSuite (BFN) certification
* Group email update on SuiteApp configuration page
* Merchant ID and SOAP Key ID marked mandatory on Payment Processing Profile
* Level II/III support for Elavon Americas
* Display error message on Payment Event Details
* $0 shipping and handling for Customer Deposit
* Pay by Link Invoice amount based on NetSuite Invoice Due Amount
* Pay by Link Invoice hyperlink update
* Saved Search for Execution Logs
* Get Secure Acceptance URL

Version 21.1.0: December 2021
-----------------------------

This enhancement was made:

* Hold NetSuite UI transactions with Reason Codes

Version 1: September 2021
-------------------------

Initial release supporting:

* Payments for SuiteCommerce/SuiteCommerce Advanced using NetSuite checkout or Secure Acceptance redirect
* Secure Acceptance Payer Authentication/`3-D Secure`
* Order Management for Apple Pay, Google Pay, and PayPal
* Level II/III support for GPN
* Level II/III support for Chase Paymentech
* Level II/III support for FDC Nashville Global
* Level II/III support for TSYS
* Level II/III support for Omnipay Direct

Upgrade the SuiteApp {#oracle-netsuite-upgrade}
===============================================

You upgrade the `Cybersource` SuiteApp for Oracle NetSuite from the SuiteBundler.
To upgrade to the latest version of the `Cybersource` SuiteApp for Oracle NetSuite, follow these steps:

1. From the NetSuite menu, choose CustomizationSuiteBundlerSearch and Install Bundles.

2. Under Keywords enter `Cybersource`` for Oracle NetSuite` and click Search.

3. Verify that the Bundle ID is `316818`.

4. In the Name column, click on `Cybersource` for NetSuite.

5. Click Update.

6. In the Preview Bundle, ensure that Replace Data is selected for these options:

   #### ADDITIONAL INFORMATION

   * API response code/message
   * Processor name
   * Sec code
7. Start the update by clicking Update Bundle.

Frequently Asked Questions {#oracle-netsuite-faq}
=================================================

These are frequently asked questions about the `Cybersource` SuiteApp for Oracle NetSuite.

How do I change or add a Payment Logo?
--------------------------------------

These NetSuite Guides explain how to work with a payment logo:

* [NetSuite Default URLs for Major Payment Methods](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1292421.md#bridgehead_4592548149 "")
* [Creating a Payment Method](https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_N1292421.md "")

How do I check Card Mapping or add a Local Scheme? {#oracle-netsuite-faq_section_agx_jnd_xjc}
---------------------------------------------------------------------------------------------

1. From the SuiteApp menu, choose CustomizationLists, Records \& FieldsRecord Types.
2. Select the custom record Card Type Mapping, and click List. A list of card brands and the associated card type IDs appears.
3. To edit an existing card brand, click Edit on the required card type line and make your changes.
4. To add a new brand, click New Card Type Mapping, and enter the name, card type ID, and card type name.
5. For the list of `Visa Acceptance Solutions` card type IDs, see [paymentInformation.card.cardType](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields/payment-info-aa/payment-info-card-card-type.md "") in the *REST API Field Reference*.

Why are Merchant Initiated Transactions not processing with a Custom Role?
--------------------------------------------------------------------------

Verify that you have provided the Payment Instrument permission to the custom role.  
The Payment Type field in a sales order or cash sale is only supported when the NetSuite Payment Instrument feature is enabled.

What do I need to consider when processing a Merchant Initiated Transaction with an imported TMS token?
-------------------------------------------------------------------------------------------------------

When processing a transaction with an imported token, ensure that the associated Network Transaction ID is entered into the Payment Network Reference field.

What Acquirers/Processors are supported by the `Cybersource` SuiteApp?
----------------------------------------------------------------------

The `Cybersource` SuiteApp is processor agnostic, but note that Level II and Level III processing is only supported for these processors:

* American Express Direct (Level II only)
* Barclaycard Merchant Services
* Chase Paymentech Solutions
* Elavon Americas
* First Data Compass
* First Data Nashville Global
* Global Payments Network
* OmniPay Direct
* TSYS Acquiring Solutions
* Visa Platform Connect

Can I pass my own Reconciliation ID?
------------------------------------

To pass your own Reconciliation ID, populate the Reconciliation ID field in the Payment subtype of the transaction record before processing the transaction.

OpenCart {#opencart-intro}
==========================

The Visa Acceptance Solutions plug-in for OpenCart connects your OpenCart store to the `Cybersource` platform, enabling secure and flexible payment acceptance.

Supported Features {#opencart-supported-features}
=================================================

The Visa Acceptance Solutions OpenCart integration supports these payment methods and security features.

Payment Methods and Features
----------------------------

* Credit and debit cards
* Apple Pay
* Google Pay
* Click to Pay
* Paze
* PayPal
* Venmo
* Payer Authentication for 3-D Secure
* Tokenization including network tokens
* `Cybersource` Decision Manager andFraud Management Essentials
* Tax calculation

Supported Versions {#opencart-supported-versions}
=================================================

This topic lists version compatibility for the OpenCart integration.

Compatibility Requirements
--------------------------

The OpenCart integration works with OpenCart 3.0.3.9 to 3.0.5.1 and PHP 8.2+.

Release Notes {#opencart-release-notes}
=======================================

Version history and changes for the OpenCart integration.

Version 3.0.0
-------------

Compatible with OpenCart v3.0.3.9 to v3.0.5.1

* Switched to Semantic Versioning
* Migrated to `Unified Checkout` v1.x including `Unified Checkout` becoming responsible for calling Payer Authentication, Tokenization, and fraud screening.
* Added webhook support for payment response and fraud management
* Offer Sidebar and Embedded display for `Unified Checkout` widget
* Support for PayPal and Venmo
* ACH/eCheck reintroduced
* Full Message Level Encryption (MLE)
* Network Token Support
* Upgraded to Cybersource REST PHP SDK v0.0.75

**Bug Fixes:**

* Address line exceeding Unified Checkout limit addressed.

Version 26.1.0
--------------

Compatible with OpenCart v3.0.3.9 to v3.0.5.0

* Upgraded Unified Checkout to v0.35
* Upgraded to Cybersource REST PHP SDK v0.0.71
* Replaced authorization/sale API calls with Unified Checkout Complete Mandate
* Replaced standalone Apple Pay support with Unified Checkout Apple Pay
* Temporarily removed eCheck/ACH support
* Message Level Encryption (MLE) support for requests
* Replaced legacy Cybersource endpoints with Visa Acceptance Solutions endpoints
* Added China UnionPay and Jaywan payment methods
* Added Microform for securely capturing CVV for saved card transactions
* Added display of additional response fields in back office order screens

**Bug Fixes:**

* JSON error when line items had special characters
* Fixed the order 'Add History' button issue

Version 24.1.0
--------------

Compatible with OpenCart 3.0.3.7, 3.0.3.8 and 3.0.3.9

* Added support for Unified Checkout (Card Payment, Google Pay and Click to Pay)
* Added support for Network Tokens
* Added support for Apple Pay

Prerequisites {#opencart-prerequisites}
=======================================

These required and optional products must be configured before using the Visa Acceptance Solutions OpenCart integration.

Required {#opencart-prerequisites_section_cg2_vz1_2kc}
------------------------------------------------------

This product must be enabled and configured for your Merchant ID:

* `Unified Checkout`

{#opencart-prerequisites_ul_dg2_vz1_2kc}  
You must also have a [REST Shared Secret Key Pair](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-shared-secret-create-intro.md#restgs-shared-secret-create-task "") and a [Response MLE Key](https://developer.visaacceptance.com/docs/vas/en-us/platform/developer/all/rest/rest-getting-started/restgs-jwt-shared-secret-intro/restgs-mle-shared-secret-intro.md#restgs-security-mle-shared-secret-reply "").

Optional {#opencart-prerequisites_section_eg2_vz1_2kc}
------------------------------------------------------

These products are optional. If you choose to use any of these products, they must be enabled and configured for your Merchant ID:

* `Decision Manager`
* `Fraud Management Essentials`
* Network Tokens

{#opencart-prerequisites_ul_fg2_vz1_2kc}  
As of version 3.0.0, accepted card brands, payment methods, Payer Authentication for `3-D Secure`, fraud screening, and payment action are configured and enabled in the `Business Center`. For more information, see the [*Unified Checkout Developer Guide*](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-configuration-intro/uc-enable-digital-pay-intro.md "").

Required Environment Prerequisite
---------------------------------

The GMP PHP extension must be enabled on your MAMP or XAMPP server for JSON Web Token messaging.

Install OpenCart {#opencart-installation}
=========================================

Install the Visa Acceptance Solutions module from the OpenCart marketplace.
To install the module, complete these steps:

1. Download our extension from [OpenCart](https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=44321 "").
2. Log in to your OpenCart admin account.
3. Go to ExtensionsInstaller.
4. Click Upload and select the module file.
5. Go to ExtensionsExtensions and choose Modules from the drop-down menu.
6. Scroll down to Visa Acceptance Solutions Configuration and click the Install button.
7. Go to ExtensionsExtensions and choose Payments from the drop-down menu.
8. Scroll down to Visa Acceptance Solutions Unified Checkout and click the Install button.
9. From the OpenCart menu, choose ExtensionsExtensions and choose Order Totals from the drop-down menu.
10. Scroll down to Visa Acceptance Solutions Tax and click the Install button.

Configuration {#opencart-configuration}
=======================================

The Visa Acceptance Solutions OpenCart module requires configuration in three areas: general settings, payment methods, and tax calculation.  
The Visa Acceptance Solutions OpenCart module requires configuration in three areas:

* Visa Acceptance Solutions Configuration: General settings
* Visa Acceptance Solutions Unified Checkout configuration: Payment method settings
* Visa Acceptance Solutions Tax Calculation configuration: Tax service settings (optional)

Each configuration area has specific settings that control different aspects of the payment processing functionality.

Configure the General Settings {#opencart-vas-config}
=====================================================

You must configure the general settings for the Visa Acceptance Solutions module.

Access the Module Configuration
-------------------------------

You can access the configuration module by choosing ExtensionsExtensions and choosing Modules from the drop-down menu. Scroll down to Visa Acceptance Solutions Configuration and click Edit to view and complete the settings below.

General Configuration settings
------------------------------

* Sandbox Mode: For testing your test account, set to Enabled. For production transactions, set to Disabled.
* Merchant ID: Enter the transacting merchant ID (MID) assigned to you when you set up your account.
* Merchant Key ID: Enter the key from your REST API shared secret key.
* Merchant Secret Key: Enter the shared secret from your REST API shared secret key.
* Key File Path: Enter the path and filename for the Response MLE certificate created in `Business Center`.
* Key Password: Enter the password for the Response MLE certificate.
* Response MLE: Set to Enable to use Response MLE.
* Fraud Management: Set to Enable to inform the module that your `Cybersource` account is configured for fraud screening and needs to subscribe to the REVIEW webhook notification.
* Delivery Address Verification: When enabled, the module checks that the delivery address is correct. This is a chargeable service.
* Status: Set to Enable to use the module.

> The Response MLE is required for the transaction webhook response and must be added even if you are not enabling Response MLE.

Enhanced Logs
-------------

Enable only when you are troubleshooting issues.

Reporting Configuration
-----------------------

* Payment Batch Detail Report: See Payment Batch Detail for details. This report must be enabled in the `Cybersource` `Business Center`. When enabling, set the download path.
* Transaction Request Report: See Transaction Request for details. This report must be enabled in the `Cybersource` `Business Center`. When enabling, set the download path.

The report functionality is designed to work with a scheduler. You can use any OpenCart supported Cron Job module or other online Cron service provider for the required scheduler functionality. The reporting URL is extension/payment/cybersource/cron.

Order Status Configuration
--------------------------

You can change the mapping of order statuses based on transaction outcomes. These statuses are pre-set with the recommended mapping.

Registered Webhooks
-------------------

View information about subscribed webhooks. Webhooks are automatically subscribed to based on your configuration settings.
Webhooks can be deleted, but this may affect transaction response handling.

Configure `Unified Checkout` Settings {#opencart-unified-checkout-config}
=========================================================================

Configure the `Unified Checkout` payment method settings.

1. Go to ExtensionsExtensions and choose Payments from the drop-down menu.

2. Scroll down to Visa Acceptance Solutions Unified Checkout and click the Edit button and configure these options.

   #### ADDITIONAL INFORMATION

   * Checkout Label: This text is displayed on your checkout page to your customers.
   * Status: Set to Enable to use the module.
   * Unified Checkout Display Mode:
     * Embedded: The payment widget loads within the browser page.
     * Sidebar: The payment widget appears to the side of the browser.
       {#opencart-unified-checkout-config_ul_j3t_bgy_ckc}
   * Sort Order: Specify the order in which the payment methods are displayed during checkout.
   * Tokenization: Set to Enable to allow your customers to save their cards for future payments.
   * Network Token Updates: Enable this option if your MID is enabled for network tokens.
   * Checkout Version: Optional field to force a version of Unified Checkout. Format 1.x. It is recommended to leave this blank to always take the latest version.
     {#opencart-unified-checkout-config_ul_er1_gpj_pjc}

Configure Tax Calculation {#opencart-tax-config}
================================================

The optional tax calculation service settings require minimal configuration.

1. From the menu, choose ExtensionsExtensions and choose Order Totals from the drop-down menu.
2. Scroll down to Visa Acceptance Solutions Tax and click Edit.
3. To use the module, set Status to Enable.

Order Management {#opencart-order-management}
=============================================

Reverse, capture, refund, and void OpenCart orders from the back office.  
Orders are marked differently depending on the `Unified Checkout` payment processing choice.

* Authorize: When this option is chosen, successful transactions are marked as `Awaiting Payment`.
* Sale: When this option is chosen, successful transactions are marked as `Processed`.

Reverse an Authorization
------------------------

To reverse an authorization, enter the order in your OpenCart back office and click Cancel.

Capture an Order
----------------

To capture an order, enter the order in your OpenCart back office and click Capture. Alternatively, you can click Partial Capture and choose which part of the order to capture and click Yes.

Refund an Order
---------------

To refund an order, enter the order in your OpenCart back office and click Refund. Alternatively, you can click Partial Refund, choose which part of the order to refund and click Yes.

Void an Order
-------------

To void an order, enter the order in your OpenCart back office and click Void/Void Capture/Void Refund.

Support and Troubleshooting {#opencart-support-troubleshooting}
===============================================================

Contact support and find troubleshooting resources for the OpenCart integration.

Getting Support
---------------

If you require support with installing, configuring, or using this extension, go to [Customer Support](https://developer.cybersource.com/support/contact-us.md "") to raise a support case.  
For resold accounts, contact your reseller first.

Required Information
--------------------

Provide this information:

* Summary of the issue
* Steps to reproduce the issue
* OpenCart version
* Visa Acceptance Solutions extension version
* `Cybersource` Merchant ID
* Configuration screenshots
* List of additional themes and extensions installed
* Log file
* Any additional information related to the issue

Upgrade the Extension for OpenCart {#opencart-upgrade}
======================================================

Upgrade the Visa Acceptance Solutions OpenCart module to the latest version.
Complete these steps to upgrade to a later version of the Visa Acceptance Solutions OpenCart extension:

1. Make a note of the existing Visa Acceptance Solutions configuration values.
2. Go to ExtensionsExtensions and choose Modules from the drop-down menu. Scroll down to Visa Acceptance Solutions Configuration and click Uninstall.
3. Go to ExtensionsExtensions and choose Payments from the drop-down menu. Scroll down to Visa Acceptance Solutions Unified Checkout and click Uninstall.
4. Go to ExtensionsExtensions and choose Order Totals from the drop-down menu. Scroll down to Visa Acceptance Solutions Tax and click the Uninstall button.
5. Go to ExtensionsInstaller and delete visaacceptance.ocmod.zip.
6. Go to ExtensionsModifications and verify that the Visa Acceptance Solutions modification was removed.
7. To upgrade to the latest version, follow the steps in [Install OpenCart](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-us/opencart-intro/opencart-installation.md "").

Optional Configuration {#salesforce-b2c-opt-config}
===================================================

Additional optional configurations can be applied based on your specific requirements.

Alternative and Digital Payment Methods {#salesforce-b2c-digital-payment-methods}
=================================================================================

Apple Pay can be a standalone options, or it can be offered as payment options with `Click to Pay` within `Unified Checkout`.

1. To configure `Unified Checkout`, go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Secure Integration Configuration.

2. In the Digital Payment Methods in `Unified Checkout` field, select Apple Pay, Google Pay, or `Click to Pay`. You can choose any or all of the options.

   #### ADDITIONAL INFORMATION

   > If you are using ` Unified Checkout ` for digital payment methods, the payment methods must be enabled for your Merchant ID in the ` Business Center `. For more information about enabling digital payments, see [Configure Payment Options](https://developer.cybersource.com/docs/cybs/en-us/unified-checkout/developer/all/rest/unified-checkout/uc-intro-setup/uc-intro-setup-ebc/uc-intro-payment-options.md "").

3. Enable `Unified Checkout` for Cart and Mini Cart: Enable this option to display digital payment methods for quick checkout on the cart and mini cart pages.

4. Go to Merchant Tools \&gt; Ordering \&gt; Payment Methods and confirm that these options are enabled for the methods you accept:

   #### ADDITIONAL INFORMATION

   * DW_APPLE_PAY: Verify that the Payment Processor is `PAYMENTS_APPLEPAY`.
   * DW_GOOGLE_PAY: Verify that the Payment Processor is `PAYMENTS_GOOGLEPAY`.
   * DW_PAZE: Verify that the Payment Processor is `PAYMENTS_PAZE`.
   * CLICK_TO_PAY: Verify that the Payment Processor is `PAYMENTS_CLICK_TO_PAY`.
   * PAYPAL: Verify that the Payment Processor is `PAYMENTS_PAYPAL`.
   * VENMO: Verify that the Payment Processor is `PAYMENTS_VENMO`.
   * BANK_TRANSFER: Verify that the Payment Processor is `BANK_TRANSFER`.
5. **Standalone Apple Pay Configuration**

6. To enable Apple Pay outside of `Unified Checkout`, follow the [Salesforce guide](https://developer.salesforce.com/docs/commerce/b2c-commerce/guide/b2c-third-party.md#configure-apple-pay-on-the-web-in-business-manager "").

   #### ADDITIONAL INFORMATION

   The **Payment Provider URL** is:

   * Test: `https://apitest.visaacceptance.com/partner/demandware/payments/v1/authorizations`
   * Production: `https://api.visaacceptance.com/partner/demandware/payments/v1/authorizations`

   {#salesforce-b2c-digital-payment-methods_ul_fyt_nrj_2kc}  
   For **Payment Provider Merchant ID** , enter your `Cybersource` Merchant ID.  
   **Use Basic Authorization** should be unchecked.

7. To choose between processing as authorization or sale, go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Apple Pay Configuration.

Configure Apple Pay Standalone {#salesforce-b2c-apple-pay-standalone}
=====================================================================

To offer Apple Pay outside of `Unified Checkout`, enable Apple Pay in your `Salesforce` B2C Commerce store.
Before you begin, complete [Integrating Apple Pay into Your System](https://developer.visaacceptance.com/docs/vas/en-us/apple-pay/developer/ctv/rest/applepay/applepay-cfg.md "").

1. Configure `Salesforce` Business Manager.

   1. From the menu, choose Merchant Tools \&gt; Site Preferences \&gt; Apple pay.

   2. Select the Apple Pay Enabled? check box.

   3. Complete the Onboarding form:

      #### ADDITIONAL INFORMATION

      * Ensure that the Apple Merchant ID and the Apple Merchant Name values you enter match the settings in your Apple account.
      * Ensure that all other fields match your supported `Cybersource` settings.
        * Country Code: Enter the country code for the location of your site. The country code is a two letter ISO 3166 country code (for example, `US`).
        * Merchant Capabilities: Check the box for 3-D Secure; leave the other fields unchecked.
        * Supported Networks: Select the types of payment you support; `Amex`, `Mastercard`, and `Visa` are supported by `Cybersource`.
        * Required Shipping Address Fields: Select the fields that are required on the shipping form. `Cybersource` recommends Email, Name, Phone, and Postal Address.
        * Required Billing Address Fields: Select Name and Postal Address.
          {#salesforce-b2c-apple-pay-standalone_ul_lj4_14n_yhc}
   4. Complete the Storefront Injection form.

      #### ADDITIONAL INFORMATION

      Select where to display Apple Pay buttons on your site.

   5. Complete the Payment Integration form.

      #### ADDITIONAL INFORMATION

      * Use Commerce Cloud Apple Pay Payment API? Checked.
      * Payment Provider URL:
        * Test: `https://apitest.``Cybersource``.com/partner/demandware/payments/v1/authorizations`
        * Production: `https://api.``Cybersource``.com/partner/demandware/payments/v1/authorizations`
          {#salesforce-b2c-apple-pay-standalone_ul_h3d_w4n_yhc}
      * Payment Provider Merchant ID: Enter your `Cybersource` merchant ID.
      * API Version: v1.
      * Use Basic Authorization? Unchecked.
      * Payment Provider User: ---
      * Payment Provider Password: ---
      * Use JWS? Set to **Yes**.
      * JWS Private Key Alias: Merchant.p12 Key Alias.

      #### Step Result

      The private key alias is generated when you upload your .p12 key file (from `Cybersource` self-serve) to `Salesforce` Business Manager under Administration \&gt; Operations \&gt; Private Keys and Certificates.

   6. Click Submit.

2. Register your domain in `Salesforce` Business Manager.

   1. Go to Merchant Tools \&gt; Site Preferences \&gt; Apple Pay.

   2. Under the Domain Registration section, complete these fields:

      #### ADDITIONAL INFORMATION

      * In the Apple Sandbox section, click Register Apple Sandbox to register `Salesforce` B2C to the Apple Sandbox account.
      * In the Apple Production section, click Register Apple Production to register `Salesforce` B2C to the Apple Production account.
3. Set the transaction type.

   #### ADDITIONAL INFORMATION

Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Apple Pay and choose `Authorization` or `Sale`.

Configure Google Pay Standalone {#salesforce-b2c-google-pay-standalone}
=======================================================================

To offer Google Pay outside of `Unified Checkout`, follow these steps to enable Google Pay in your `Salesforce` B2C Commerce store.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; Google Pay.

2. On the Google Pay page, configure these settings:

   #### ADDITIONAL INFORMATION

   * Enable Google Pay: Enable.
   * Enable Google Pay on Mini Cart: Enable to show Google Pay as a checkout option in the mini cart.
   * Enable Google Pay on Cart: Enable to show Google Pay as a checkout option in the cart.
   * Google Pay Merchant Id: Enter your Google Pay merchant ID (for live processing only).
   * Google Pay Environment: Choose `Test` for testing or `Production` for live.
   * Google Pay Transaction Type: Choose `Authorization` or `Sale`.
     {#salesforce-b2c-google-pay-standalone_ul_vm5_1g1_1kc}

Fraud Screening {#salesforce-b2c-fraud-screening}
=================================================

Enable Fraud Screening to alert the cartridge to look for fraud screening responses. Fraud Screening profiles must be set up in the `Business Center`.
Follow these steps to enable fraud screening: *Decision Manager settings apply to the Salesforce default card form (Direct API) only.*

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_DecisionManager.

2. Choose the Enable `Decision Manager` Services option.

3. Set the Conversion Detail Report Lookback Time value.

   #### ADDITIONAL INFORMATION

   If you are using REVIEW rules and configure the `Decision Manager` Update Job, set the number of hours to look back for updates to transactions in REVIEW status. The maximum value is 24 hours.

4. To enable the `Decision Manager` Update Job to poll for updates to the reviewed transactions, go to Administration \&gt; Operations \&gt; Jobs and select Payment: `Decision Manager` Order Update. Set these values:

   #### ADDITIONAL INFORMATION

   * ID: Enter a job ID.
   * Description: Enter the job description.
   * ExecuteScriptModule.Module: int_cybs_sfra_base/cartridge/scripts/jobs/DMOrderStatusUpdate.js
   * ExecuteScriptModule.FunctionName: orderStatusUpdate
   * ExecuteScriptModule.Transactional:
     * `True`: All changes occur as a single atomic operation. If any error occurs during the job, the system rolls back all changes to maintain data consistency.
     * `False`: No automatic rollback is applied. Merchants must handle transaction logic manually. This is often preferred for large batch jobs.
       {#salesforce-b2c-fraud-screening_ul_g3x_1tn_yhc}
   * ExecuteScriptModule.TimeoutInSeconds: Set the function timeout value.
     {#salesforce-b2c-fraud-screening_ul_ows_m2d_c3c}

Delivery Address Verification {#salesforce-b2c-delivery-address-verification}
=============================================================================

To verify the customer's shipping address during checkout, configure Delivery Address Verification services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_DeliveryAddressVerification.
2. Enable the Delivery Address Verification Services option.

Tax Calculation {#salesforce-b2c-tax-calculation}
=================================================

To calculate local taxes once the customer enters their address at checkout, configure the Tax Calculation services.

1. Go to Merchant Tools \&gt; Site Preferences \&gt; Custom Preferences \&gt; `Cybersource`_TaxConfiguration and set these options:

2. Enable the Enable Tax Calculation field.

3. Configure these tax settings:

   #### ADDITIONAL INFORMATION

   * List of Nexus States: List the states to calculate tax for.
   * List of Nexus States to Exclude: List the states to not calculate tax for.
   * Merchants VAT Registration Number: Enter your VAT registration number if you have one.
   * Default Product Tax Code: Enter the default tax code to use for products in the basket without a tax code.
   * Purchase Order Acceptance City
   * Purchase Order Acceptance State Code
   * Purchase Order Acceptance Zip Code
   * Purchase Order Acceptance Country Code
   * Purchase Order Origin City
   * Purchase Order Origin State Code
   * Purchase Order Origin Zip Code
   * Purchase Order Origin Country Code
   * Ship From City
   * Ship From State Code
   * Ship From Zip Code
   * Ship From Country Code

#### RESULT

If you enable Tax Calculation and do not specify any states in the List of Nexus States or List of Nexus States to Exclude, Tax Calculation assumes every state or province is taxable. You can leave either the List of Nexus States or the List of Nexus States to Exclude as empty, but you cannot leave both empty.

Order Management {#salesforce-b2c-order-management}
===================================================

`Salesforce` B2C Commerce does not natively support order management functions. This cartridge has functions that can be used to process captures and authorization reversals.

> These functions must be customized before use in the ` Salesforce ` B2C Commerce user interface.
> *The ServiceFrameworkTest example controllers referenced below are for testing only. Access is granted only when **all** of the following are true:*

1. The Salesforce instance is **not** a production instance.
2. The **Enable Visa Acceptance Test Endpoints** preference (Custom Preferences \&gt; Visa Acceptance Cartridge configuration) is enabled. It is disabled by default.
3. The caller is an **authenticated, registered customer** who is a member of the `VisaAcceptanceTestAdmin` customer group

{#salesforce-b2c-order-management_ol_jkf_b2k_2kc}  
*The VisaAcceptanceTestAdmin customer group is not created by the metadata import --- you must create it in Business Manager under **Merchant Tools \&gt; Customers \&gt; Customer Groups** and assign it only to authorized merchant staff. Only members of this group can access the test endpoints; any request from a non-member (or an unauthenticated visitor) is redirected to the home page.*

Capture
-------

The capture function can be found in the script *scripts/http/capture.js*. A working example is available in the ServiceFrameworkTest-TestCaptureService controller.  
Reference the capture.js object and make this request:

```
var captureObj = require("~/cartridge/scripts/http/capture.js");
var serviceResponse = captureObj.httpCapturePayment(requestID, merchantRefCode, paymentTotal, currency);
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Capture request parameters:  
**Capture Request Parameters:**

* requestID: The `Cybersource` Request ID from the initial authorization.
* merchantRefCode: The `Salesforce` Order Number.
* purchaseTotal: The capture amount.
* currency: Currency Code.

**Function Signature:**

```
httpCapturePayment(requestID, merchantRefCode, purchaseTotal, currency)
```

Authorization Reversal
----------------------

The authorization reversal function can be found in the script called *scripts/http/authReversal.js*. A working example is in the ServiceFrameworkTest-TestAuthReversal controller.  
Reference the AuthReversal.js object and make this request:

```
var reversalObj = require("~/cartridge/scripts/http/authReversal.js");
var serviceResponse = reversalObj.httpAuthReversal(requestID, merchantRefCode, paymentTotal, currency);
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Authorization reversal request parameters:  
**Authorization Reversal Request Parameters:**

* requestID: The `Cybersource` Request ID from the initial authorization.
* merchantRefCode: The `Salesforce` Order Number.
* purchaseTotal: The reversal amount.
* currency: Currency Code.

Refund
------

The refund function can be found in the script called *scripts/http/refund.js*. A working example is in the ServiceFrameworkTest-RefundService controller.  
Reference the refund.js object and make this request:

```
var refundObj = require("~/cartridge/scripts/http/refund.js");
var serviceResponse = refundObj.httpRefundPayment(transactionId, merchantRefCode, paymentTotal, currency, refundEndpointType);
            
```

The resulting serviceResponse object contains the full response object generated by the request. The contents of this object determine your logic in handling errors and successes. These are the Authorization reversal request parameters:  
**Authorization Reversal Request Parameters:**

* requestID: The `Cybersource` Request ID from the capture or sale.
* merchantRefCode: The `Salesforce` Order Number.
* paymentTotal: The refund amount.
* currency: Currency Code.
* refundEndpointType: 'payments' for ACH/eCheck amd 'captures' for all other payments

**Function Signature:**

```
httpRefundPayment(transactionId, referenceInformationCode, total, currency, refundEndpointType)
```

*Refunds are capped at the remaining refundable balance. A refund (whether full, a single partial, or the running total of multiple partials) that exceeds the captured amount is rejected before the gateway call.*

Customization {#salesforce-b2c-customization}
=============================================

The Visa Acceptance cartridge for `Salesforce` B2C Commerce has built-in custom hooks that can be used to customize the request data that is sent to each service.  
These hooks can send additional custom data, such as Merchant Defined Data for authorization requests.

How Custom Hooks Work
---------------------

After a request for a particular service is built, there is a check for any code registering to the hook `app.payment.modifyrequest`. If present, the hook is called for that specific request and the request object is passed into the hook. The return value of the hook is sent to `Cybersource` as the final request object. Through this process, you can inject your own data into the request object from the custom code you write in a separate cartridge.

Implementation
--------------

To customize request objects, register the hook `app.payment.modifyrequest` in your cartridge's *hooks.json* file. An example would look like this, replacing the script path with your own script:

```
{
    "name": "app.payment.modifyrequest",
    "script": "./cartridge/scripts/hooks/modifyRequestExample"
}
```

You can copy the *scripts/hooks/modifyRequestExample* script from this cartridge into your own to use as a template for extending and modifying service request objects. Note that every hook must return a valid request object for the given service. Refer to the [*`Cybersource`REST API Field Reference*](https://developer.visaacceptance.com/docs/vas/en-us/api-fields/reference/all/rest/api-fields.md "") for information about any field you want to customize or add.

Support and Troubleshooting {#salesforce-b2c-support-troubleshooting}
=====================================================================

Getting Support
---------------

If you require support with this extension, visit [support.visaacceptance.com](https://support.visaacceptance.com "") to raise a support case.

Required Information for Support Cases
--------------------------------------

Provide this information for your support case:

* Summary of the issue.
* Steps to reproduce the issue.
* `Cybersource` B2C Commerce cartridge version.
* `Cybersource` Merchant ID.
* Configuration screenshots: Provide screenshots of custom preference configurations.
* Log file and other relevant data: Download the logs from Administration \&gt; Site Development \&gt; Development Setup \&gt; Log files.

Release Notes {#salesforce-b2c-release-notes}
=============================================

Release history and updates for the Visa Acceptance `Salesforce` B2C Commerce cartridge.

Version 2.0.0 (August 2026)
---------------------------

Versioning changed from Calendar Versionion to Semantic Versioning  
**Enhancements:**

* Renamed integration from Cybersource to Visa Acceptance Solutions
* Upgraded `Unified Checkout` to version 1.x, supporting multiple payment methods and services in a single integration
* Added Refund function
* Added webhook notifications for Fraud Screening and `Unified Checkout` events
* Added new Business Manager cartridge *bm_cybs_sfra*, including webhook manager page.
* Reorganised meta and site preference groupings
* Updated the authentication method to JSON web token
* Full support for Message Level Encryption

**Changes:**

* Business Manager controls for Payer Authentication (including SCA), Decision Manager, and Transaction Type now only applies to the Salesforce default card form (direct API).
* `Unified Checkout` payment methods/services now configured in `Business Center`
* Google Pay now only supported through `Unified Checkout`
* Replaced Network Token lifecycle notifications with API based updates
* Added webhook notifications for Fraud Screening and Unified Checkout events
* Replaced Network Token lifecycle notifications with API based updates

**Security:**

* Addressed security issues

{#salesforce-b2c-release-notes_ul_nvd_q45_s3c-a}  
**Removed:**

* Microform
  {#salesforce-b2c-release-notes_ul_byh_rnc_2kc}

Version 26.2.0 (March 2026)
---------------------------

**Enhancements:**

* Updated Payer Authentication flow to align with SFRA best practices
* Added fallback device data capture for Payer Authentication
* Updated Mastercard `3-D Secure` Data Only transactions
* Updated Cardinal Commerce URLs for Data Center Migration
* Modified subscription creation during the authorization call in checkout
* Decision Manager support for Apple Pay Transactions
* Apple Pay address handling improvements
  * Checkout page: collect address from checkout page
  * Cart/Mini Cart page: collect address from Apple Pay
    {#salesforce-b2c-release-notes_ul_vj5_h45_s3c}

**Bug Fixes:**

* Corrected page routing for failed Apple Pay scenarios
* Fetch the total amount from the server side instead of capturing it on the frontend to avoid issues for different currencies across different locales
* Correct handling of AUTHORIZED_RISK_DECLINED response for post authorization scenarios
* CheckoutServices Error Fix: Resolved TypeError occurring when the cartridge is disabled
* Fixed issue where the Unified Checkout capture context did not refresh when the Delivery Address Verification is enabled
* Corrected page redirection issue for Decision Manager reject scenarios
* Fixed bug causing "setAddress1" of null when performing follow‑up transactions with a registered customer after updating shipping address.
* Fixed issue where the eCheck transient token exceeded the session.privacy 2000‑character limit
  {#salesforce-b2c-release-notes_ul_nvd_q45_s3c}

Version 26.1.0 (January 2026)
-----------------------------

**New Feature:**

* Added support for `3-D Secure` Data Only transactions.

Version 25.4.0 (December 2025)
------------------------------

**New Feature:**

* Added support for `Unified Checkout` v0.32 (Card Payments, Apple Pay, Google Pay, `Click to Pay`, and `eCheck`).

**Enhancement:**

* End of support for `Click to Pay` legacy.

Version 25.3.0 (May 2025)
-------------------------

**New Features:**

* Added `Payer Authentication` support for Google Pay.
* Added multi-currency support for Google Pay.

**Bug Fixes:**

* Handled session variables in SCA flow.
* Removed encryption type from Microform v2 request.

Version 25.2.0 (March 2025)
---------------------------

**New Feature:**

* Message-Level Encryption (MLE).

**Enhancement:**

* Added support for Cartes Bancaires, Elo, China UnionPay, and JCB.

Version 25.1.0 (January 2025)
-----------------------------

**New Feature:**

* Replaced Microform v0.11 with v2.

**Bug Fixes:**

* Added webhook subscription deletion if the subscription is deleted at `Cybersource` or `Salesforce` custom object.
* Handled undefined exception scenario for `3-D Secure` transactions.

Version 24.4.0 (September 2024)
-------------------------------

**New Feature:**

* DMPA support.

**Enhancement:**

* Upgraded to jQuery v3.7.0.

Version 24.3.0 (August 2024)
----------------------------

**Enhancements:**

* Upgraded the cartridge to support SFRA v7.0.
* Added MOTO Commerce Indicator.

Version 24.2.1 (May 2024)
-------------------------

**Bug Fixes:**

* Checkmarx issues fixed.
* Device fingerprint bug fixed.

Version 24.2.0 (April 2024)
---------------------------

**New Features:**

* Network token support

**Enhancements:**

* Implemented Direct API integration for `Payer Authentication`, adding Payer Authentication Setup and Device Data Collection.
* Enhanced Strong Consumer Authentication (SCA).

Version 24.1.0 (February 2024)
------------------------------

**New Features:**

* Added Strong Customer Authentication retries for card payments.

**Enhancements:**

* SFRA v6.3 support.
* `Salesforce` B2C Commerce Release 22.7 support.
* Renamed Visa SRC to `Click to Pay`.
* Implemented Sale functionality for Credit Card, Google Pay, `Click to Pay` and Apple Pay.
* Updated flex script referring from v0.11.0 to v0.11.
* Updated API header in Http Signature Authentication.

Version 21.1.0 (June 2021)
--------------------------

**Enhancements:**

* Improved `Payer Authentication` screen (modal).

**Bug Fixes:**

* Added descriptive error messages on certain fail cases and invalid inputs.
* Reloading on the final confirmation page does not result in a failed authorization.

Version 20.2.0 (February 2021)
------------------------------

**New Features:**

* Google Pay
* Visa Secure Remote Commerce payment method
* Improved the security on the My Account page by adding Microform to tokenize payment cards.

**Bug Fixes:**

* Improved the security of keys by changing data type of password fields from `String` to `password`.
* Added more security to the exposed parameters of device fingerprint.

Version 20.1.1 (November 2020)
------------------------------

**Bug Fixes:**

* Improved the security on accessing and modifying sensitive fulfillment-related actions on an order (for example, order acceptance, canceling etc.).

Version 20.1.0 (August 2020)
----------------------------

Initial release supporting:

* Credit/debit cards
* Apple Pay
* `Payer Authentication`/`3-D Secure`
* Delivery Address Verification service
* Tax Calculation service
* Authorization, Capture, Authorization Reversal

Built by Our Partners {#built-by-them}
======================================

Explore solutions built by our industry-leading partners that offer real-time fraud screening, account takeover protection, and comprehensive payment solutions. Our partners provide potential use cases such as personalizing shopping experiences through advanced analytics. Offer your customers a seamless omnichannel experience and improve site performance for higher customer satisfaction. Benefit from the centralized management of product information, automated order processing and fulfillment, and real-time data synchronization between SAP Commerce Cloud and existing ERP systems. Moreover, our partners' solutions offer scalable infrastructure, flexible integration capabilities, advanced reporting tools, and enhanced visibility into supply chain and inventory management.  
This solution is built by our partners:

* [BigCommerce](/content/cybsdeveloper2021/amer/en/docs/cybs/en-us/isv-plugins/admin/all/na/isv-plugin-o/built-by-them/bigcommerce-overview.md "")

`BigCommerce` {#bigcommerce-overview}
=====================================

`BigCommerce` provides a software-as-a-service (SaaS) payment platform where you can manage your online business. `BigCommerce` provides customizable functionality ready for you to build and integrate with `Cybersource`. This section describes the payment methods and services that the platform provides. These payment features and methods are supported:
* Card Payments
* Apple Pay
* Google Pay
* `3-D Secure`
* Token Management Service
* `Decision Manager` and `Fraud Management Essentials`
* OAuth for connecting your `BigCommerce` account with `Cybersource`
  {#bigcommerce-overview_ul_c2x_sq2_3yb}

Release Information {#bigcommerce-release-info}
===============================================

This section provides information about the releases for `BigCommerce`.
Version 2 includes these features:

* Global availability in more than 190 countries
* Transaction currency support in all available countries
* [`3-D Secure` 2.0](https://support.bigcommerce.com/s/article/3D-Secure "")
* Support for the these card brands:
  * American Express
  * Diners Club
  * Discover
  * JCB
  * Maestro
  * Mastercard
  * Visa
    {#bigcommerce-release-info_ul_m44_wxd_gzb}
* [Stored Credit Cards](https://support.bigcommerce.com/s/article/Enabling-Stored-Payment-Methods "")
* [Apple Pay](https://support.bigcommerce.com/s/article/Apple-Pay "")
* [Google Pay](https://support.bigcommerce.com/s/article/Google-Pay "")
* [`Decision Manager` and `Fraud Management Essentials`](https://www.cybersource.com/en-us/solutions/fraud-and-risk-management/decision-manager.md "")
  {#bigcommerce-release-info_ul_whf_kxd_gzb}  
  For more information, see [New Features Available in `Cybersource`](https://www.reddit.com/r/bigcommerce/comments/vhl0q1/new_features_available_in_the_bigcommerce/ "").

Requirements and Prerequisites {#bigcommerce-prod-reqs}
=======================================================

Before installing and configuring the `Cybersource` Extension, ensure that you meet these requirements:

* Have a `BigCommerce` [merchant account](https://www.bigcommerce.com/start-your-trial/ "").
* Have Optimize One Page Checkout. For more information, see [Optimize One Page Checkout](https://support.bigcommerce.com/s/article/Optimized-Single-Page-Checkout "").
* Have a `Business Center` account. To create an account, go to the [`Business Center` Registration](https://ebc2.cybersource.com/ebc2/ "") website.
* Have the ability to accept payments in one of the [supported currencies](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US#eligibility "").
* Have cardinal credentials saved within your `Business Center` account for `3-D Secure` transactions.
  {#bigcommerce-prod-reqs_ul_ops_2hc_kyb}

Supported Features {#bigcommerce-features-intro}
================================================

This section describes payment, services, and features provided by `BigCommerce` through `Cybersource`.  
These are the supported payment methods:

* Credit and debit card payments

  * Card types:
    * American Express
    * Diners Club
    * Discover
    * JCB
    * Maestro
    * Mastercard
    * Visa
      {#bigcommerce-features-intro_ul_vry_qc2_gzb}
      {#bigcommerce-features-intro_ul_usr_kc2_gzb}
* [Apple Pay](https://support.bigcommerce.com/s/article/Apple-Pay?language=en_US#cybersource "")

* [Google Pay](https://support.bigcommerce.com/s/article/Google-Pay "")
  {#bigcommerce-features-intro_ul_c2x_sq2_3yb}  
  These are the supported services:

* Authorization only

* Authorization and capture

* Captures

* Partial Refunds

* Refunds
  {#bigcommerce-features-intro_ul_ig4_ccc_hzb}  
  These are the supported features:

* [`3-D Secure`](https://support.bigcommerce.com/s/article/3D-Secure?language=en_US "")

* Token Management Service (TMS): Removes your customer's stored card information from your environment and exchanges sensitive payment data for tokens that cannot be reversed. Contact [`Cybersource` customer support](https://support.visaacceptance.com/s/article/How-Do-I-Contact-CyberSource-Customer-Support "") to request that TMS be enabled to use the [Stored credit cards](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US#stored-cc "") feature on your `Cybersource` merchant account.

* [`Fraud Management Essentials`: `Decision Manager`](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US#fraud-management "")

* OAuth is an industry-standard authorization protocol that enables you to use your `Business Center` account credentials to connect to `BigCommerce` for transaction processing. For more information about OAuth, see the [OAuth 2.0 Implementation Guide](https://developer.cybersource.com/docs/cybs/en-us/oauth/developer/all/rest/oauth/cybs-extend-intro.md "").
  {#bigcommerce-features-intro_ul_c34_dnf_gzb}

Configure `BigCommerce` {#bigcommerce-config-intro}
===================================================

This section describes how to connect your `BigCommerce` account to `Cybersource`. Before you begin, make sure that you have a `Business Center` account.  
Create an Evaluation Account  
If you do not have an `Business Center` account, go to the [`Business Center`](https://ebc2.cybersource.com/ebc2/registration/external "") website to create one.  
To complete the registration process, follow the email instructions that you received to activate your merchant account, and log in to the `Business Center`.

Enable the Extension {#bigcommerce-config-settings}
===================================================

Follow these steps to enable the `Cybersource` extension.

1. Log in to the [BigCommerce website](https://login.bigcommerce.com/login "") and navigate to Store SetupPayments.

2. From the list of Online Payment Methods, choose `Cybersource`.

3. From the `Cybersource` Settings tab, click Sign up to create an account.

   #### ADDITIONAL INFORMATION

![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-sign-up.png/jcr:content/renditions/original)

Connect to `Cybersource` {#bigcommerce-config-installments}
===========================================================

Follow these steps to connect `BigCommerce` on the `Cybersource` Settings page.

1. From `Cybersource` Settings page, choose the environment you want to connect to your `BigCommerce` account, and choose Connect with.

   #### ADDITIONAL INFORMATION

   You are redirected to the `Cybersource` login page.  
   ![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/connectwith.png/jcr:content/renditions/original)

2. Enter your credentials and click Allow to give `BigCommerce` permission to connect to your account.

   #### ADDITIONAL INFORMATION

If you used OAuth to log in, your account automatically connects to `Cybersource` with the appropriate permissions.

Configuration Settings {#bigcommerce-config-settings-info}
==========================================================

This section describes the configuration settings for the `Cybersource` Extension.  
In the `Cybersource` Settings page, configure your preferences based on the services you use.  
Display Name: Manages how the payment gateway appears at checkout. `Cybersource` recommends something like *Credit/Debit*.  
Merchant ID: Enter the merchant ID (such as *87654321* ) that you received when you signed up with `Cybersource`.  
![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-settings-merchant-id.png/jcr:content/renditions/original)
Transaction Type: Choose Authorize and Capture or Authorize Only. Authorize Only enables you to capture the funds manually. See [Manually Capturing Transactions (Authorize Only)](https://support.bigcommerce.com/s/article/Manually-Capturing-Transactions-Authorize-Only "") for more information.  
![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-settings-transaction-type.png)
Test Mode: Determines whether your store is in Test Mode. When you are ready to take payments, set to No (Recommended).  
![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-settings-test-mode.png)
Require CVV (credit card security codes): Using this option requires users to enter the CVV/CVV2/CVD code for their credit card during checkout. Enabling this option adds extra security on credit card transactions.  
![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-settings-req-cvv.png)
Enable `3-D Secure`: This option enables an additional security layer that helps to prevent unauthorized transactions. For more information, see [`3-D Secure`](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US#3d "").  
Enable Google Pay: This option enables shoppers to use Google Pay on your storefront. For more information, see [Connecting with Google Pay](https://support.bigcommerce.com/s/article/Google-Pay "").  
Set up Apple Pay: This option enables shoppers to use Apple Pay on your storefront. To configure this feature, see [Connecting with Apple Pay](https://support.bigcommerce.com/s/article/Apple-Pay "") for more information.  
Show the Card Element: This option displays or hides the credit card field at checkout. For more information on this feature, see [Show Card Element](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource#card-element "").  
![](/content/dam/documentation/cybs/en-us/topics/isv/platform/bigcommerce/images/cybersource-settings-card-element.png/jcr:content/renditions/original)
Click Save.

Upgrade {#bigcommerce-upgrade}
==============================

If you already have an account, you can upgrade to V2 from the `Cybersource` Settings page. For more details, see [Upgrading from `Cybersource` to `Cybersource` V2](https://support.bigcommerce.com/s/article/Connecting-with-Cybersource?language=en_US#upgrade "").
