Payment field
A Payment field makes visitors pay before their message is sent, with Stripe or PayPal. When both are set up, visitors pick one. It is in the More menu.
[[payment]]
[[submit]]
Set up the providers
Set up one or both in Contact Form → Settings → Payments. A field offers only the providers set up there.
Stripe
- In your Stripe dashboard, under API keys, copy the publishable key and the secret key.
- Paste them in Contact Form → Settings → Payments → Stripe and save.
- Test keys (they start with pk_test_) take Stripe’s test cards only. Switch to the live keys when you’re ready.
PayPal
- In the PayPal developer dashboard, make an app and copy its client ID and secret.
- Paste them in Contact Form → Settings → Payments → PayPal and save.
- Payments is Live by default. Sandbox (test) takes the keys of a sandbox app and PayPal’s test accounts.
Settings
| Setting | What it does |
|---|---|
| Amount | Such as 20 or 19.99. Leave it empty to take the amount from a field. |
| Amount from | A field whose value is the amount: a Number, or a Select or Radio whose values are prices. The last number in a value counts, so basic-20 is 20. Ticked Checkboxes add up. |
| Currency | USD by default. A provider that doesn’t take it isn’t offered. |
| Pay with | The providers visitors pick from. Empty: every one set up in Settings → Payments. |
| Description | What the payment is for, on the receipt and in your Stripe dashboard or PayPal account. Empty: the form’s title. |
| Pay button | The button under Stripe’s card fields. {amount} is replaced with the amount. Pay {amount} by default. PayPal shows its own buttons. |
What visitors see
- They fill in the form and press Send. The form checks the fields first.
- The payment box opens with the amount, and the other fields wait. With more than one provider, they pick one first: Stripe shows its card fields, PayPal its buttons.
- They pay, and the message is sent. Change my details closes the box so they can fix the form.
An amount of 0 sends the message without a payment. The first Email field in the form gets Stripe’s receipt. Once paid, the message skips the captchas, so visitors don’t solve one twice.
In the mail
[payment] prints the payment, such as 20.00 USD paid with Stripe (pi_3Q…), so you can find it in your dashboard.
Messages
| Message | Default text |
|---|---|
| Payment needed | Please pay {amount} to send your message. |
| Payment didn’t go through | The payment didn’t go through, so your message wasn’t sent. Please try again. |
Change it for one form in its Messages tab, or for every form in Settings → Messages.
Was this article helpful?
Thanks for your feedback!