This plugin brings Shopify's Shop Pay Wallet to your store. Shoppers get a fast, familiar "Buy with Shop Pay" button - both as an express button above the cart/checkout form, and as a normal entry in your payment method list - that opens Shop Pay's own hosted payment sheet and completes the purchase without leaving your store's checkout flow.
How it works
The plugin builds a live payment request from the WooCommerce cart (line items, discounts, shipping options, tax) and keeps it in sync with Shop Pay's payment sheet in real time as the shopper changes their shipping address, delivery method, or discount code. As soon as the shopper submits payment, the plugin creates the matching WooCommerce order immediately - correctly reflecting the price, discount, shipping method, and customer account, exactly as shown in the payment sheet - the same way a normal WooCommerce checkout creates an order before payment is confirmed.
Reliability
Shop Pay's own payment confirmation is asynchronous: submitting a payment successfully does not, by itself, guarantee the charge will actually be approved. Because of this, the plugin never marks an order as paid purely from that initial response - the order stays at
Pending payment immediately after submission, and only Shopify's own order-creation webhook - which reports the charge's real, final status - moves it to
Processing. If that webhook is delayed or misconfigured, the plugin also emails the store admin so nothing is missed silently. Setting up the webhook (see Installation) is strongly recommended - without it, successful orders will not automatically progress past "Pending payment".
Note: because the order remains in WooCommerce's standard "Pending payment" status rather than "On hold", it is subject to your store's own "Hold stock (minutes)" setting (WooCommerce > Settings > Products > Inventory), which can automatically cancel pending orders - and release their reserved stock - after that time period. If your webhook is ever significantly delayed, a genuinely-paid order could be auto-cancelled before confirmation arrives; consider setting a generous hold-stock window if this matters for your store.
Requirements
Shop Pay Wallet requires a Shop Pay/Shopify account with Shopify Payments active, separate from your WooCommerce store - this plugin connects to it via Shopify's Storefront API. You'll need:
- A dedicated Shop Pay account with Shopify Payments approved for your business
- Your Shop ID, Client ID, myshopify.com handle, and a Storefront API access token (all obtained from your Shop Pay admin - see Shopify's Shop configuration guide)
- A webhook signing secret from Shopify admin - required for orders to automatically progress from "Pending payment" to "Processing" once payment is confirmed
- (Optional) a prefix for Shopify order names (e.g. "NZ"), so a WooCommerce order number and its corresponding Shopify order are easy to tell apart at a glance
Third-party service disclosure
This plugin loads Shop Pay's JavaScript SDK directly from Shopify's CDN (
cdn.shopify.com) on the cart and checkout pages, so the "Buy with Shop Pay" button can render - this happens as soon as either page loads, not only after a click. No cart, checkout, or customer data is sent to Shopify until a shopper actively opens the Shop Pay checkout; from that point on, the plugin sends cart and checkout data (product details, pricing, shipping selection, and - once payment is confirmed - the buyer's billing/shipping details) to Shopify's Storefront API in order to process the payment. See
Shopify's Privacy Policy and
Terms of Service for how Shopify handles this data. "Shop Pay" is a trademark of Shopify Inc.; this plugin is an independent, unofficial integration and is not produced, endorsed, or supported by Shopify.
Known limitations (v1)
- Supports a single shipping package per order (most WooCommerce stores). Orders that split into multiple shipping packages are not yet supported.
- Refunds and order capture are handled through your existing WooCommerce/Shop Pay admin workflows - this plugin does not yet automate refund sync between the two.
- Install and activate WooCommerce if you haven't already.
- Upload and activate this plugin.
- Set up a Shop Pay account and enable Shopify Payments for it, if you haven't already (see Shopify's Shop Pay documentation).
- Go to WooCommerce > Settings > Payments > Shop Pay Wallet and follow the step-by-step setup guide.
📖 For Complete Setup Instructions:
Visit the
Shop Pay Setup Guide for detailed step-by-step instructions with screenshots covering:
- Enabling Shop Pay in your Shopify admin
- Getting your Shop ID, Client ID, and Storefront API access token
- Configuring allowed origins (domains)
- Setting up webhooks
- Configuring WooCommerce settings
- Testing your integration
- Going live
-
Troubleshooting common issues
Quick Setup Summary:
-
Get Shop ID, Client ID, myshopify.com handle, and Storefront API access token from Shopify's Shop configuration guide
- Add your store's domain to Shop Pay's allowed origins in Shopify admin
- Create webhooks for "Order creation" and "Order payment" in Shopify admin (Settings > Notifications > Webhooks)
- Paste the webhook signing secret from Shopify into this plugin's settings
- Test using Shopify Payments' test mode before going live