Skip to main content

Change Invoice Status

PUT/rest/invoices/:invoice_number/status_change

Sets 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_numberStringrequired
Append invoice number to /rest/invoices/#invoice_number/status_change
statusStringrequired
The 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.

invoiceObject
Hash containing the complete invoice information. See Get Invoice for the full field list.
messageString
Success or error message from the API
errorString
Error details (null on success)
paylinkString
Direct payment link for the customer
qrcodeString
Base64-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

StatusWhenBody
404Invoice not found for the authenticated merchant{ "message": "Invoice not found.", "error": "Invoice not found." }
422Missing or invalid status{ "message": "Invalid status.", "error": "Invalid status. Must be one of: pending, processing, paid, partly_paid." }