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
- 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. - (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
- Go to SpicePay → Settings and click Connect to SpicePay.
- 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.
- 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
- 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). - The customer pays inside the SpicePay-hosted checkout at
https://checkout.spicepay.net/pay/{merchant_id}/{payment_id}. - SpicePay sends a signed webhook to
https://your-site.example/wp-json/spicepay/v1/webhook. The plugin verifies theX-Webhook-Signature-512HMAC 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.