Customers pay on Stripe's secure checkout page. Your site never handles card details, and orders are marked paid when Stripe confirms.
1
Cart
The customer adds products and opens the cart.
2
Checkout page
They review the order summary and fill in billing and shipping details, when you have those turned on.
3
Stripe
They are sent to Stripe's hosted checkout to pay by card.
4
Back to your site
Stripe returns them to an order status page on your site.
The payment itself happens on Stripe, so card numbers never pass through your site.
Stripe is connected from your project's admin panel. Go to System Configuration, then Common variables, and fill in the Stripe (live) card.
1
Add your keys
Copy the publishable key and the secret key from your Stripe dashboard into Live publishable key and Live secret key.
2
Create a webhook in Stripe
Point it at your project's backend address followed by /system/functionality/stripeWebhook, and choose the events listed below.
3
Add the signing secret
Copy the webhook's signing secret into Live webhook secret.
4
Save
Click Update Configuration. The keys are used within a minute, with no redeploy. Saved secrets show as asterisks and are never shown again.
Shop orders
checkout.session.completed, payment_intent.succeeded, payment_intent.payment_failed
Subscriptions
invoice.paid, invoice.payment_succeeded, invoice.payment_failed, customer.subscription.created, customer.subscription.updated, customer.subscription.deleted
Go to Shop, then Shop Configuration, open Checkout Providers, turn on Stripe and click Save Checkout Providers Settings.
The Mercado Pago and PayPal switches appear on the same tab, but only Stripe processes payments today. A customer who picks another provider cannot finish paying, so leave those off.
Stripe tells your site about each payment through the webhook you set up.
When Stripe confirms the payment, the order's Payment Status becomes paid, its status becomes Processing and Paid At is recorded.
If the payment fails, the order is marked Failed.
Administrators chosen in Notify Admins get an email about the paid order.
Tags chosen under Tags on Order Paid in User Tracking are given to the customer.
Totals are always worked out again on the server before the customer is sent to Stripe. Checkout stops if a price changed after it went into the cart, if a product is no longer published and active, or if the cart asks for more units than a tracked product has.
Shop orders are paid in your live Stripe account. A signed-in customer you switched to Stripe test mode pays in your test account instead, with a test card, and nothing is charged. Their orders show a Test badge in Orders.