Stripe
ProTake a payment as part of a form submission, with the amount decided by the answers.
One licence covers every Pro plugin
Form entry
Stripe
Payment
- Version
- 1.0.0
- WordPress
- 6.5+
- PHP
- 8.0+
- Tested up to
- 7.1
- Licence
- GPLv3
What it does
Amounts that follow the answers
A quantity field, a set of options with prices, a donation box — the charge is calculated on the server from what was actually submitted, never from a number the browser sent.
Test mode beside live mode
Both key pairs are stored, and one switch decides which is in use, so a staging site and production can run from the same configuration.
Fraud checks and signed webhooks
Stripe Radar decides on the payment, and the webhook that confirms it is verified against your signing secret before the entry is marked paid.
Getting it working
-
01
Add your Stripe keys
Paste the test and live key pairs into the xpac settings screen, then set the live mode switch to match the environment.
-
02
Add the webhook
Point a Stripe webhook at your site and paste the signing secret back into the settings, so payment outcomes reach the entry.
-
03
Price the form
Add the Stripe delivery, choose the currency, and describe how the amount is built from the form’s fields.
Every setting
What you can configure, and where it lives. Site settings apply everywhere; the rest are set on the form itself.
| Setting | Scope | Notes |
|---|---|---|
| Live mode | Site setting | Which key pair is in use. |
| Live publishable key | Site setting | Safe to reach the browser. |
| Live secret key | Site setting | Write-only. Server side only. |
| Test publishable key | Site setting | Used while live mode is off. |
| Test secret key | Site setting | Write-only. |
| Webhook signing secret | Site setting | Every webhook is verified against it. |
| Currency | Per delivery | Charged in this currency. |
| Fraud detection | Site setting | Hands the decision to Stripe Radar. |
Questions
Can the visitor change the price?
No. The amount is recalculated on the server from the submitted answers, so editing the page cannot change what is charged.
Do card details touch my server?
No. Card entry happens in Stripe’s own elements and your server only ever sees the resulting payment intent.
What happens if the payment fails?
The entry is kept and marked unpaid with Stripe’s reason attached, so you can follow up rather than lose the enquiry.
Does it handle subscriptions?
This delivery takes one-off payments. Recurring billing belongs in Stripe Billing, driven by the customer it creates.
Elsewhere in the pack
Start using Stripe
One licence covers every Pro plugin