Taking payments
Accept card payments and subscriptions without building a checkout yourself.
Payments are one of the few things worth getting exactly right the first time. The good news: you do not need to touch card details at all.
What you need before you start
- An account with a payment provider, such as Stripe.
- A clear description of what is being sold: one-off or recurring, and in which currency.
- A decision about what happens after payment: which screen, which email, which record changes.
Connecting a provider
Ask in the chat to connect your payment provider and follow the steps it gives you. You will usually authorise the connection once. With a hosted checkout, card data travels directly between your customer and the provider and never passes through your app.
Asking for a checkout
Be specific about the product and the outcome:
Add a checkout for the monthly plan at £15. After payment,
mark the member as active, send them a welcome email,
and show a confirmation page with what happens next.Subscriptions and one-off payments
Subscriptions need a way to manage them: update a card, cancel, and see the next payment date. Ask for a billing area for members so they can do that themselves, and keep the provider's own portal as a fallback.
Handling the awkward cases
Decide what happens when:
- A payment succeeds but the browser closes before the confirmation screen.
- A subscription payment fails next month.
- Someone asks for a refund.
The first is handled by listening to the provider rather than the browser. The second needs an email and a grace period. The third is usually done in the provider's dashboard.
Never ask users to send card details by email or chat. If you are ever unsure whether a flow is a real checkout, ask before publishing.
Test before you go live
Use the provider's test mode and test card numbers until the whole journey works, including the confirmation email. Then switch to live and make one real, small payment to check it end to end.
Was this page helpful?

