Guides/How payments work

How payments work

RideLoop never asks you to handle card details directly. Every charge is collected on a Stripe-hosted Checkout page, on the operator's own Stripe account — money settles to them, not to RideLoop, which only takes its platform commission automatically. The flow is the same 3-step pattern you'll recognize from Stripe Checkout or PayPal Orders.

1

Create a booking with a payment option

POST /api/v1/bookings with paymentOption set to "DEPOSIT" or "FULL". The response includes a checkoutUrl. The booking itself starts as PENDING — it doesn’t move to CONFIRMED until step 3 completes.

2

Redirect your user there

It’s a real, Stripe-hosted Checkout page — send your end-user’s browser to checkoutUrl. RideLoop never sees or asks for their card details.

3

Confirm completion by polling

Poll GET /api/v1/bookings/{reference} until paymentStatus changes to PAID or PARTIALLY_PAID, and status flips to CONFIRMED.

Prefer not to poll? Register a webhook endpoint and RideLoop will push booking.confirmed and payment.received events to you the moment it happens instead.

Collecting an outstanding balance later

If a booking was created with paymentOption: "ENQUIRE" (or only a deposit was taken), use POST /api/v1/bookings/{reference}/payment-links to generate a fresh Checkout link for whatever’s still owed — RideLoop emails it to the guest, and returns the URL so you can share it yourself too. This needs the separate payments:write scope — see Authentication & scopes.