Creates a payment for a one-time product (frequencyInDays is null).
Returns a checkout URL to redirect your customer to.
For custom price products (isCustomPrice: true), provide priceCents and currency.
Subscription products? Use
POST /api/subscription/createinstead.
Documentation Index
Fetch the complete documentation index at: https://documentation.suby.fi/llms.txt
Use this file to discover all available pages before exploring further.
API key authentication
ID of a one-time product
"pro_abc123"
Customer email. A user account is created automatically if it doesn't exist.
"customer@example.com"
Customer first name. Used to prefill checkout fields.
100"John"
Customer last name. Used to prefill checkout fields.
100"Doe"
Price in cents as a string.
Required when the product has isCustomPrice: true. Must NOT be provided for fixed-price products.
"2500"
Currency for the price. Required when priceCents is provided, ignored otherwise.
USD, EUR "USD"
Your internal reference (order ID, invoice number, etc.)
255"order_789"
Custom key-value pairs. Returned in webhooks.
Extra fields shown on the checkout page to collect information from the customer
(e.g. Discord username, referral source, terms acceptance).
Customer responses are returned in the context.customFieldsResponse object of
every payment webhook.
Maximum 10 fields per payment. For subscriptions, fields are collected on the
initial checkout only — renewals do not re-prompt the customer, and their webhooks
will have customFields and customFieldsResponse set to null.
10Redirect URL after successful payment
"https://your-app.com/success"
Redirect URL if customer cancels
"https://your-app.com/cancel"