The Happy Path
This guide walks through the complete happy path of billing a customer with Recurso. By the end, you will have created a plan, added a customer, started a subscription, and collected payment — with webhooks firing at each stage.Step 1: Create a Plan
Define what you are selling and how much it costs.id — you will use it in step 3.
For pricing model options (flat rate, per-seat, tiered, usage-based), see the Plans guide.
Step 2: Create a Customer
Add the person or company who will be billed.id for the next step.
Step 3: Create a Subscription
Connect the customer to the plan. This starts the billing relationship.GET /v1/invoices?subscription_id=...)
and send the customer to the hosted checkout page —
https://api.recurso.dev/checkout/{invoice_id} — where Recurso picks the
gateway from the invoice currency. (With a saved UPI mandate
or card on file, collection is automatic instead.) After payment succeeds,
Recurso fires these webhooks:
Webhook: subscription.created
Webhook: payment.succeeded
Grant access to your product when you receive
subscription.created. See the Webhooks guide for signature verification.Step 4: Invoice Auto-Generated
At the end of each billing period, Recurso automatically generates the next invoice. No API call is needed from your side.Webhook: invoice.created
Step 5: Payment Collected
Recurso charges the customer’s saved payment method automatically. On success:Webhook: invoice.paid
Webhook: invoice.payment_failed
Step 6: Subscription Renews
After payment succeeds, the subscription period advances automatically:current_period_startmoves to the start of the new periodcurrent_period_endmoves forward by one billing interval- A new invoice is generated at the next period end