By integrating with our WooCommerce plugin, you'll gain access to the full range of our solutions, including PCI DSS scope reduction via Hosted Fields (Drop-In UI), credit and debit processing, Digital Wallets, Card Storage, 3D Secure, and Order Management.
Specifications
WordPress version: 5.4 or higher
Tested up to: 6.1.1
PHP version: 7.1 or higher
Step 1: Installation
Access plugin
Click the button below to download this plugin and view any related documentation available.
Credentials
Sandbox credentials
Our WooCommerce plugin requires credentials to our Unified Payments gateway. Test credentials can be obtained after registering with our developer portal. Once registration is complete, the required App Key and App Id can be found under the Unified Payments Apps section of the Profile menu. For more information and instructions, see our Unified Payments Apps article.
Apple Pay credentials
To integrate with Apple Pay, you’ll need to obtain the encrypted payment credentials. To do this, follow the steps in the applicable Apple guide below:
For more Apple Pay setup information, see our Apple Pay article.
Configuration
To configure this plugin, follow these steps.
- Log in to the Admin panel for WooCommerce.
- Navigate to WooCommerce > Settings > Payments.
- From here, you can click Manage to configure the Unified Payments gateway as well as the various payment methods supported by WooCommerce.
Note: If this is your first time activating this plugin, the Settings page will appear first.
Settings
The Unified Payments gateway offers payment through credit and debit cards. Additional payment methods like Digital Wallets (Google Pay, Apple Pay, and PayPal), Buy Now Pay Later (Affirm, Clearpay, and Klarna), and Bank Payment can be enabled via the Unified Payments gateway.
Unified Payments settings
The Unified Payments Settings tab allows you to enter your overall account credentials.
- Navigate to WooCommerce > Settings > Payments.
- Use the toggle under Enabled to select the Unified Payments gateway.
Note: If this is your first time activating this plugin, the Settings page will appear. - If you already enabled the plugin and want to change the settings, click Manage.
The following table describes the fields that appear on the Unified Payments Settings tab for WooCommerce.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g.,"Credit Card." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Live Mode | Allows you to switch between the Live and Sandbox versions of your account with us. |
| Sandbox/Live App Id | The App Id and App Key are used to obtain a bearer access token to execute API actions. For more information, see the Sandbox credentials section. |
| Sandbox/Live App Key | |
| Credentials Check | Determines if your credentials are valid. Note: The payment methods will not be displayed at checkout if the credentials are not correct. |
| Allow Card Saving | Determines whether a customer's card can be saved to our Card Storage solution following a successful transaction. If set to Yes, a checkbox displays on the Hosted Fields form that gives the customer the choice to store their card. If set to No, no checkbox displays, and the card is not stored. |
| Enable Logging | Allows logging of all requests to and from the gateway. Can also log private data. Should only be enabled in a development or stage environment. Logs can be found at WooCommerce > Status > Logs. |
| Contact Url | A link to an About or Contact page on your website with customer care information (maxLength: 50). |
| Enable 3D Secure | Enables the 3D Secure feature. For more details, see the 3D Secure section. |
| Payment Action | The sale transaction can be flagged for automatic capture (Authorize + Capture) or flagged as requiring a separate capture action later (Authorize only). |
| Order Transaction Descriptor | During a Capture or Authorize payment action, this value will be passed along as the transaction-specific descriptor listed on the customer's bank account. |
Google Pay settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Google Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Google Pay Settings tab for WooCommerce.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Google Pay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Client ID | The Client ID provided by us. |
| Google Merchant ID | The Merchant ID provided by Google. |
| Google Merchant Display Name | Text displayed to the customer in the Google Pay dialog box. |
| Accepted Cards | Determines what card types can be used at checkout when paying with Google Pay. |
| Allowed Card Auth Methods | Methods allowed to authenticate a card transaction. PAN_ONLY: This authentication method is associated with payment cards stored on file with the user's Google account. CRYPTOGRAM_3DS: This authentication method is associated with cards stored as Android device tokens. PAN_ONLY can expose the Funding Primary Account Number (FPAN), which requires an additional Strong Customer Authentication (SCA) step up to a 3DS check. Currently, we don’t support the Google Pay SCA challenge with an FPAN. For the best acceptance, we recommend that you provide only the CRYPTOGRAM_3DS option. |
| Button Color | Determines the color of the Google Pay button displayed at checkout. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
Apple Pay settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Apple Pay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Apple Pay Settings tab for WooCommerce.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Apple Pay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Apple Merchant ID | The Merchant ID provided by Apple. For more info on creating an Apple Merchant ID, see Apple Pay Programming. |
| Apple Merchant Cert Path |
The path for the .crt.pem file. This path is the relative path from the root. |
| Apple Merchant Key Path | The path for the .key.pem file. For more Apple Pay setup information, see the Apple Pay credentials section or our Apple Pay article. |
| Apple Merchant Key Passphrase | The encryption key for the .key.pem file. If the .key.pem file is not encrypted, this field must be empty. |
| Apple Merchant Domain | To fill this field, you first need to register and validate your domain in your Apple account. Follow the steps in the Apple Developer Account Help (see the “Register a merchant domain” and “Verify a merchant domain” sections). Once validated, the value that must be inserted in this field is the Domain value you have in your Apple account, for the current domain. |
| Apple Merchant Display Name | The text displayed to the customer in the Apple Pay dialog box. |
| Accepted Cards | Determines what types of cards can be used at checkout when paying with Apple Pay. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
PayPal settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Affirm Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Affirm." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
Clearpay settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Clearpay Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Clearpay Settings tab for WooCommerce.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Clearpay." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
Klarna settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The PayPal Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with PayPal." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
Affirm settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Klarna Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Pay with Klarna." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). |
Bank Payment settings
For this payment method to work, you’ll need to fully configure the Unified Payments gateway. For more information, see the Unified Payments settings section.
The Bank Payment Settings tab allows you to enter your overall account credentials. The following table describes the fields that appear on the Settings tab.
| Field | Description |
|---|---|
| Enable/Disable | Determines if the payment method is available at your WooCommerce store’s checkout. |
| Title | Description of the payment method displayed to the customer at checkout, e.g., "Bank Payment." The title will also be recorded in WooCommerce to indicate how the transaction was processed. |
| Account Number | Account number, for bank transfers within the United Kingdom (UK-to-UK bank). Required only if no bank details are stored on the account. |
| Account Name | Name of the individual or business on the bank account. Required only if no bank details are stored on the account. |
| Sort Code | Six digits that identify the bank and branch of an account. Included with the account number for UK-to-UK bank transfers. Required only if no bank details are stored on the account. |
| IBAN | Key field for bank transfers for Europe-to-Europe transfers. Required only if no bank details are stored on account. Required only for EUR transacting merchants. |
| Countries | Allows you to input a COUNTRY or string of COUNTRIES to limit what is shown to the customer. Including a country overrides your default account configuration. Format: List of ISO 3166-2 (two characters) codes separated by a | Example: FR|GB|IE |
| Currencies | The payment method will be displayed at checkout only for the selected currencies. |
| Payment Action | The Sale transaction can be flagged for automatic capture (Charge) or flagged as requiring a separate capture action later (Authorize). Currently, the Authorize mode is not supported. |
Step 2: Test integration
Use the test card numbers below to verify that your integration was set up properly. For testing, you can use any cardholder name, any expiry date in the future, and any CVN security code.
For a full list of test cards, see our Test Cards article.
Step 3: Going live
Now that you’ve successfully installed the plugin and tested to see if it was installed properly, you’re all set to go live in the Production environment. For more information, see our Integration Validation to Go Live article.
Connect your integration for Production:
- Input your Production App Id / App Key into your gateway configuration in the WooCommerce Admin panel, and enable the “Live Mode” for the Unified Payments gateway.
Go to Production with Google Pay:
- This gateway shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Google does not offer test cards, so you’ll have to use real ones.
- In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the Google Pay section of our Test Cards article.
Go to Production with Apple Pay:
- This gateway shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- You first need to configure a Sandbox account for Apple. For information on how to create a Sandbox account and test cards, see the Apple’s Sandbox Testing article.
- In Sandbox mode, our gateway allows only specific order amount values; all other values will be automatically declined. You can check the allowed values in the Apple Pay section of our Test Cards article.
Go to Production with PayPal
- This payment method shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Contact the Unified Payments team and ask them to enable PayPal for your current account (see Integration Support).
- Once you get redirected to the PayPal payment page, create an account and process different transactions.
Going to Production with Affirm:
- This payment method shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see Integration Support).
- This payment method will be displayed at checkout only for the following currency - country cases: USD - US and CAD - CA.
- Once you get redirected to the Affirm payment page, create an account and process different transactions.
Going to Production with Clearpay:
- This payment method shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see Integration Support).
- This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, and NZD - NZ.
- Once you get redirected to the Clearpay payment page, create an account and process different transactions.
Going to Production with Klarna:
- This payment method shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Contact the Unified Payments team and ask them to enable Buy Now Pay Later for your current account (see Integration Support).
- This payment method will be displayed at checkout only for the following currency - country cases: USD - US, CAD - CA, GBP - GB, AUD - AU, NZD - NZ, EUR - AT, EUR - BE, EUR - DE, EUR - ES, EUR - FI, EUR - FR, EUR - IT, EUR - NL, CHF - CH, DKK - DK, NOK - NO, PLN - PL, and SEK - SE.
- Once you get redirected to the Klarna payment page, create an account and process different transactions.
Go to Production with Bank Payment
- This payment method shares the Sandbox/Production mode with the Unified Payments gateway.
- Process test transactions:
- Contact the Unified Payments team and ask them to enable Open Banking for your current account (see Integration Support).
- Once you get redirected to the Bank Payment payment page, create an account and process different transactions.
Additional information
This section contains information on payment solutions such as Hosted Fields and Hosted Payment Page, risk management solutions such as 3D Secure, as well as enhanced features such as Card Management and Order Management.
For the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna), additional information on checkout flow can be found in the Async Payment Methods section.
Hosted Fields
For information on our PCI DSS requirement-reducing hosted solution, Hosted Fields (Drop-In UI), see our Hosted Fields - Overview page.
Hosted Payment Page
For information on our Hosted Payment Page for Unified Payments REST API integrators, see our Hosted Payment Page - Overview page.
3D Secure
For information on our 3D Secure solutions, see our 3D Secure - Overview page. We provide a Simulator Issuer Access Control Server that allows you to test different 3D Secure scenarios. For more information, see the 3D Secure section of our Test Cards article.
Card Management
All card data is tokenized using our tokenization service.
Registered customers can save their card information by selecting the “Save to account” checkbox in the checkout form. The WooCommerce plugin securely stores card data with us and receives a token representation of the card, which is stored in the WooCommerce vault, with no increased PCI compliance requirements.
- The customer can choose from the list of their stored cards.
- Registered customers can see the list of their stored cards under My Account > Payment Methods.
- Registered customers can add new payment methods by navigating to My Account > Payment Methods > Add Payment Method. A validation of the payment method is done to ensure it can be used to create a transaction at a later time and the card data is received through Hosted Fields.
Order Management
Detailed information relating to the transaction outcome is available in the Orders section for WooCommerce.
Capture a transaction
Merchants who use “Authorize only” at checkout will authorize the funds on the customer's card, but the transaction won't be placed in the settlement file until We capture it. The amount of time the funds can remain ring-fenced on the customer's card may vary between different Issuers and Acquirers. Card brands like Visa and Mastercard have their own rules around how long transactions can wait to be captured.
- You can view the Transaction ID returned by us under the order details.
- If successfully authorized, the funds will be ring-fenced on the customer's account. When you want to include the transaction in the next settlement file (also known as a batch), you can simply send a Capture (Settle) request. When the transaction is captured with the Acquirer, the funds are deducted from the customer's account and settled into the merchant's account.
- To capture a transaction, on the right-hand menu, go to Order actions. Select Capture credit card authorization to send the request to us.
- When finished, click Update. A Capture request with the total amount authorized will now be sent.
- Once complete, the result of the Settle request will be displayed as a comment in the Order notes. For example: Transaction captured. Transaction ID for the capture: TRN_Q5LIgwyAGg19h6OSmTWPSHTtygss5c_0426b98fcb98).
Refund a captured transaction
Once an order is successfully settled with your Acquirer, you can rebate the customer for 0% to 115% of the original order value. To do this, you must do a Refund in WooCommerce.
- Navigate to WooCommerce > Orders, and select the order you want to rebate.
- You can edit the amount to rebate by editing the adjustment fields provided by WooCommerce.
- Once complete, the result of the Refund request will be displayed as a comment in the Order notes. For example: €10.00 was reversed or refunded. Transaction ID: TRN_USaGaxBIRCQajDlqcqPolBkUwfRAL4_0426b98fcb98.
Async Payment Methods
This section applies only to the Buy Now Pay Later payment methods (Affirm, Clearpay, and Klarna) and the Bank Payment payment method. All sections except “Receiving the final payment status” apply to PayPal as well.
Because these payment methods are handled by third-party services and require further processing from these third parties, the checkout flow has some differences compared with the Unified Payments or Digital Wallets ones.
Initiate the payment
- When a customer clicks the Place Order button, the order is placed with a “Waiting for payment” status.
- Once the order has been created, an Initial Payment request type will occur.
Redirect to third-party service
If the Initiate Payment request is successful, the customer will be redirected to the third-party service to pay.
Redirect back to your website
Cancel the payment
- If the customer decides to cancel the payment using the option provided by the third-party service (for example, clicking the X button on top left of the screen), they will be redirected to the cart page and the order that was previously created will be canceled.
- The order canceling will not be processed in your website if the customer decides to leave the page using another option (for example, browser back button, browser X button, or closing the tab); therefore, the order will still have the “Waiting for payment” status in these cases.
Successfully completing the payment
- If the customer successfully completes the payment, they will be redirected to the success page.
- At this point, the order will still have a Pending Payment status. For more details, see the next section.
Receiving the final payment status
If you are using Apache, you will need a version greater than 2.4.47 and the following directive added to your config: SetEnv proxy-sendcl 1. Otherwise, the orders within your platform will not be updated as expected.
- Because these payment methods are asynchronous, the final transaction status might not be available immediately.
- Once our system gets the final status, it will notify your website.
- At that point, the order status will be changed to Processing.
‘Waiting for payment’ orders
- In cases where the orders are stuck in a Pending Payment status, we provide a View Transaction Info button.
- Clicking View Transaction Info fetches all the information about the current transaction and displays it in a pop-up window.
- Based on the Transaction Status, you can manually cancel the order or just continue with the normal flow.










