Get Invoice
GET/rest/invoices/:invoice_number
/rest/invoices/:invoice_numberThe Jetztzahlen Invoice API is used to retrieve a specific invoice by its invoice/debt claim number. You can get information such as if it's paid or not, active or not, direct payment links and more.
Request
invoice_numberStringrequiredAppend invoice number to
/rest/invoices/#invoice_numberExample Request
GET /rest/invoices/fhd-12102020
Authorization: Basic <base64(api_key:api_password)>
Response
invoiceObjectHash containing invoice information. See Invoice object below.
messageStringSuccess or error message from the API
errorStringError details (
null on success)paylinkStringLink that you can send to your customers to open the payment page directly.
qrcodeStringBase64-encoded QR code image for the payment. Suggested size 250PX with PNG format.
Example Response
{
"invoice": {
"status": "pending",
"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": {
"email_type": "reminder",
"status": "sent",
"sent_at": "2026-05-20T14:30:00Z",
"recipient_email": "dev@betterpayment.de",
"locale": "de"
}
},
"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..."
}
Invoice object
Parameters in the invoice hash returned above:
statusString"pending" if unpaid, "paid" if paid, "partly_paid" if partly paid, "processing" if payment is being processedcreated_atStringTimestamp when the invoice was created (ISO 8601 format)
updated_atStringTimestamp when the invoice was last updated (ISO 8601 format)
debt_claim_numberStringInvoice number/identifier
print_dateStringDue date for the invoice (YYYY-MM-DD format)
first_nameStringFirst name of the customer
last_nameStringLast name of the customer
addressStringPrimary address of the customer
address2StringAdditional address information
postal_codeStringPostal code of the customer
cityStringCity of the customer
countryStringCountry of the customer (full country name)
emailStringEmail address of the customer
amountFloatInvoice amount as decimal (e.g., 10.55)
amount_centsIntegerInvoice amount in cents (e.g., 1055)
currencyString3-letter currency code (e.g., EUR)
descriptionStringDescription of the invoice/service
customer_idStringYour internal customer ID
stateStringState/region of the customer
phoneStringPhone number of the customer
redirect_after_paymentsBooleanBoolean — whether to redirect after payment
success_urlStringURL to redirect to after successful payment
error_urlStringURL to redirect to after failed payment
tax_idStringCustomer's tax identification number
expires_inIntegerNumber of units until payment link expires (
null if not set)expires_in_unitStringUnit:
"minutes", "hours", or "days" (null if not set)expiredBooleanWhether the payment link has expired (boolean)
uuidStringUnique identifier for the invoice
channel_idIntegerID of the channel that invoice belongs to
import_idIntegerID of the batch import invoice belongs to
localeStringPer-invoice language (
en/de/pt) or null if not set on the invoiceeffective_localeStringLanguage that will actually be used to e-mail this customer — resolves
locale → channel default language → en. Always set.send_initial_emailBooleanWhether the initial e-mail opt-in was enabled at creation (boolean)
initial_email_typeStringStored choice (
"initial"/"reminder") for the on-creation e-mail template, or null if the merchant didn't pick oneeffective_initial_email_typeStringThe template that will actually be used — resolves
initial_email_type → "initial". Always set.last_emailObjectSummary of the most recent e-mail logged for this invoice (object), or
null if no e-mail has ever been sent. See last_email object below.Invoice Object
{
"status": "pending",
"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": {
"email_type": "reminder",
"status": "sent",
"sent_at": "2026-05-20T14:30:00Z",
"recipient_email": "dev@betterpayment.de",
"locale": "de"
}
}
last_email object
email_typeString"initial" or "reminder"statusString"sent", "failed", or "queued"sent_atStringTimestamp (ISO 8601) when delivery succeeded —
null if the send hasn't completed or has failedrecipient_emailStringE-mail address the message was sent to
localeStringLocale the message was rendered in
last_email Object
{
"email_type": "reminder",
"status": "sent",
"sent_at": "2026-05-20T14:30:00Z",
"recipient_email": "dev@betterpayment.de",
"locale": "de"
}