WooCommerce plugin
Drop a PHP file into your WordPress site. Checkout customers see "Pay with crypto (Soren Pay)" alongside Stripe, PayPal, etc.
Install
- Download
sorenpay-woocommerce.phpfrom our GitHub - WordPress admin → Plugins → Add new → Upload plugin → select the file
- Activate
- WooCommerce → Settings → Payments → Soren Pay
- Tick "Enable Soren Pay" → paste your
apk_…key from Developers → API keys - (Recommended) Configure the outbound webhook (next section)
Webhook configuration
In the Soren Pay plugin settings, the Webhook URL is shown. Copy it.
Then:
- Soren Pay dashboard → Developers → Outbound webhooks
- Add endpoint, paste the WC webhook URL
- Subscribe to
checkout.session.completed - Copy the generated signing secret
- Paste it back into the WC plugin's "Webhook signing secret" field
The plugin verifies HMAC signatures on every webhook before marking orders paid.
How it works
| Step | Where |
|---|---|
| Customer hits Checkout | WooCommerce |
| Picks "Soren Pay" payment method | WC checkout page |
| process_payment() calls POST /api/v1/checkout/sessions with the order total + merchantReference: wc-order-<id> | WC plugin |
| Customer redirected to hosted Soren Pay page | sorenpay.com |
| Customer picks asset/chain, pays from wallet | sorenpay.com |
| On-chain confirmation → checkout.session.completed webhook | sorenpay.com → your WC store |
| handle_webhook() marks the order paid | WC plugin |
Requirements
- WordPress + WooCommerce ≥ 7.0
- PHP ≥ 8.0
- A Soren Pay workspace +
apk_key
Test mode
Use a sandbox apk_ key (SOREN_MODE=sandbox). On the hosted page, click
"Simulate payment" to drive the FSM to completed without a real chain.
Source
The plugin is open-source under Apache-2.0: github.com/Soren-Pay/sorenpay → apps/woocommerce-plugin
Coming next
Refunds via the WC admin will fire POST /api/v1/checkout/sessions/[id]/refund
(planned for E.3) — currently you'd issue the refund manually through your bank.