Shopify Integration

Accept crypto and cards on your Shopify store with U.CASH Pay. Payments settle non-custodial, direct to wallet addresses you control, and are recorded against your Shopify orders automatically.

How it works

The Shopify integration has two parts that work together:

  1. Auto-capture (built into pay.u.cash). When a transaction whose external reference begins with shopify_ settles, pay.u.cash records a capture against the matching Shopify order through the Admin REST API. You enable this by adding your Shopify store URL and access token in pay.u.cash.
  2. The Shopify app (shopify-ucashpay). A small custom app that lists your Shopify orders and creates a U.CASH Pay checkout tagged shopify_{order.id} for the one you choose. Send that link to your buyer; when they pay, the capture above fires automatically.

Shopify does not allow third-party gateways into native checkout without an approved Shopify Payments Partner agreement, so the integration uses an order pay-link model that works on any Shopify plan. See why order pay-links below.

Set up your pay.u.cash account

You need a free U.CASH Pay account and a store before you can accept payments.

  1. Sign up at pay.u.cash with your email and password, then click the verification link in the confirmation email.
  2. Set your receive addresses. Go to Settings → Addresses and enter a wallet address for each coin you want to accept. ENS, Unstoppable Domains, and FIO names work too. This is where crypto settles.
  3. Create a store. Go to Account → Stores, click + Add Store, name it (for example, after your Shopify store), and create it.
  4. Copy the Store Cloud Token. In that store row, copy the Store Cloud Token. You will paste it into the Shopify app.

To also accept fiat cards, connect your own Stripe account under Settings → Payment processors. Cards run non-custodially through Stripe.

Enable auto-capture in pay.u.cash

So payments are recorded against your Shopify orders, add your store details in pay.u.cash admin:

  1. Open E-Commerce Integrations → Shopify.
  2. Enter your Store URL (for example, https://your-store.myshopify.com).
  3. Enter a Shopify Access Token with the write_orders scope. Generate one in Shopify admin under Settings → Apps → Develop apps.
  4. Save.

When a checkout tagged shopify_{order.id} settles, pay.u.cash posts a capture to:

POST {store-url}/admin/api/2023-01/orders/{order-id}/transactions.json
Header: X-Shopify-Access-Token: {access-token}
Body:  { "transaction": { "currency": "...", "amount": "...", "kind": "capture" } }

The Shopify order then shows the captured payment. The order id used is the numeric Shopify order id.

Install the Shopify app

The app (shopify-ucashpay) is a self-hosted Node.js custom app.

  1. Deploy the app on any Node.js 18+ host with a public HTTPS URL.
  2. Create a custom app in your Shopify admin (or Partner dashboard) with the read_orders scope, the app URL pointing at your host, and the redirect URI /auth/callback.
  3. Install it on your store via https://your-app-host/auth?shop=your-store.myshopify.com.
  4. In the app, paste your pay.u.cash Store Cloud Token.

Then pick an order in the app, click Create pay link, and send the link to your buyer. Full setup is in the app's README.

Manual alternative (no app)

You can skip the app entirely. Create a U.CASH Pay checkout anywhere (the API, an SDK, or the pay.u.cash admin) with the external reference set to shopify_{order.id}, where {order.id} is the numeric id of an existing Shopify order. When it settles, the auto-capture records the payment against that order.

Why order pay-links

Shopify keeps its native checkout closed to third-party gateways. A native payment app would require approved Shopify Payments Partner status (plus a revenue-share agreement) and still could not see the Shopify order id, so it could not drive this capture. The order pay-link model avoids all of that: it works on any plan, today, and reuses the built-in capture. The native path is documented in the app repo for the future.

Checklist

  • pay.u.cash account created, receive addresses set, store created.
  • Store Cloud Token copied.
  • Shopify Store URL + access token added under pay.u.cash E-Commerce Integrations → Shopify.
  • Shopify app deployed, installed, and Cloud Token saved (or using the manual checkout method).