SpicePay

WordPress

Accept payments on WordPress with the official SpicePay plugin — no code required.

The official SpicePay plugin turns any WordPress site into a store. You manage products, orders, and refunds from the WordPress admin, and checkout is handled by an embedded hosted-checkout iframe (or a full-page redirect). Card data is entered on the hosted checkout and never reaches your WordPress server or database.

It's a self-contained plugin — it brings its own product catalog and works with any theme, so you don't need any other e-commerce plugin.

Download

The SpicePay plugin isn't on the WordPress.org plugin directory — download it here and install it manually.

Package Version Download
SpicePay plugin (required) 1.0.0 spicepay.zip
SpicePay Shop theme (optional) 0.2.0 spicepay-shop.zip

The plugin works with any theme. The optional SpicePay Shop theme is a ready-made, fully customizable storefront design that pairs with it.

Install

  1. In your WordPress admin, go to Plugins → Add New → Upload Plugin, choose spicepay.zip, and click Install Now, then Activate. A SpicePay menu appears in the admin sidebar.
  2. (Optional) To use the storefront theme, go to Appearance → Themes → Add New → Upload Theme, choose spicepay-shop.zip, install, and activate it.

Requirements: WordPress 6.0+ and PHP 7.4+. A SpicePay merchant account is required — the plugin is the open-source integration; the payment service it connects to is SpicePay's hosted platform.

Connect your account

  1. Go to SpicePay → Settings and click Connect to SpicePay.
  2. A secure popup opens the Control Center and, after you approve, provisions the plugin's API key and webhook secret automatically — you don't copy or paste any keys.
  3. Pick your environment and default currency.

Add products and checkout

Add your products under SpicePay → Products (and optional categories), then place the store on your pages with the plugin's shortcodes — [spicepay_products], [spicepay_product], [spicepay_categories], [spicepay_cart], [spicepay_checkout], and [spicepay_complete]. Under SpicePay → Settings you choose how the cart checks out:

  • Embedded — the hosted checkout is framed inside your store page.
  • External — the customer is redirected to the hosted checkout and back.
  • Both — offer the customer either.

How it works

  1. On checkout, the plugin creates the order server-side and calls POST /payments, pricing line items against your SpicePay product catalog in WordPress (never trusting client-side prices).
  2. The customer pays inside the SpicePay-hosted checkout at https://checkout.spicepay.net/pay/{merchant_id}/{payment_id}.
  3. SpicePay sends a signed webhook to https://your-site.example/wp-json/spicepay/v1/webhook. The plugin verifies the X-Webhook-Signature-512 HMAC before updating the order — the webhook, not the browser redirect, is the source of truth for order status.

Refunds (full and partial) are issued from SpicePay → Orders and pushed to the connector, reconciled by a background job.

Related

  • Payments — the checkout the plugin embeds
  • Webhooks — the events that drive order status
  • Dashboard — manage connectors, branding, and orders