All docs

Guides

Take payments with your own payment link

Take payments with your own payment provider. Paste a checkout link into your form, and Enform sends people there. No Stripe connection and no Enform fee, on Free and Pro.

A payment link question sends people to a checkout you already have: a Stripe Payment Link, a Razorpay page, PayPal.me, Lemon Squeezy, Gumroad, Paddle, Cashfree, or any https link. The payment happens on your provider's site, so the money goes straight to you.

Enform records that the link was opened and shows Payment link opened next to the response. You can also confirm payments, see Confirm payments.

Set one up

  1. Copy your checkout link

    Make a payment link in your provider. It has to start with https://. Links to Enform itself aren't accepted.

  2. Add the question

    Ask the builder, for example: take payment with this link, before they submit, and paste the link. The question shows up in your flow. Open it and choose its Payment link tab to change any setting later.

  3. Publish and try it

    Open your form, press the button and check your provider's page opens with the right price.

Choices you can make

Where they payscreen, ending or both
On a screen before they submit, on the ending page after they submit, or both so people can pay now or later.
Requiredon or off
When on, people have to open the link before they can submit.
Button texttext
For example Pay now. Up to 60 characters.
Price showntext
For example $25. Display only. Your provider sets the real price.
Open innew tab or same tab
Inside an embed it always opens a new tab, because checkouts can't load inside another page.

Data sent to your provider

Enform adds the response ID and, if you choose, the person's email and name from their answers. Each provider has its own parameter names, and Enform uses the right ones.

Stripe Payment Linksbuy.stripe.com
client_reference_id for the response ID, prefilled_email for the email, and utm_ tags.
Lemon Squeezylemonsqueezy.com
checkout[email], checkout[name] and checkout[custom][reference].
Razorpay, Gumroad, Paddle, Cashfree, other linksany
The response ID as ref, plus email and name where they make sense. Providers ignore what they don't use.
PayPal.me, Stripe Checkout sessionsno data
These links can't take extra data, so Enform opens them as they are.

Under Advanced: custom parameters you can add your own. A value can use {reference}, {email}, {name}, {answer:questionId}, {hidden:name} and {utm:utm_source}.

What Stripe receives
https://buy.stripe.com/abc123?client_reference_id=<response id>&prefilled_email=ada%40example.com

Confirm payments

You have two optional ways to see who actually paid. Neither needs an Enform account with your provider.

  1. Send people back to Enform

    In the question's Payment link tab, copy After payment, send people back to and set it as the redirect after payment in your provider, for example in a Stripe Payment Link under After payment. People who land there are marked Back from checkout (not verified). This isn't verified: it means they came back, not that your provider took the money.

  2. Verify with Stripe

    Open Settings then Payments. Copy the webhook address. In Stripe, add a webhook endpoint with that address for checkout.session.completed and checkout.session.async_payment_succeeded, then paste its signing secret back into Enform. Payments Stripe confirms show as Paid (verified by Stripe), with the amount. To make sure a response only counts when it paid for this link, fill in the question's Check Stripe payments against with its Stripe link ID (it starts with plink_) or its price.

The status shows in your responses, in CSV downloads and in webhooks and the REST API, under paymentLinks.

Ask Claude to add one

With the MCP server, tell Claude what you want in plain words, and it passes the instruction to the builder through edit_form. No separate tool is needed.

Example instruction
Add a payment link to my workshop form. Use https://buy.stripe.com/abc123, show it on the ending page, button text "Pay $25", prefill the email from the Email question.

What do you want to ask?

Start free

Free, no card needed.