Skip to content
ripper docs Open the console

API reference

These are the routes your own server calls. The routes the checkout calls from the shopper's browser are in Routes the checkout calls for you.

To take your first payment from a server, start with the Server API panel of the Quickstart — it creates a session with the same route documented here, and hands it to the browser.

Authentication. Your secret key in X-Ripper-Api-Key, from an environment variable, server-side only. Never put a secret key in a page, an app or a repository. The Stripe-compatible routes take the same key as a bearer token instead, because that is what a Stripe client sends.

Idempotency. Every write takes Rip-Idempotency-Key. Use a new key for each logical create. After a refusal a new key is always safe, because the refused request created nothing. After a timeout it is the opposite: reuse the same key, because that request may have created a session and the key is what gives it back. A corrected body is a different request and needs its own key. idempotency_key_reused covers two situations — a key already used for a different request, and a key whose first request is still running — so do not branch on the code alone.

Shapes. Wire JSON is snake_case throughout, enums are strings, and nulls are written rather than omitted, so a field you can read once you can always read. The SDK is camelCase; that difference is deliberate and stated once here.

The document itself is published at /openapi.json and its source is docs/api/openapi.yaml. Everything below, and every page in this section, is generated from it.

group route what it does operation id
Checkout sessions POST /v1/checkout/sessions Create a checkout session createCheckoutSession
Checkout sessions GET /v1/checkout/sessions/{session_id} Retrieve a checkout session getCheckoutSession
Payments GET /v1/payments/{payment_id} Retrieve a payment getPayment
Stripe compatibility POST /v1/compat/stripe/payment_intents Create a PaymentIntent (Stripe-compatible) createStripePaymentIntent
Stripe compatibility GET /v1/compat/stripe/payment_intents/{session_id} Retrieve a PaymentIntent (Stripe-compatible) getStripePaymentIntent
Webhook deliveries GET /v1/webhooks/deliveries List webhook deliveries listWebhookDeliveries
Webhook deliveries POST /v1/webhooks/deliveries/{delivery_id}/replay Replay a webhook delivery replayWebhookDelivery
Webhook endpoints POST /v1/webhooks/endpoints Create a webhook endpoint createWebhookEndpoint
Webhook endpoints DELETE /v1/webhooks/endpoints/{endpoint_id} Delete a webhook endpoint deleteWebhookEndpoint
Webhook endpoints GET /v1/webhooks/endpoints List webhook endpoints listWebhookEndpoints