Integrating Crypto Payments into Shopify: A Step-by-Step Guide

A customer adds a product to the cart, selects payment in ETH. Within a minute, the store receives on-chain confirmation. No banks, no SWIFT delays, and no [chargebacks](https://en.wikipedia.org/wiki/Chargeback) — the average order value grows thanks to a global audience. Standard Shopify methods do

Blockchain Development Services

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1450
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    1003
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1269
  • image_logo-advance_0.webp
    B2B Advance company logo design
    717
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    1009

A customer adds a product to the cart, selects payment in ETH. Within a minute, the store receives on-chain confirmation. No banks, no SWIFT delays, and no chargebacks — the average order value grows thanks to a global audience. Standard Shopify methods don't support crypto out of the box. Over 5 years, we've completed more than 30 crypto payment integration projects for Shopify stores. We configure crypto acceptance: a ready-made plugin or a custom Payment App. Fee savings — up to 2 percentage points compared to Visa (0.5% instead of 2.5%). No chargebacks saves up to 3% of turnover.

Shopify Payments and Cryptocurrencies: Limitations

Shopify Payments only works with fiat providers certified under Card Scheme Rules. For crypto, two mechanisms remain: Offsite Payment Gateways — redirect to an external payment page, or custom Payment Apps via GraphQL API. The latter gives full control but requires more code.

Ready-Made App in 4-8 Hours

If you need a quick start and UI customization isn't critical, ready-made Shopify apps do the job. The most popular ones:

Provider Coins Fee Code
Coinbase Commerce ETH, BTC, USDC, DOGE, LTC, BCH 1% Free plugin
NOWPayments 300+ coins, auto-conversion from 0.5% Shopify module available
BitPay BTC, ETH, USDC 1% + fixed Enterprise plan
Feature Coinbase Commerce NOWPayments BitPay
Auto-conversion to stablecoins yes (USDC) yes yes (USDC)
L2 network support no Arbitrum, Polygon no
Custom UI no no yes (Enterprise)
Average payment time 10-60 min 5-30 min 5-30 min

Installation via the Shopify App Store; add it as an alternative payment method in store settings. The downside — the payment page UI is fixed, with no flexibility for exchange rate or session lifetime.

To reduce fees, we implement gas optimization on L2 networks (Arbitrum, Polygon). On-chain transaction confirmation ensures security without intermediaries. Offsite gateway crypto payments on Shopify allow accepting Bitcoin, Ethereum, and other coins.

Custom Offsite Gateway

If the ready-made solutions don't cut it (e.g., you need custom liquidity scenarios, multiple networks, or unique confirmation logic), we build your own gateway via the Payment App API.

Registering a Payment App

Create a Shopify Partner App with type payment_app, specify a redirect URL and callback URL. After the redirect from checkout, Shopify sends a POST request with session data:

// POST /shopify/payment-initiate { "id": "gid://shopify/PaymentSession/...", "payment": { "amount": "99.99", "currency": "USD", "proposed_at": "2024-01-15T10:30:00Z" }, "merchant_id": "...", "cancel_url": "https://...", "redirect_url": "https://..." } 

Payment Flow

Shopify Checkout → Our Payment App → Choose crypto page → Generate deposit address → Wait for on-chain → Confirmation → Resolve/Reject session via Shopify API 

Resolve Payment Session

After on-chain confirmation:

const RESOLVE_MUTATION = ` mutation paymentSessionResolve($id: ID!) { paymentSessionResolve(id: $id) { paymentSession { id state { ... on PaymentSessionStateResolved { code } } } userErrors { field message } } } `; async function resolvePaymentSession(sessionId: string, shopDomain: string) { const response = await fetch( `https://${shopDomain}/payments_apps/api/2024-01/graphql.json`, { method: "POST", headers: { "Content-Type": "application/json", "X-Shopify-Access-Token": process.env.SHOPIFY_ACCESS_TOKEN!, }, body: JSON.stringify({ query: RESOLVE_MUTATION, variables: { id: sessionId }, }), } ); return response.json(); } 

On cancellation or timeout — call paymentSessionReject.

Amount in Crypto

Calculate using the current exchange rate with a buffer of +1-2% for slippage and short conversion time. Fix the rate for the session TTL.

Custom Checkout Page

Shopify requires the payment app to redirect the user to redirect_url after successful payment. Our page:

  1. Shows a QR code with the deposit address and crypto amount.
  2. Polling or WebSocket for real-time transaction status.
  3. Countdown timer (standard 15-30 minutes).
  4. After confirmation — resolve session + redirect.

How We Test and Deploy?

Shopify provides a sandbox environment for payment apps. Test payments without real transactions — via special test sessions in Partner Dashboard. For real on-chain tests, we use Sepolia (ETH testnet) or BSC testnet. According to the Shopify Payment App API, allowed testing methods include sandbox and testnet transactions. After debugging — move to production.

What's Included in the Work?

  • Requirements analysis: network selection, provider selection, conversion scheme (via DEX or oracles).
  • Architecture design: Payment App, payment page, on-chain confirmation logic.
  • Development: smart contracts (if needed), backend in Node.js, frontend with QR codes and WebSocket.
  • Shopify integration: app registration, webhook and callback setup.
  • Testing: sandbox + testnet, edge case checks (timeouts, partial confirmation, wrong amount).
  • Deployment and monitoring: production environment, Tenderly logs, node failure alerts.
  • Documentation: API description, merchant guide, support contacts.

Timelines and Budget

Estimated timelines:

  • Ready-made app: 4-8 hours.
  • Custom gateway: 2-3 days of development.
  • App Store publication: +1-2 weeks for review.

Pricing is calculated individually — depends on logic complexity, number of networks, and need for smart contracts. We'll assess your project for free — reach out via email or the contact form.

Why Order Integration from Us?

We have been working with Ethereum and L2 networks for over 5 years, conducted more than 20 smart contract audits. We guarantee 99.9% uptime for the payment gateway and provide an SLA for support. A custom solution pays off at just 50 transactions per day — 3 times faster than using a ready-made plugin. Everything turnkey: from node setup to production deployment.

Get a consultation: we evaluate your project in one day. Contact us — we'll send a commercial proposal. Order crypto payment development for your Shopify store.