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:
- Shows a QR code with the deposit address and crypto amount.
- Polling or WebSocket for real-time transaction status.
- Countdown timer (standard 15-30 minutes).
- 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.







