Changelog
Format: Added, Changed, Fixed, Security, Deprecated, Removed. Breaking changes are marked.
2026-09-26#
Added#
X-Request-Idheader on API responses, andcodeandrequest_idfields on error bodies. The existingerrorfield is unchanged. See Errors.Idempotency-Keyheader onPOST /payouts. A repeat returns the original payout withidempotentReplay: true. See Idempotency.POST /account/verificationis now in the OpenAPI specification.- The OpenAPI specification is checked against the implementation on every change, so an endpoint cannot be added or removed without the specification changing.
- Developer portal rebuilt: quickstart, guides, webhooks, errors, changelog and a searchable reference.
Changed#
- Potentially breaking.
POST /payoutswithdestinationType: provider_banknow pays only to your saved settlement account.bankDetailsis optional; if sent, it must match that account or the request fails with403. Integrations that sent a different bank account each time must change the saved account in the dashboard instead. - Amounts are bounded: payout and payment link amounts from
0.01to100,000,000(major units), QR code amounts up to10,000,000,000(minor units). Values outside these ranges return400. - Payouts and refunds in a currency with no configured approval threshold now always require a second approver.
- Refund failures return
400,404or409for rule violations and502for provider failures, with a fixed message instead of provider text. - Webhook endpoint URLs must be public
https://addresses. Redirects are treated as delivery failures. 429responses carrycodeandrequest_id.
Fixed#
- The OpenAPI specification listed the refund
amountas major units. It is an integer in minor units, as the endpoint has always behaved. - Responses no longer include database error messages.
- Two simultaneous refunds of the same payment can no longer both succeed.
Security#
- Role checks are now enforced in the database as well as the API, so a team member without the right role cannot create API keys or webhooks by any route.
- Incoming payment confirmations are checked against the amount and currency recorded when the payment was created.
- Sensitive changes (payouts, settlement details, team access) are recorded in an audit log.
Removed#
- The System Documentation page and the Postman collections for non-merchant products are no longer published. They described internal systems, not the public API.
1.0.0#
Initial public version of the Merchant API: payment links, QR codes, payments, refunds, payouts, split recipients, settlements, webhooks and account verification.