Change Invoice Status
PUT/rest/invoices/:invoice_number/status_change
/rest/invoices/:invoice_number/status_changeSets the invoice's status directly. The status is deliberately not accepted by the regular create and update endpoints — this is the only API surface that may change it. The status is normally driven by the payment lifecycle (an invoice moves to processing, partly_paid, or paid as transactions are processed); use this endpoint when you need to override it manually (e.g. reconciling a payment captured outside the platform).
Request
invoice_numberStringrequiredAppend invoice number to
/rest/invoices/#invoice_number/status_changestatusStringrequiredThe new status. One of
"pending", "processing", "paid", or "partly_paid". Any other value (or a missing status) is rejected with 422.Example Request
PUT /rest/invoices/INV-2024-001/status_change
Authorization: Basic <base64(api_key:api_password)>
Content-Type: application/json
{
"status": "paid"
}
Response — 200 OK
The response is the complete invoice object, identical in shape to the Get Invoice response, with the updated status.
invoiceObjectHash containing the complete invoice information. See Get Invoice for the full field list.
messageStringSuccess or error message from the API
errorStringError details (
null on success)paylinkStringDirect payment link for the customer
qrcodeStringBase64-encoded QR code image for the payment. Suggested size 250PX with PNG format.
Example Response (200)
{
"invoice": {
"status": "paid",
"active": true,
"created_at": "2024-08-14T07:50:20.123Z",
"updated_at": "2024-08-14T07:50:20.123Z",
"debt_claim_number": "INV-2024-001",
"print_date": "2024-08-14",
"first_name": "Peter",
"last_name": "Struwwel",
"address": "Teststr 5",
"address2": "12B",
"postal_code": "10178",
"city": "Berlin",
"country": "Germany",
"email": "dev@betterpayment.de",
"amount": 10.55,
"amount_cents": 1055,
"currency": "EUR",
"description": "Payment for drinks",
"customer_id": "123456",
"state": "BE",
"phone": "+4917143214321",
"redirect_after_payments": false,
"success_url": "https://example.com/success",
"error_url": "https://example.com/error",
"tax_id": "123456789",
"expires_in": 24,
"expires_in_unit": "hours",
"expired": false,
"uuid": "f34b3b2f-2680-4d62-a0c9-ce2e50ddbb8a",
"channel_id": 123,
"import_id": 456,
"locale": "de",
"effective_locale": "de",
"send_initial_email": true,
"initial_email_type": "initial",
"effective_initial_email_type": "initial",
"last_email": null,
"id": 789
},
"message": "Invoice has been successfully created.",
"error": null,
"paylink": "http://yourchannel.jetztzahlen.de/pay/f34b3b2f-2680-4d62-a0c9-ce2e50ddbb8a",
"qrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
}
Error responses
| Status | When | Body |
|---|---|---|
| 404 | Invoice not found for the authenticated merchant | { "message": "Invoice not found.", "error": "Invoice not found." } |
| 422 | Missing or invalid status | { "message": "Invalid status.", "error": "Invalid status. Must be one of: pending, processing, paid, partly_paid." } |