Skip to main content
Its pay_ ID is also the payment ID when collected. Use the Invoices API to create and edit drafts, then issue or send them. You can charge an open invoice to a saved payment method, or void an invoice the buyer will not pay. Draft creation does not create access or charge the buyer. The recipient’s contact details live on the account’s member. Financial fields and caller metadata can only be edited in draft.

Endpoints

Attributes

string
required
string
required
object
required

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required

Properties

string | null
required
The city.
string | null
required
The ISO 3166-1 alpha-2 country code.
string | null
required
The first street address line.
string | null
required
The second street address line.
string | null
required
The name on the address.
string | null
required
The postal or ZIP code.
string | null
required
The state, province or region.
object
required

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
number
required
A signed link that opens this invoice in a checkout session so the buyer can pay it. Pass it as link to POST /checkout_sessions. Present while the invoice is open. null in any other status, for an invoice billed to a business buyer, and for an invoice whose membership was canceled. Also null unless you have payment:charge, or invoice:create or invoice:update on an invoice with no payment_method_id.
string
required
string | null
required
boolean
required
True when DELETE /invoices/\{id} can delete this invoice. A draft qualifies unless it is scheduled or bills a subscription. A void invoice qualifies unless it collected money or still awaits a bank wire.
string | null
required
string | null
required
string | null
required
object[]
required

Properties

string | null
required
Line item ID, prefixed li_. Null when the payment predates item snapshots and the item is read from the payment’s variant.
string | null
required
Text shown under the item on the invoice, its email, and its PDF, read from the variant’s description. A custom charge sets it with the item’s description. A product variant keeps its own. Null when the variant has none or has since been deleted.
object | null
required
The promo discount applied to this item, in the payment’s currency. Null when no discount was recorded.

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
The item’s name as shown at checkout (the product title, else the variant title).
string | null
required
The product the variant belongs to, prefixed prod_. Null for a variant with no product.
number
required
How many units were bought.
object | null
required
unit_amount times quantity, before discounts and tax, in the payment’s currency.

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required
The tax collected on this item, in the payment’s currency. Null when no tax was recorded.

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required
The saved price of one unit before discounts, in the payment’s currency. Creating or replacing recurring items includes the upfront fee and first billing period. Renewal invoices exclude the upfront fee. Other edits preserve saved prices. Null when the payment recorded no price.

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string | null
required
The variant bought, prefixed plan_. Null when the variant has since been deleted.
string | null
required
string | null
required
string | null
required
The membership this invoice bills, prefixed mem_. For a renewal invoice, it is the subscription that renews. For an invoice with a recurring item, it is the membership created when the invoice is issued. Null for one-off invoices, for a draft not yet issued, and without the member:basic:read permission.
string | null
required
A note to the customer, shown on the invoice email, PDF, and checkout page with its line breaks kept. null when none is set.
object
required
string
required
string
required
boolean
required
string | null
required
object | null
required
The payment methods the customer can choose from when paying through the invoice’s checkout link. It takes precedence over the invoice’s variants and the account. null when the invoice uses its variants’ payment methods.

Properties

string[]
required
Payment methods this checkout withholds, even when the defaults would offer them.
string[]
required
Payment methods this checkout offers on top of whatever the defaults provide.
boolean
required
Whether Whop’s default set is the starting point. When false, only enabled is offered.
string | null
required
string[]
required
Invoice email recipients, independent of the billed customer.
string | null
required
When the invoice’s saved payment method will be charged, as an ISO 8601 timestamp. It is the charge_at the invoice was sent or issued with. Without one, it is due_at when an invoice with a payment_method_id is sent or issued before it is due. On a draft, it is the charge_at of its scheduled send. null otherwise, once the charge starts, and once the invoice is paid, void, or uncollectible.
string | null
required
The collection_method a draft’s scheduled send applies when it fires. null when the draft has no scheduled send or it was scheduled without one, and once the invoice is issued.Available options: charge_automatically, send_invoice
string | null
required
boolean
required
Whether this draft is issued automatically when its due_at arrives. Issuing it charges its payment_method_id, or emails its payment link to its recipient_emails. false for an invoice that is not a draft and for a draft with a scheduled send. false while sending the draft would fail for missing recipients or an unavailable payment link. false for a draft that had no future due_at when it was last saved. false for a draft created before 2026-11-12T22:00:00Z.
string
required
Available options: draft, open, authorized, paid, pending, uncollectible, unresolved, void
object
required

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object | null
required

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
object
required

Properties

string
required
The amount in major units, as an exact decimal string. For example, "10.00" is ten dollars. It is a string so that no float rounds it in transit.
string
required
Three-letter ISO 4217 currency code, lowercase.
integer
required
How many decimal places the amount carries. This is the precision the charge itself runs at.
integer
required
How many decimal places to SHOW. Usually equal to decimals, and deliberately not always: COP is charged in centavos but written in whole pesos, so it is 2 and 0. Format the number in your own locale using this.
string
required
Available options: estimated, final
string
required
Invoice