Skip to main content
Shopify

Prepare Inttegro payments for Shopify

Evaluate a Shopify payment and refund flow that redirects customers to Inttegro Checkout. The adapter is ready for test fixtures, but Shopify approval and production infrastructure are still required before a live store can install it.

Version1.0.0
FlowOffsite GHS sale and partial refunds
RequirementsNode.js 24+ and Shopify Payments Apps access
AvailabilityIntegration preview; not installable on live stores

Before you begin

Use a dedicated Inttegro key for each merchant. It is intended to allow only orders:create, orders:read, refunds:create, and refunds:read.

API-key scopes are not enforced yet

Protect the merchant configuration as a secret and keep the key away from catalog writes, payouts, financial accounts, and account administration. Rotate it when Inttegro can enforce the restricted profile.

Complete the production prerequisites

  1. Obtain approval for Inttegro as a Shopify Payments Partner and access to the Payments Apps platform.
  2. Create the payments extension and replace the example UID with the value issued by Shopify CLI.
  3. Implement Shopify OAuth installation and secure per-shop token storage.
  4. Put payment and refund session endpoints behind a trusted proxy that validates Shopify's mutual TLS client certificate.
  5. Establish the privacy export, retention, and redaction process required for Shopify data requests.
  6. Resolve the customer-contact contract below before accepting live payments.

The proxy must discard any client-supplied X-Shopify-Client-Verified value. It may set that header to SUCCESS only after validating Shopify's certificate.

Evaluate the preview

  1. Request preview access from Inttegro and install the adapter's Node.js dependencies in an isolated test environment.
  2. Configure test Inttegro credentials and Shopify fixtures; do not use a live merchant key.
  3. Create a GHS payment session and confirm it redirects to Inttegro Checkout.
  4. Return from checkout and confirm Shopify receives one replay-safe resolve or reject mutation.
  5. Create a partial refund and confirm repeated reconciliation does not create a duplicate or exceed the order's remaining balance.

Verify readiness

  • Payments Partner approval and the production extension UID are available.
  • OAuth installation issues and rotates per-shop tokens securely.
  • Mutual TLS is validated before traffic reaches the adapter.
  • Signed return state, cancellation, and replay checks pass.
  • Mandatory privacy webhooks are verified and operationally processed.
  • A payment session with the supported customer contact fields succeeds.

Treat the integration as a preview until every check passes. Deferred capture, void, installments, multi-capture, non-GHS currencies, and direct 3-D Secure card processing are not part of this release.

Customer contact needs a contract decision

Shopify may supply only an email address or only a phone number. Inttegro's current new-customer order contract requires both, so the adapter rejects a payment missing either field instead of inventing customer data. Before launch, Inttegro must accept one verified contact channel or approve a pre-payment step that collects the missing value.

If a check fails

Keep the Shopify payment or refund session ID and the matching Inttegro operation ID. Contact Inttegro support without sending API keys, OAuth tokens, certificates, or customer details.