Legal Center
Payment Feature Notice
How the payment field works
Kaptly's payment field is a "bring-your-own payment link": the form owner pastes a payment link they already own on their own provider (for example a Stripe Payment Link, a PayPal.me link, or a Gumroad product page), and Kaptly renders it as a button on the form. When a respondent clicks it, they're taken to that external site, in a new tab, to complete payment there. Submitting the Kaptly form and completing the payment are two separate steps — a respondent can finish and submit the form without ever clicking the button, or without finishing the payment after clicking it.
Kaptly never sees the payment, on purpose
Kaptly does not create a checkout session, does not hold funds, and is never the merchant of record for any payment made through this field — the transaction happens entirely on the form owner's own provider. There is also no automatic payment-status tracking: Kaptly does not poll for a return, does not receive a webhook from the payment provider, and does not mark a response as "paid." Do not treat any amount shown on a form, or any response in Kaptly's results table, as proof that a respondent has paid. Verify every transaction directly in your own payment provider's dashboard.
A form owner may mark a payment field as required. When they do, the respondent must open the payment link and tick a box confirming they completed the payment before the form can be submitted, and the response is labelled "payment claimed" in the results table. That label records only what the respondent said about themselves — Kaptly still does not contact the payment provider and still verifies nothing. Treat it as a claim, never as confirmation, and verify it the same way as any other response.
Why it works this way
An earlier version of this field created a Stripe Checkout session directly and tried to confirm payment when the respondent's browser returned to the form afterward. That approach had no fallback for a respondent who closed the tab right after paying, and separately relied on a live Stripe account that was never actually connected in production — so the checkout step could silently fail while the form still accepted the response as if nothing were wrong. Both problems came from Kaptly trying to track payment status itself. The current field avoids that entirely: it never asks the provider anything. The only status it can record is the respondent’s own confirmation on a required payment field, which is a statement by them rather than a reading taken from the provider — you still verify payment with your own provider, the same way you would for a payment link shared anywhere else.
If you had an older payment field on a form
Forms built before this change may still have amount/currency values configured from the old model — those now display as reference information only. Open the field in the builder and add a payment link to make it live again, or remove the field if you no longer need it.
Questions about a specific payment
If a respondent paid through a Kaptly-powered form and there's a dispute, a refund request, or anything didn't arrive as expected, contact the form owner directly and/or the payment provider the link belongs to — Kaptly does not fulfill orders, hold funds, or resolve payment disputes on a form owner's behalf.