Skip to content

Stripe payments

Stripe is AmazingForms’ primary payment gateway, supporting one-time charges and recurring subscriptions. Payments are collected via an embedded Stripe element — no redirect to an external checkout page.



  1. Go to AmazingForms → Settings → Payments → Stripe
  2. Click Connect with Stripe
  3. You’ll be redirected to Stripe’s OAuth authorisation screen — log in and authorise
  4. You’ll be returned to AmazingForms with Stripe connected

No API key copy-paste required. The OAuth connection is more secure than API keys and can be revoked from your Stripe dashboard at any time.


  1. Open your form in the editor and add a Payment field
  2. Set Payment type to One-time
  3. Choose Fixed amount or User-entered amount:
    • Fixed — enter the price and currency (e.g. £49.00 GBP)
    • User-entered — the submitter types an amount; optionally set a minimum
  4. Select Stripe as the gateway
  5. Save and preview the form

On submission, an embedded Stripe card element appears at the bottom of the form (or on the final page for multi-page forms). The user enters their card details, and payment is processed before the submission is finalised.


  1. Add a Payment field to your form
  2. Set Payment type to Recurring
  3. Select the billing interval: Monthly or Yearly
  4. Either:
    • Enter a fixed price (AmazingForms creates the Stripe Price object automatically)
    • Or select an existing Stripe Price object by ID (for prices you’ve already created in Stripe)
  5. Stripe Checkout handles the subscription signup — the user provides payment details and confirms

After a successful payment, AmazingForms triggers the configured workflow exactly as it does for a standard submission — but with payment data available as merge tags:

Merge tagValue
{payment_amount}Amount charged, formatted (e.g. £49.00)
{payment_currency}Currency code (e.g. GBP)
{payment_status}succeeded, failed, or pending
{payment_intent_id}Stripe PaymentIntent ID for your records
{stripe_customer_id}Stripe Customer ID (created automatically)

Use these in email templates, webhook payloads, and CRM notes.


Stripe handles retry logic for card failures automatically (3D Secure prompts, insufficient funds prompts, etc.) during checkout.

For subscription renewals, Stripe retries failed charges over several days (configurable in your Stripe Billing settings → Automatic collection). AmazingForms listens to Stripe’s webhook events and, on a payment failure, can:

  • Send you a Slack or email notification
  • Add a tag (e.g. payment-failed) to the contact
  • Log the event in the contact’s timeline

Configure this in your form’s Workflow tab — add a Condition branch on {payment_status} is failed.


Process refunds from your Stripe Dashboard → Payments → [Payment] → Refund. AmazingForms receives the refund event via webhook and logs it in the contact’s timeline automatically.

AmazingForms does not currently support issuing refunds from within the plugin UI.


Stripe test mode is fully supported in AmazingForms:

  1. Enable Test mode in Settings → Payments → Stripe
  2. Use Stripe test card numbers:
    • 4242 4242 4242 4242 — always succeeds
    • 4000 0000 0000 0002 — always declines
    • 4000 0025 0000 3155 — requires 3D Secure authentication
  3. Use any future expiry date and any 3-digit CVC

When test mode is enabled, a “TEST MODE” banner appears in the AmazingForms payment settings and in the embedded Stripe element, so you can’t accidentally run test checkouts in production.


Stripe’s standard processing fees apply. AmazingForms charges no additional payment processing fee.

Card typeStripe fee (UK)
UK/EU cards1.4% + 20p
International cards2.9% + 20p

See stripe.com/gb/pricing for current rates. Rates vary by country and may be negotiated for high-volume accounts.