Online payments
Shop owners pay for their plan at Settings → Subscription & billing. Each gateway needs its keys and a webhook pointing to your installation:
| Gateway | Webhook URL | Events |
|---|---|---|
| Stripe | https://YOUR-DOMAIN/api/v1/billing/webhooks/stripe | checkout.session.completed, checkout.session.async_payment_succeeded, checkout.session.async_payment_failed, checkout.session.expired |
| PayPal | https://YOUR-DOMAIN/api/v1/billing/webhooks/paypal | CHECKOUT.ORDER.APPROVED, PAYMENT.CAPTURE.COMPLETED |
| Razorpay | https://YOUR-DOMAIN/api/v1/billing/webhooks/razorpay | payment_link.paid, payment_link.expired, payment_link.cancelled |
Start in test mode, make one test payment per gateway, then switch to live keys. PayPal does not accept every currency (for example SAR, AED, INR): use Stripe or Razorpay for those.
Last updated 10 Oct 2026