Re is out: see what's new Lifetime updates on every purchase Support replies within 24 hours Secure checkout via Gumroad 8,500+ sales since 2016

Payment field

Updated 3 min read 12 views

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

  1. In your Stripe dashboard, under API keys, copy the publishable key and the secret key.
  2. Paste them in Contact Form → Settings → Payments → Stripe and save.
  3. Test keys (they start with pk_test_) take Stripe’s test cards only. Switch to the live keys when you’re ready.

PayPal

  1. In the PayPal developer dashboard, make an app and copy its client ID and secret.
  2. Paste them in Contact Form → Settings → Payments → PayPal and save.
  3. Payments is Live by default. Sandbox (test) takes the keys of a sandbox app and PayPal’s test accounts.

Settings

SettingWhat it does
AmountSuch as 20 or 19.99. Leave it empty to take the amount from a field.
Amount fromA 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.
CurrencyUSD by default. A provider that doesn’t take it isn’t offered.
Pay withThe providers visitors pick from. Empty: every one set up in Settings → Payments.
DescriptionWhat the payment is for, on the receipt and in your Stripe dashboard or PayPal account. Empty: the form’s title.
Pay buttonThe button under Stripe’s card fields. {amount} is replaced with the amount. Pay {amount} by default. PayPal shows its own buttons.

What visitors see

  1. They fill in the form and press Send. The form checks the fields first.
  2. 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.
  3. 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

MessageDefault text
Payment neededPlease pay {amount} to send your message.
Payment didn’t go throughThe 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?