WooCommerce Checkout plugin

WordPress plugin that connects WooCommerce to LicenseChain Pay using Mirror Payload strict mode. Customers pay on Pay; on success they return to your store and the order is completed with the license key stored on the order.

Requirements: WordPress 5.8+, WooCommerce 5.0+ (HPOS and Cart & Checkout Blocks supported), PHP 7.4+ with OpenSSL AES-256-GCM. Obtain the plugin zip from LicenseChain (Dashboard / support) and install like any WordPress plugin.

What the plugin does

  • Adds a WooCommerce payment method (LicenseChain Pay) that redirects to https://pay.licensechain.app/checkout/{'{'}productId{'}'}?payload=....
  • After payment, verifies the signed return URL, calls POST /api/checkout/mirror/validate with license + email, marks the order Completed, and stores _licensechain_pay_license.
  • Works with classic checkout and Cart & Checkout Blocks.
  • With WooCommerce Subscriptions or Subscriptions For WooCommerce, renewals charge via Pay’s subscription charge API.

Install

  1. Upload the plugin folder to wp-content/plugins/ or install via zip in Plugins → Add New → Upload Plugin.
  2. Activate LicenseChain Checkout (WooCommerce must be active first).
  3. Open WooCommerce → LicenseChain Pay (or LicenseChain Checkout) and configure products (next section).
  4. Enable the gateway under WooCommerce → Settings → Payments.

Configuration

  • Pay base URLhttps://pay.licensechain.app for production.
  • WooCommerce product ID (optional) — numeric WC product or variation ID when you sell multiple plans; one table row per plan.
  • Pay product ID — from Dashboard → Seller → Products.
  • Callback secret — that product’s secret (server-side only; must match Pay or signature verification fails).
  • Fallback for subscriptions — row used when cart lines do not match a mapped WC product ID.

Align WooCommerce price and billing interval with the Pay/Dashboard product to avoid customer confusion. Membership plugins can grant access after purchase as usual; this gateway only completes payment and stores the license key.

Checkout flow

  1. Customer selects LicenseChain Pay at checkout (billing email required).
  2. Plugin creates a pending order and redirects to Pay with a Mirror payload.
  3. Customer pays on Pay (card form embedded; other methods may redirect).
  4. Pay returns with licensechain_pay_return=1, status, LCG, signature.
  5. Plugin verifies signature, validates with Pay, completes the order on verified: true.

Blocks, Elementor, and cache

  • Cart & Checkout Blocks and classic [woocommerce_checkout] are supported.
  • Elementor: use a Checkout widget/page that delegates to WooCommerce checkout — custom forms that never call Woo gateways will not show LicenseChain Pay.
  • Full-page cache (e.g. LiteSpeed): exclude Cart, Checkout, and My Account while testing; do not cache URLs containing licensechain_pay_return.
  • Allow outbound HTTPS to pay.licensechain.app for validate and subscription charge requests.

WooCommerce Subscriptions

Supports WooCommerce Subscriptions and Subscriptions For WooCommerce:

Subscription cancellation: Customer-initiated cancellation from My Account is not supported yet. Cancel in the Dashboard / payment partner dashboard, or via Core API POST /v1/subscriptions/:id/cancel when available — see API Reference.

Order meta keys

  • _licensechain_pay_license — license key (LCG) after successful payment
  • _licensechain_pay_statussuccessful when completed
  • _licensechain_pay_token — Mirror payload TOKEN

Security

  • Store the callback secret only in WordPress admin settings — never in theme or block JavaScript.
  • Verify redirect signature before calling the validate API (fail closed).
  • Use HTTPS for return URLs.

Related