Skip to main content

Get Invoice

GET/rest/invoices/:invoice_number

The 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_numberStringrequired
Append invoice number to /rest/invoices/#invoice_number
Example Request
GET /rest/invoices/fhd-12102020
Authorization: Basic <base64(api_key:api_password)>

Response

invoiceObject
Hash containing invoice information. See Invoice object below.
messageString
Success or error message from the API
errorString
Error details (null on success)
paylinkString
Link that you can send to your customers to open the payment page directly.
qrcodeString
Base64-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 processed
created_atString
Timestamp when the invoice was created (ISO 8601 format)
updated_atString
Timestamp when the invoice was last updated (ISO 8601 format)
debt_claim_numberString
Invoice number/identifier
print_dateString
Due date for the invoice (YYYY-MM-DD format)
first_nameString
First name of the customer
last_nameString
Last name of the customer
addressString
Primary address of the customer
address2String
Additional address information
postal_codeString
Postal code of the customer
cityString
City of the customer
countryString
Country of the customer (full country name)
emailString
Email address of the customer
amountFloat
Invoice amount as decimal (e.g., 10.55)
amount_centsInteger
Invoice amount in cents (e.g., 1055)
currencyString
3-letter currency code (e.g., EUR)
descriptionString
Description of the invoice/service
customer_idString
Your internal customer ID
stateString
State/region of the customer
phoneString
Phone number of the customer
redirect_after_paymentsBoolean
Boolean — whether to redirect after payment
success_urlString
URL to redirect to after successful payment
error_urlString
URL to redirect to after failed payment
tax_idString
Customer's tax identification number
expires_inInteger
Number of units until payment link expires (null if not set)
expires_in_unitString
Unit: "minutes", "hours", or "days" (null if not set)
expiredBoolean
Whether the payment link has expired (boolean)
uuidString
Unique identifier for the invoice
channel_idInteger
ID of the channel that invoice belongs to
import_idInteger
ID of the batch import invoice belongs to
localeString
Per-invoice language (en/de/pt) or null if not set on the invoice
effective_localeString
Language that will actually be used to e-mail this customer — resolves locale → channel default language → en. Always set.
send_initial_emailBoolean
Whether the initial e-mail opt-in was enabled at creation (boolean)
initial_email_typeString
Stored choice ("initial"/"reminder") for the on-creation e-mail template, or null if the merchant didn't pick one
effective_initial_email_typeString
The template that will actually be used — resolves initial_email_type"initial". Always set.
last_emailObject
Summary 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_atString
Timestamp (ISO 8601) when delivery succeeded — null if the send hasn't completed or has failed
recipient_emailString
E-mail address the message was sent to
localeString
Locale 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"
}