Connect Stripe for card payments

Take card and bank payments from the client's quote and order links; each payment lands on the order by itself.

WhereSettings›System›Connections›Services›Payments›Stripe

Stripe takes the card or bank payment when a client presses Pay on their quote or order link. The money goes to your bank account, and the system records the payment on the order the moment Stripe confirms it.

Steps

  1. Make your Stripe account and leave it in test mode for now. The Stripe setup guide shows each click.
  2. In Stripe, Developers, API keys, copy the secret key (it starts with sk_test_).
  3. Open Settings, System, Connections, Services and the Stripe card. Paste it in Secret key and save.
  4. Press Test the key. It should say Stripe accepted the key, in test mode.
  5. In Stripe, Developers, Webhooks, add an endpoint: your system's own address followed by /functions/v1/stripe-webhook, with the events checkout.session.completed and checkout.session.async_payment_succeeded.
  6. Copy the endpoint's signing secret (it starts with whsec_) into Webhook signing secret and save.
  7. Rehearse: sign a quote made out to yourself, open the client link, press Pay and use the test card 4242 4242 4242 4242. The payment shows on the order within seconds.
  8. When Stripe has activated your account, repeat steps 2 to 6 in live mode (sk_live_ and the live endpoint's own secret). Test the key now says live mode.

Good to know

If something goes wrong

  • The client paid but the order shows nothing. The webhook is missing or its signing secret is wrong. Check the endpoint address, the two events, and that the secret is from the same mode (test or live) as the key.
  • Test the key fails. The key was copied short, or it is a publishable key (pk_). Use the secret key.
  • Stripe holds the first payout. Stripe may ask for identity documents first. That is between you and Stripe.
Still stuck? Tell us what you pressed and what you saw. A person reads every message.
Contact support