Skip to content

Stripe: List all payments for an invoice

Stripe invoicePayments.getInvoicePayments: arguments, response, policy and SDK examples.

← Invoice payments operations · Get started

Operation stripe.getinvoicepayments

Provider route: GET /v1/invoice_payments. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["invoicePayments"]["getInvoicePayments"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.invoicePayments.getInvoicePayments(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_stripe import StripeIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.invoice_payments.get_invoice_payments(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
queryobjectOptionalAdditional keys: not allowed
query.createdJSONOptional
query.created (anyOf 1)objectAlternative
query.created (anyOf 1).gtintegerOptional
query.created (anyOf 1).gteintegerOptional
query.created (anyOf 1).ltintegerOptional
query.created (anyOf 1).lteintegerOptional
query.created (anyOf 2)integerAlternative
query.ending_beforestringOptionalMaximum length: 5000
query.expandarrayOptional
query.expand[]stringEach itemMaximum length: 5000
query.invoicestringOptionalMaximum length: 5000
query.limitintegerOptional
query.paymentobjectOptional
query.payment.payment_intentstringOptionalMaximum length: 5000
query.payment.payment_recordstringOptionalMaximum length: 5000
query.payment.typestringRequired within parentOne of: payment_intent, payment_record
query.starting_afterstringOptionalMaximum length: 5000
query.statusstringOptionalOne of: canceled, open, paid

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$objectRoot
dataarrayRequired within parentDetails about each object.
data[]ModelEach itemExpand Retrieve an Invoice Payment — response body
has_morebooleanRequired within parentTrue if this list has another page of items after this one that can be fetched.
objectstringRequired within parentString representing the object’s type. Objects of the same type share the same value. Always has the value `list`.
Known values: list
urlstringRequired within parentThe URL where this list can be accessed.
Maximum length: 5000

Referenced models: Retrieve an Invoice Payment — response body

702 more schemas are linked from the tables above, on the schema pages.

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

Delete a draft invoice — response body
FieldTypePresenceDescription and constraints
$objectRoot
deletedbooleanRequired within parentAlways true for a deleted object
Known values: True
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: invoice
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
Create a Location — response body — address
FieldTypePresenceDescription and constraints
$objectRoot
cityJSONOptional
city (anyOf 1)stringAlternativeCity, district, suburb, town, or village.
Maximum length: 5000
city (anyOf 2)nullAlternative
countryJSONOptional
country (anyOf 1)stringAlternativeTwo-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
Maximum length: 5000
country (anyOf 2)nullAlternative
line1JSONOptional
line1 (anyOf 1)stringAlternativeAddress line 1, such as the street, PO Box, or company name.
Maximum length: 5000
line1 (anyOf 2)nullAlternative
line2JSONOptional
line2 (anyOf 1)stringAlternativeAddress line 2, such as the apartment, suite, unit, or building.
Maximum length: 5000
line2 (anyOf 2)nullAlternative
postal_codeJSONOptional
postal_code (anyOf 1)stringAlternativeZIP or postal code.
Maximum length: 5000
postal_code (anyOf 2)nullAlternative
stateJSONOptional
state (anyOf 1)stringAlternativeState, county, province, or region ([ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)).
Maximum length: 5000
state (anyOf 2)nullAlternative
PostApplicationFeesIdRefund — response body — application / object: application
FieldTypePresenceDescription and constraints
$objectRoot
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
nameJSONOptional
name (anyOf 1)stringAlternativeThe name of the application.
Maximum length: 5000
name (anyOf 2)nullAlternative
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: application
Delete a customer — response body
FieldTypePresenceDescription and constraints
$objectRoot
deletedbooleanRequired within parentAlways true for a deleted object
Known values: True
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: customer

SDK function policy ID: stripe.getinvoicepayments. Catalog operation: GetInvoicePayments. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"Stripe-Version": "2026-09-30.endive"}

Official provider source

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.