Create payment (platform-internal)

Platform-internal twin of POST /internal/payments: identical
handler and contract, authorized via AWS IAM (SigV4) for callers
inside the platform — used by the fulfillment reorder flow to
charge a date-change price difference. External integrators use
POST /internal/payments.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Body Params

Creates a PSP payment session. Called internally by the checkout service.

All monetary fields in the request — amount, every line's
effective_unit_price, booking_costs, and visit_guarantee — MUST use
the same currency as amount. Split allocation reconciles and distributes
raw amounts within a single currency; a mixed-currency request is rejected
(the split is skipped and the full amount stays in the platform wallet).

amount
object
required

A monetary amount with currency.

string
required

Idempotency reference for this payment.

uuid
required
lines
array of objects
required
lines*
booking_costs
object

A monetary amount with currency.

visit_guarantee
object

A monetary amount with currency.

uri
required
string
required

PSP identifier (e.g. adyen, mollie).

string

Campaign store key passed through to PSP metadata.

string

Merchant debtor code for Adyen split payments. Empty means no splits.

string

Campaign the payment belongs to. Scopes the commission lookup (commission can differ per campaign). Empty means no splits.

string

What this payment pays for. Omitted or checkout = a regular
checkout payment (the default for all existing callers);
fulfillment_reorder = the price difference of a paid date
change. Consumers of payment events dispatch on this value.

uuid

The fulfillment order this payment confirms. Required when
purpose is fulfillment_reorder; omitted otherwise.

Headers
uuid
required

Client-generated UUID. Identical keys within the TTL window return the cached response.

string

RFC 7231 language preference. The best match against supported locales (nl-NL, en-GB, de-DE) is selected. Defaults to nl-NL when omitted.

string
enum
Defaults to application/json

Generated from available response content types

Allowed:
Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json
application/problem+json