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

Clients leave when they can't pay with cryptocurrency, and standard Shopify methods don't support it out of the box. We configure crypto payment acceptance—from ready-made plugins to custom Payment Apps. Our team delivers the project turnkey, ensuring stable operation and ongoing support after launch.

Blockchain Development Services

Frequently Asked Questions

Latest works

  • Development of a web application for FEEDME
    Development of a web application for FEEDME
    1335
  • Development of an online store for the company FURNORO
    Development of an online store for the company FURNORO
    1293
  • B2B Advance company logo design
    B2B Advance company logo design
    738
  • Development of a web application for Enviok
    Development of a web application for Enviok
    1031
  • AIDER company logo development
    AIDER company logo development
    978
  • CRM development for Chasseurs
    CRM development for Chasseurs
    1087

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.