Skip to content

Stripe: Invoice payments schemas

3 Stripe schemas with complete fields and constraints.

← Invoice payments operations · All schemas

Retrieve an Invoice Payment — response body

FieldTypePresenceDescription and constraints
$objectRootInvoice Payments represent payments made against invoices. Invoice Payments can
be accessed in two ways:
1. By expanding the `payments` field on the [Invoice](https://docs.stripe.com/api#invoice) resource.
2. By using the Invoice Payment retrieve and list endpoints.

Invoice Payments include the mapping between payment objects, such as Payment Intent, and Invoices.
This resource and its endpoints allows you to easily track if a payment is associated with a specific invoice and
monitor the allocation details of the payments.
amount_paidJSONOptional
amount_paid (anyOf 1)JSONAlternative
amount_paid (anyOf 1) (anyOf 1)integerAlternativeAmount that was actually paid for this invoice, in cents (or local equivalent). This field is null until the payment is `paid`. This amount can be less than the `amount_requested` if the PaymentIntent’s `amount_received` is not sufficient to pay all of the invoices that it is attached to.
amount_paid (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
amount_paid (anyOf 2)nullAlternative
amount_requestedJSONRequired within parent
amount_requested (anyOf 1)integerAlternativeAmount intended to be paid toward this invoice, in cents (or local equivalent)
amount_requested (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Maximum length: 5000
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
invoiceJSONRequired within parentThe invoice that was paid.
invoice (anyOf 1)stringAlternativeMaximum length: 5000
invoice (anyOf 2)ModelAlternativeExpand Pay an invoice — response body
invoice (anyOf 3)ModelAlternativeExpand Delete a draft invoice — response body
is_defaultbooleanRequired within parentStripe automatically creates a default InvoicePayment when the invoice is finalized, and keeps it synchronized with the invoice’s `amount_remaining`. The PaymentIntent associated with the default payment can’t be edited or canceled directly.
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: invoice_payment
paymentModelRequired within parentExpand Retrieve an Invoice Payment — response body — payment
statusstringRequired within parentThe status of the payment, one of `open`, `paid`, or `canceled`.
Maximum length: 5000
status_transitionsModelRequired within parentExpand Retrieve an Invoice Payment — response body — status transitions

Referenced models: Delete a draft invoice — response body, Pay an invoice — response body, Retrieve an Invoice Payment — response body — payment, Retrieve an Invoice Payment — response body — status transitions

Retrieve an Invoice Payment — response body — payment

FieldTypePresenceDescription and constraints
$objectRoot
chargeJSONOptionalID of the successful charge for this payment when `type` is `charge`. Note: charge is only surfaced if the charge object is not associated with a payment intent. If the charge object does have a payment intent, the Invoice Payment surfaces the payment intent instead.
charge (anyOf 1)stringAlternativeMaximum length: 5000
charge (anyOf 2)ModelAlternativeExpand Create a charge — response body
payment_intentJSONOptionalID of the PaymentIntent associated with this payment when `type` is `payment_intent`. Note: This property is only populated for invoices finalized on or after March 15th, 2019.
payment_intent (anyOf 1)stringAlternativeMaximum length: 5000
payment_intent (anyOf 2)ModelAlternativeExpand Cancel a Payment Intent — response body
payment_recordJSONOptionalID of the PaymentRecord associated with this payment when `type` is `payment_record`.
payment_record (anyOf 1)stringAlternativeMaximum length: 5000
payment_record (anyOf 2)ModelAlternativeExpand Report a refund — response body
typestringRequired within parentType of payment object associated with this invoice payment.
Known values: charge, payment_intent, payment_record

Referenced models: Create a charge — response body, Cancel a Payment Intent — response body, Report a refund — response body

Retrieve an Invoice Payment — response body — status transitions

FieldTypePresenceDescription and constraints
$objectRoot
canceled_atJSONOptional
canceled_at (anyOf 1)JSONAlternative
canceled_at (anyOf 1) (anyOf 1)integerAlternativeThe time that the payment was canceled.
Format: unix-time
canceled_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
canceled_at (anyOf 2)nullAlternative
paid_atJSONOptional
paid_at (anyOf 1)JSONAlternative
paid_at (anyOf 1) (anyOf 1)integerAlternativeThe time that the payment succeeded.
Format: unix-time
paid_at (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
paid_at (anyOf 2)nullAlternative

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.