Create a payment request
POST/api/payment_requests
Requires the PAYPAL OAuth scope. Create a draft payment request for a selected contact. You can upload attachments before finalizing it via /payment_requests/{id}/activate.
Request
Header Parameters
Possible values: <= 50 characters
An optional unique identifier for the request, limited to 50 characters. Used to track requests and prevent duplication.
- application/json
Body
required
Possible values: > 0
contact object
Alternative recipient definition when contactId is not provided.
Possible values: Value must match regular expression ^(\d+(\.\d{1,2})?)$
Possible values: >= 3 characters and <= 3 characters
Possible values: <= 255 characters
Possible values: [email_and_url, url_only]
Default value: email_and_url
Responses
- 201
- 400
- 401
- 403
- 422
Created - The request was processed successfully.
- application/json
- Schema
- Example (from schema)
Schema
Default value: true
{
"id": 42,
"contactId": 145,
"currencyCode": "CHF",
"amount": "5000.50",
"invoiceReference": "Invoice INV-2026-001",
"invoiceDate": "2026-04-21",
"dueDate": "2026-05-01",
"message": "Please settle this invoice until due date.",
"reminderEnabled": true,
"tagIds": [
1,
2,
3
],
"email": "recipient@example.com",
"pending": true,
"draft": false,
"hash": "a5eb1c1f-a4ad-4a19-ad72-f57ba5acf795",
"paymentPageUrl": "https://www.paypal.com/checkoutnow?token=XYZ"
}
Bad Request -- Your request is invalid.
- application/json
- Schema
- Example (from schema)
Schema
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
Default value: 400
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
{
"title": "string",
"detail": "string",
"status": 400,
"instance": "string",
"type": "string"
}
Unauthorised -- Your access token is wrong.
- application/json
- Schema
- Example (from schema)
Schema
{
"type": "string",
"title": "string",
"detail": "string"
}
Forbidden -- Access to the requested resource or action is forbidden.
- application/json
- Schema
- Example (from schema)
Schema
A short, human-readable summary of the problem.
A human-readable explanation specific to this occurrence of the problem.
Default value: 400
A URI reference that identifies the specific occurrence of the problem. It may or may not yield further information if dereferenced.
A URI reference that identifies the problem type
{
"title": "string",
"detail": "string",
"status": 400,
"instance": "string",
"type": "string"
}
Unprocessable Content -- We could not process your request due to invalid data provided.
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- ]
Default value: 422
violations object[]
The property path of the violation
The message associated with the violation
The code of the violation
An extra hint to understand the violation
payload object
The serialized payload of the violation
The serialized payload of the violation
{
"status": 422,
"violations": [
{
"propertyPath": "string",
"message": "string",
"code": "string",
"hint": "string",
"payload": {}
}
],
"detail": "string",
"type": "string",
"title": "string",
"instance": "string"
}