Stripe
Until then, sell through Stripe and issue licences from your own backend, which already hears from Stripe when someone pays. The Admin API works with any payment provider.
Issue from your Stripe webhook handler
Section titled “Issue from your Stripe webhook handler”- In the Console, an owner creates an admin API key with the scopes
licences:readandlicences:write. Keep it in your server’s secrets, never in your app. - When Stripe tells your server that a checkout was paid, call
POST /v1/admin/licencesfor the customer’s email and your product. - Make every retry the same request: send a licence
idyou chose and stored with the order, so a repeat answers409 conflictinstead of issuing a second licence, and your order id asexternal_refto find the licence later. - On a refund or a cancelled subscription, revoke or expire the licence through the Admin API.
Polar is the payment provider Sealcord connects to today: see Polar. The API reference lists each route’s body and answers.