Creates a payment request. Reusing external_operation_id with the same request returns the original payment; different input is rejected.
RequestCreatePaymentRequest
ResponseCreatePaymentResponse
CreatePaymentRequest
Field
Type
Description
external_operation_id
string
Durable workspace-scoped identifier supplied by the caller.
customer_id
string
amount
int64
currency
optional string
description
string
due_date
optional int64
method
optional string
Settlement handler. One of default, manual, mollie, stripe, or warmtefonds. Workspace defaults apply when omitted. Warmtefonds does not create an online checkout.
transaction_id
optional string
customer_name
string
billing_address_line1
string
billing_address_line2
string
billing_city
string
billing_postal_code
string
billing_country
string
CreatePaymentResponse
Field
Type
payment
Payment
Related Types
Payment
Field
Type
id
string
customer_id
string
transaction_id
optional string
status
PaymentStatus
amount
int64
amount_paid
int64
currency
string
method
string
checkout_url
optional string
customer_name
optional string
billing_address_line1
optional string
billing_address_line2
optional string
billing_city
optional string
billing_postal_code
optional string
billing_country
optional string
reference_number
optional string
description
optional string
due_date
optional int64
paid_at
optional int64
created_at
int64
updated_at
int64
customer_title
optional string
customer_reference_number
optional string
{
"externalOperationId": "erp-payment-123",
"customerId": "<customer-id>",
"amount": "12500",
"currency": "EUR",
"description": "Deposit",
"method": "manual"
}
Amounts use minor currency units. Repeating identical input with the same
externalOperationId returns the original payment; changed input is rejected.
method selects how the payment is settled. manual records a payment you
collect outside HeyX; warmtefonds creates a pending, non-checkout payment
request. Some provider-managed payment methods cannot be created through this
endpoint.