View as Markdown

llms.txt

The API reference isn't available right now

This instance couldn't load its API specification. The reference returns as soon as the specification is readable again.

Back to the API reference

No such model

This instance publishes no model under that name. It may have been renamed, or no operation this installation serves uses it.

Back to the API reference

This reference may be out of date

This instance couldn't reach its API specification on the last attempt, so this page shows the copy fetched before that. Anything added or changed since then is missing here, and the reference updates itself as soon as the specification is readable again. Last fetched 2026-10-22 22:57 UTC.

API reference Models

InvoicePaymentLinkInfoDto

A model the API reference uses in a request or a response. The operation pages link every field typed as this model here.

The operator-facing view of an invoice's pay-by-link state: the absolute hosted-payment-page URL a payer can be handed, when it lapses, and the QR code that encodes it.

Values

Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

Fields

Field Type Description
invoiceId required string (uuid) The invoice the link pays.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
hasPaymentLink required boolean Whether the invoice currently carries a payment link at all. When `false`, every other link property is null and the invoice has no payable link to hand out.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
paymentUrl required string Absolute, HTTPS hosted-payment-page URL for the payer. Null when `hasPaymentLink` is `false`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
expiresAt required string (date-time) When the link stops working. Null when the invoice carries no link. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
isExpired required boolean Whether `expiresAt` is already in the past. Computed server-side so the caller never has to compare against a client clock. Always `false` when there is no link.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
qrCodeUrl required string Public URL of the PNG QR code encoding `paymentUrl`. Null when the invoice has no link, or when QR generation was skipped or failed: generation is best-effort and never blocks a send, so a live link with no QR is a normal outcome rather than an error. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
hppSessionId required string (uuid) The hosted-payment-page session backing the link. Null for an invoice with no link, and for a pre-cutover invoice still on the legacy opaque token. Safe to log and to quote in a support conversation, unlike the URL. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
amountDue required number (double) Outstanding balance the link collects, in `currency`.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
currency required string ISO 4217 currency code of `amountDue`. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
linkState required InvoicePaymentLinkState InvoicePaymentLinkState Whether the link still opens the payment page. `Spent` and `Revoked` come from the payment session behind the link; when that session cannot be read, the state falls back to `Live` or `Expired` from `expiresAt` alone. `None` exactly when `hasPaymentLink` is `false`.
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
None The invoice carries no payment link.
Live The link opens the payment page and accepts a payment.
Expired The link's expiry has passed, so it no longer opens the payment page.
Spent A payer's attempt used the link up. It no longer opens the payment page. A referral, a pending or submitted authorization and a partial approval always spend the link, because money may already have moved; a decline spends it once its retries run out, or at once when the link does not reopen after a decline.
Revoked The link was withdrawn (revoked or cancelled) and no longer opens the payment page.
remainingDeclineRetries required integer (int32) How many more declined payment attempts the link can absorb and still reopen for the payer. Null when the link does not reopen after a decline, or when the payment session could not be read. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.
lastAttemptAt required string (date-time) When a payer last attempted a payment on the link: the attempt that spent it, or the most recent declined attempt the link reopened after. Null when no attempt is recorded, or when the payment session could not be read. nullable
Values: Values combine: send one or more member names separated by a comma and a space, or the integer sum of their values. Responses carry the names.

This model has no documented fields.

Reconnecting to the server

Could not reconnect

This session has ended

Attempt 1

Your work on this page is still here. Retrying keeps it; reloading starts the page again.

The server no longer holds this page's state, so it has to be loaded again.