Every endpoint your server uses, with the key it needs. All requests send Authorization: Bearer sk_test_… or sk_live_…, and only see data from that key’s mode. Field details are on Pay by link.

Payments (read)

Hosted checkout and S2S create payment attempts. Use these endpoints to list and inspect them in your integration or the merchant portal — there is no public create/confirm API.
Card details are entered on hosted checkout or via server-to-server. Create payment links with POST /v1/payment_links.

Server-to-server

Card data from your server only. See Server-to-server.

Charges and refunds

A charge (ch_…) is created when a payment is captured. It holds the card brand, last 4 digits, platform_fee and net_amount.
Leave out amount to refund the remaining balance. Several partial refunds are allowed until they add up to the charge amount; the charge status becomes refunded when it is fully refunded. Each refund sends charge.refunded.

Webhooks

Register and manage endpoints in the merchant portal under Integrations — there is no public API to create or update webhook URLs. See Webhooks for the payload, signature check, and delivery rules. Resend a failed delivery with POST /v1/charges/:id/resend_webhook or POST /v1/payment_links/:id/resend_webhook, and inspect attempts with GET /v1/payments/:id/webhook_deliveries.

Pagination

GET /v1/payments takes page (from 1), page_size (1–100, default 20), status and a search term q. It returns:

Errors

Errors use standard HTTP status codes and a JSON body with a message: