Shopify Embedded Multi-APMs

Last updated: October 30, 2026

Overview

With our new Shopify Embedded Payment Plugin, merchants can enable and manage multiple Alternative Payment Methods (APMs) through a single application.
This solution is built on a server‑to‑server integration model, providing a fully embedded checkout experience without relying on WestpayAPI or hosted payment widgets.

This architecture ensures:

  • A seamless, native Shopify checkout experience
  • Greater control over payment flows
  • Flexibility to support APMs requiring server‑side processing
  • Direct orchestration through the Payments Orchestration Platform

Whether you are setting up a new Shopify store or expanding globally with additional payment options, the Embedded Multi‑APMs plugin allows you to activate and manage APMs quickly, securely, and efficiently.

Built on the Payments Orchestration Platform, the plugin provides payment routing flexibility, orchestration intelligence, and advanced analytics — all through one unified integration.

Looking for the step-by-step journey (prepare, install, configure, test, go live)? See the Shopify Embedded Multi-APMs overview on the Shop Plugins page. This page contains the detailed reference.

↑ Back to top


Compatibility

Our plugin supports the following versions:

  • Node 18
  • Remix 2.7.1
  • React 18.2
  • Prisma 5.12

↑ Back to top


Before you start

Create/confirm your Merchant Portal account & access

  • Ensure you have access to the ACIPayment Orchestration Platform portal (UAT/Sandbox for testing, Production for live).
  • Ensure you have the correct merchant/PSP credentials and permissions to configure payment settings.
  • Configure your merchant account and the connector

Obtain app credentials

  • Generate or retrieve the required credentials from the platform tooling (e.g., Client ID/Secret, API keys, merchant identifier).
  • Store credentials securely.

Confirm required data & processing setup

  • Confirm which card schemes you will enable.
  • Confirm required shopper/order fields needed by your downstream connector/acquirer setup.
  • Confirm callback/webhook endpoints and allowed domains (if applicable).

↑ Back to top


Install

Marketplace listing: open in the Shopify App Store.

Option A — Shopify App installation

  1. Shopify Admin →Apps
  2. Locate APMs by ACI Worldwide
  3. Click Install
  4. Approve permissions

Option B — Private/Custom distribution

  1. Use the installation link/package provided by us
  2. Install via Shopify Admin → Apps
  3. Verify the plugin appears in your payment settings

↑ Back to top


Configure

Configuration in Shopify Admin

  1. Go to Apps on the left navigation.
  2. Find APMs by ACI Worldwide in the list of installed Apps to be redirected to the Payment Configuration page.
  3. Enter: (Refer to Onboarding configuration)
    • Client ID in the Entity ID field (Test/Live)
    • Client Secret / API Key in the API key field (Test/Live)
    • Add and configure the required payment methods in the “Dynamic Alternative Payment Methods Settings” 
    • Any additional required fields (OPP params, locale, etc.) 
    • Webhook decryption Key (you will get the same when you configure webhooks/notifications in merchant portal)
  4. Save 
  5. On successfully saving the configuration, you will see a “Return to Shopify” button on the top of the page. Click it.
  6. You will be redirected to the Payment settings page of Shopify. Enable Test mode (if required) and click on the Activate button. 

Onboarding configuration

Field Name in Shopify Configuration Merchant Portal Field Name Mandatory/Optional Comments
Entity ID EntityId Mandatory

From the Merchant Portal at the Merchant or Channel level, according to the Merchant Portal configuration setting of the Merchant accounts

In Open Payment Platform - Administration→ Account data

API Key Access Token Mandatory

From the Merchant Portal at the Merchant or Channel level, according to the Merchant Portal configuration setting of the Merchant accounts

In Open Payment Platform - Administration→ Account data → Merchant Info/Channel Info

Test Mode NA Mandatory Applicable only for test environment; INTERNAL is for testing with the simulator, EXTERNAL for the external test simulator.
Webhook URL Prepopulated to configure Webhooks in the Merchant Portal
Webhook Decryption Key Mandatory Decryption Key obtained from Merchant Portal after setting the webhook
Use Store Locale NA Optional
Store URL Optional Enter a fully qualified store URL. It is required as part of the scheme mandates if it is not configured, or cannot be configured, in the Merchant Portal's account configuration. For alternative payment methods it is often not required.
Dynamic Alternative Payment Methods Setting NA Mandatory

Configure Payment Methods with Valid Payment Key

The Payment Key is the OPP payment brand; for valid payment brands, refer to the Payment Methods reference.

OPP Parameter Settings- Manual Entry NA Optional Configure Additional Parameter to be sent in request (Valid OPP parameter is required)
OPP Parameter Settings- Drop Down Entry NA Optional Configure Additional Parameter to be sent in request from the available list of Shopify parameters (Valid OPP parameter is required)

↑ Back to top


Webhooks

Webhooks send real‑time updates from the Payment Orchestrator Platform to the plugin platform. They notify the plugin about:

  • Payment state updates
  • Token events
  • Payment schedules
  • Risk events
  • Any transaction‑related changes

Webhooks must be configured for transaction updates to work correctly.

Merchant/PSP responsibilities

You must configure the webhooks and generate the Webhook Decryption Key in the Open Payment Platform.

Steps to configure webhooks

  1. Log in to theOpen Payment Platform
  2. Select your division (e.g.,OPP_Division)
  3. Navigate to Administration → Webhooks
  4. Click Add New Webhook
  5. Configure as follows:
FieldValue
URLhttps://<your-domain>/acipayment/process/notification
Notification TypesSelect as required for your business
Fields to IncludeSelect as needed
Secret for EncryptionCopy this value and paste in Shopify under Webhook Decryption Key
Wrapper for Encrypted NotificationJSON
EmailsAdd email addresses for notification alerts

Figure 1: Webhooks overview (Administration → Webhooks)

Shopify Embedded Multi-APMs: Webhooks overview (Administration → Webhooks)

Figure 2: Add Webhook dialog

Shopify Embedded Multi-APMs: Add Webhook dialog

Important: If you have access to the onboarding APIs for the Merchant Portal, you can set up webhooks via API in the portal and configure the Shopify app with the obtained decryption key.

Follow the documentation for the onboarding API for Webhooks.

↑ Back to top


Test & go live

Step 3: Test a transaction

Recommended test checklist:

  • Test successful payment
  • Test decline scenario (insufficient funds / invalid card)
  • Confirm Shopify order status reflects payment result correctly
  • Confirm reporting/transaction logs show expected references

Step 4: Go live

  1. Disable Test mode in Shopify Payment setting
  2. Replace UAT credentials with Production credentials
  3. Run a low-value live transaction to validate end-to-end
  4. Monitor first transactions in reporting

Step 5: Set your store currency

Ensure the Shopify store currency matches the settlement/processing currency configured in Merchant Portal (and supported by your acquiring setup).

↑ Back to top


Upgrading the app

  • Shopify apps are automatically updated. If there are any change in required permissions in your store, you will be prompted to provide the same on accessing the App Payment configuration page.
  • After upgrade, re-validate:
    • Checkout rendering
    • Order status updates
    • Reporting/settlement behaviour

↑ Back to top


Screenshots

  • Navigate to APP - Shopify Admin → Settings → Payments (ACI Payment app enabled), you will find‘Credit Card Payments by ACI Worldwide"
  • When App is in Production, you should not see test mode as visible in the screen below.  

Figure 3: Shopify Payments settings – app in test mode

Shopify Embedded Multi-APMs: Shopify Payments settings – app in test mode

Figure 4: Test mode setting in Shopify

Shopify Embedded Multi-APMs: Test mode setting in Shopify
  • Payment app configuration screen (credentials/environment)

Figure 5: App configuration – General Settings

Shopify Embedded Multi-APMs: App configuration – General Settings

Figure 6: Dynamic Alternative Payment Methods Settings

Shopify Embedded Multi-APMs: Dynamic Alternative Payment Methods Settings

Figure 7: OPP Parameter Settings: Manual Entry

Shopify Embedded Multi-APMs: OPP Parameter Settings: Manual Entry

Note - Configure the above fields only when required

Figure 8: OPP Parameter Settings: Drop Down Entry

Shopify Embedded Multi-APMs: OPP Parameter Settings: Drop Down Entry
  • On Shopify Checkout 

Figure 9: Shopify checkout – alternative payment methods

Shopify Embedded Multi-APMs: Shopify checkout – alternative payment methods

↑ Back to top


Features

Payment types

Payment TypeSupportedComments 
Authorization (PA)✔
Debit (DB)✔
Credit (CD)–

Capture (CP)

Full✔
Partial

✔


Multiple✔

Refund (RF)

Full✔
Partial✔
Multiple✔

Reversal (RV)

Full✔
Partial✔
Multiple✔
Receipt (RC)–
Rebill (RB)–


Important Note:


The plugin supports all payment types listed above, but the actual availability depends on the payment brand and the connector configured to process the payment.
To use a specific payment type (e.g., Partial Capture, Multiple Refunds), the payment brand must support that operation, and the connector integration for that brand must also support it.
Please refer to the respective connector integration sheet for brand‑level support.

Features

We have standard plugin integration with Shopify using our Open Payment Platform Integration option, which gives you access to all the features and uses the Server-to-Server to present payment options to your shoppers 

FeatureSupportedComments
Supported Brands✔

All payment brands are supported with Virtual Account methods; any existing customization for the widget or additional fields is not supported. Please check the supported fields before the integration. 

Supported Payment Methods✔

Virtual Account

Countries✔
All Shopify‑supported countries
Authorization Currencies✔ALL
Late Notification✔

Payment Facilitator

–Can be supported if the connector has its own configuration for PayFac
Recurring/Subscription –
Reference ID✔
Timeout Autoreversal✔
TLS 1.2✔
Server-Server Integration✔
Shopify Embadded Experiance✔
Internal Tokenization
–
Omni Tokenization–
External Tokenization–
Zero Authorization/ Account Verification–
Digital Wallet–Apple Pay/Google Pay
3D Secure –Using our MPI
Airline Data–
Settlement Reporting–

Settlement reporting as per the specific brand connector in use. 

WestpayAPI OneClick Checkout (Save Card)–
WestpayAPI widget or full-page redirect–
Customization through standard WestpayAPI JS–using wpwlOptions
Customization through standard WestpayAPI CSS–using wpwlOptions
PayByLink–PayByLink configuration is needed in the Open Payment Platform to configure the Shopify Plugin, and it is not supported as a standalone checkout option or to generate and distribute the link
Manage Saved Card in User Profile–
Download Audit Log✔Enable this through Shopify Support
Guest Checkout ✔
Transaction identifier ✔merchantTransactionID
Fast Checkout–
Fraud with Payment✔
Standalone Fraud–
PCI DSS 4✔

↑ Back to top


Supported fields

These fields are automatically handled by the plugin through Shopify’s data model. No manual implementation by merchants is needed.

Important Note:

The fields listed below are integrated through Shopify and passed by default to the payment platform. However, some payment brands may require additional fields that are not included in this standard integration.
Please review the payment brand’s connector documentation before starting the integration. If the connector requires additional static fields, the plugin provides a feature to pass such fields. Please refer to the “Additional Static Fields” configuration section for details.

Note: If you want to send additional fields as custom parameters or static values, see the Configure section on how to configure custom parameters and additional OPP fields.

OPP Field NameShopify Field
entityIdDerived from Admin
amountamount
currencycurrency
paymentTypekind
paymentBrandWill derive from payment_method object
testModeAdmin derived
merchantTransactionIdid
customer.merchantCustomerIdNot available
customer.givenNamebilling_address.given_name
customer.surnamebilling_address.family_name
customer.phonecustomer.phone_number
customer.mobilecustomer.phone_number
customer.emailcustomer.email
customer.birthDateNot available
customer.ipNot available
billing.street1billing_address.line1
billing.street2billing_address.line2
billing.citybilling_address.city
billing.statebilling_address.province
billing.postcodebilling_address.postal_code
billing.countrybilling_address.country_code
billing.houseNumber1Not available
shipping.street1shipping_address.line1
shipping.street2shipping_address.line2
shipping.cityshipping_address.city
shipping.stateshipping_address.province
shipping.postcodeshipping_address.postal_code
shipping.countryshipping_address.country_code
shipping.phoneshipping_address.phone_number
shipping.companyNameshipping_address.company
cart.items[0].nameitem name
cart.items[0].merchantItemIdNot available
cart.items[0].quantity1
cart.items[0].skusku
cart.items[0].priceCart Total
cart.items[0].currencyActual Currency should be mapped
cart.items[0].descriptionnull
cart.items[0].taxNot available
cart.items[0].totalAmountCart Total
cart.items[0].originalPriceNot available
customParameters[SystemName]Derive the values
customParameters[SystemVersion]Derive the values
customParameters[moduleName]Derive the values
customParameters[moduleVersion]Derive the values
shopperResultUrlDerive the values
AuthorizationGenerated through API
localemerchant_locale

↑ Back to top


FAQ

Installation

  • How do I install the APM app?
    Install via Shopify App Store or using a private/custom installation link provided by us.

  • How do I verify installation?
    The app should appear under Shopify Admin → Apps and within payment settings.

  • Can I install multiple APMs?
    Yes:

    • Use a multi-APM app to enable multiple payment methods
    • Or install individual APM apps for specific payment methods

Configuration

  • What credentials are required?

    • Client ID (Entity ID)
    • API Key / Client Secret
    • Webhook configuration values (Open Payment Platform)
  • Where is configuration completed?

    • Shopify Admin (App settings)
    • Merchant Portal (APM enablement and routing)
  • How do I enable APMs?
    Configure payment methods under Dynamic Alternative Payment Methods settings in the app.

  • Why is correct platform brand configuration important?
    Incorrect brand values will prevent transactions from being processed.

  • Do APMs require redirection?
    Yes, customers are redirected to the payment provider and returned after payment completion.

  • Are payment logos configurable?
    Yes. Logos shown in Shopify checkout are controlled via Shopify settings.
    By default, multiple logos may be displayed—merchants should only enable supported payment methods.

  • Are recurring or instalment payments supported?
    No, recurring and instalment payments are not supported.

Troubleshooting

  • APMs not visible in checkout

    • APMs not enabled in app or Open Payment Platform
    • Incorrect platform brand configuration
    • App setup incomplete
  • Transactions not created or rejected

    • Plugin functionality not enabled
    • Missing or incorrect credentials
    • Required fields not configured in Shopify
  • Connector requires additional fields

    • Some connectors require additional parameters (e.g., region, customer data)
    • Missing fields will cause transaction failures
    • Merchants should verify Shopify supports required fields before setup
  • Redirection not working

    • APM configuration incomplete
    • Provider or Open Payment Platform setup missing
  • Payment fails after redirect

    • Invalid provider credentials
    • Region/currency mismatch
  • Webhook not updating transaction status

    • Webhook not configured in Open Payment Platform
    • Incorrect decryption key
    • Endpoint not reachable
  • APM visible but disabled

    • Unsupported region/currency
    • Not enabled in Open Payment Platform
  • Refund / capture / reversal not working

    • Must be triggered from Shopify order flow
    • Available only if supported by the connector
  • While activating the plugin, I see all payment method logos are enabled.
    • This is a Shopify limitation: Shopify enables all logos by default. The merchant needs to deselect the logos that are not required.
  • On checkout, I would like to override the app name.
    • This is possible with third-party customization apps. The plugin supports additional language texts, but this is not guaranteed for all texts; it can be achieved with third-party apps.

↑ Back to top


Resources

After installing the plugin:

  • Configure the plugin inside Shopify
  • Configure merchant accounts, brands, and APMs in Merchant Portal
  • Ensure all connector‑specific setups (e.g., APM parameters) are completed

Get support

If you need help with installation, configuration, or troubleshooting, contact H24 with:

  • Shopify store domain
  • Environment (UAT/Production)
  • Timestamp and transaction reference (Order ID + payment reference)
  • Steps to reproduce + screenshots

↑ Back to top


See also