Selling memberships

RedeemID sells nothing itself. Checkout is Shopify’s, and access starts only when Shopify tags the customer. These pieces get a visitor from a WordPress page to that checkout, signed in where possible, and back again.

Plan cards

Add Shopify Plan Card (redeemid/plan-card) and pick a product; the sidebar searches your Shopify catalog by title. The card shows the product’s live price, cached for five minutes, and a button that goes straight to Shopify checkout. Put plan cards on the join page and in a gate’s fallback.

  • Subscriptions. A product with selling plans (Shopify Subscriptions, Recharge, Appstle and others) shows the plan’s price and name, such as “Billed yearly”. Put a selling plan ID in the block to sell on that plan. A subscription-only product sells on its first plan.
  • Prices by country. Return an ISO country code from the redeemid_context_country filter, for example from your CDN’s country header, and plan cards and checkout use that country’s price through Shopify Markets. The page cache must then vary on that header.

Plan cards need a Storefront token, and the product must be published to the Headless channel that issued it. See Connect Shopify.

Buy-now

Buy-now is a plain form that posts to admin-post.php, so it works without JavaScript. The server creates a one-line cart, attaches the visitor’s identity if they’re signed in with Shopify, and redirects to a fresh checkout. If Shopify refuses the customer token, it falls back to a guest checkout rather than block the purchase.

The card carries no personal data and no nonce, so it is safe in a cached page. Buy-now is limited to 10 attempts per IP per minute. Behind a proxy or CDN, use the redeemid_buyer_ip filter to return the visitor’s IP from a header your proxy sets.

After checkout

For a signed-in customer, RedeemID re-reads their tags at most once a minute for 30 minutes while Shopify Flow tags them. It shows a “finishing up” banner, then “Your membership is ready” once. The redeemid_checkout_banner filter turns the banner off.

Link Shopify’s order status page and confirmation email to the return link shown under RedeemID → Settings (/?redeemid_return=1). It takes the customer back to the page they bought from, or asks a guest to sign in with the email from their order.

Checkout from Shopify’s own cart

Shopify’s WordPress plugin has its own cart, and RedeemID never touches it. When both plugins serve the same store and a Storefront token is set, RedeemID attaches a signed-in customer to that cart on the server, so its checkout also opens signed in. The customer token never reaches the browser.

This bridge relies on a cart ID Shopify’s plugin stores but doesn’t document. If that changes, the cart keeps working as a guest cart, and Debug shows the last failure. A visitor who reaches checkout within a second or two of adding to the cart may get there before the attach finishes. See Working with Shopify’s WordPress plugin for the rest.

What a sale does not do

A purchase on its own opens nothing. Access arrives when Shopify adds the customer’s tag, through Flow or a membership app (see Tagging customers with Shopify Flow), and the tag reaches WordPress. RedeemID doesn’t read orders or act on refunds.

RedeemID is still being built

RedeemID is a WordPress plugin that lets customers sign in with their Shopify account and opens your site to what that account holds. It is in early development, so parts of this site are unfinished and details will change.

It is coming soon. We are looking for sponsors and for the first stores and publishers to use it.

For more information, email vinny@vinnysgreen.com.

Get in touch