Updates multiple line items on an invoice. This is only possible when an invoice is still a draft.
Parameters
- linesarray of objectsRequired
The line items to update.
- invoice_
metadataobject Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to
metadata
. For type=subscription line items, the incoming metadata specified on the request is directly used to set this value, in contrast to type=invoiceitem line items, where any existing metadata on the invoice line is merged with the incoming data.
Returns
The updated invoice is returned upon success. Otherwise, this call raises an error.
{ "id": "in_1NuhUa2eZvKYlo2CWYVhyvD9", "object": "invoice", "account_country": "US", "account_name": "Stripe.com", "account_tax_ids": null, "amount_due": 998, "amount_paid": 0, "amount_overpaid": 0, "amount_remaining": 998, "amount_shipping": 0, "application": null, "application_fee_amount": null, "attempt_count": 0, "attempted": false, "auto_advance": false, "automatic_tax": { "enabled": false, "liability": null, "status": null }, "billing_reason": "manual", "collection_method": "charge_automatically", "created": 1695758664, "currency": "usd", "custom_fields": null, "customer": "cus_9s6XKzkNRiz8i3", "customer_address": null, "customer_email": "test@test.com", "customer_name": null, "customer_phone": null, "customer_shipping": null, "customer_tax_exempt": "none", "customer_tax_ids": [], "default_payment_method": null, "default_source": null, "default_tax_rates": [], "description": null, "discounts": [], "due_date": null, "effective_at": null, "ending_balance": null, "footer": null, "from_invoice": null, "hosted_invoice_url": null, "invoice_pdf": null, "issuer": { "type": "self" }, "last_finalization_error": null, "latest_revision": null, "lines": { "object": "list", "data": [ { "id": "il_1NuhUa2eZvKYlo2CC98Fg3Bo", "object": "line_item", "amount": 799, "currency": "usd", "description": "test description", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuhUa2eZvKYlo2CGeF7Qgx0", "livemode": false, "metadata": {}, "period": { "end": 1695758664, "start": 1695758664 }, "pricing": { "price_details": { "price": "price_1NuhLA2eZvKYlo2Cq1tIGEBp", "product": "prod_Oi7aO1GPi1dWX7" }, "type": "price_details", "unit_amount_decimal": "799" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "taxes": [] }, { "id": "il_1NuLVe2eZvKYlo2Canh35EfU", "object": "line_item", "amount": 199, "currency": "usd", "description": "Canned Coffee", "discount_amounts": [], "discountable": true, "discounts": [], "invoice_item": "ii_1NuLVd2eZvKYlo2CRWY0Hqgi", "livemode": false, "metadata": {}, "period": { "end": 1695674161, "start": 1695674161 }, "pricing": { "price_details": { "price": "price_1NuI212eZvKYlo2CWgdD8kET", "product": "prod_OhhQNWDYdIbXYv" }, "type": "price_details", "unit_amount_decimal": "199" }, "proration": false, "proration_details": { "credited_items": null }, "quantity": 1, "subscription": null, "taxes": [], "type": "invoiceitem" } ], "has_more": false, "url": "/v1/invoices/upcoming/lines?customer=cus_9s6XKzkNRiz8i3" }, "livemode": false, "metadata": {}, "next_payment_attempt": null, "number": null, "on_behalf_of": null, "parent": null, "payment_settings": { "default_mandate": null, "payment_method_options": null, "payment_method_types": null }, "period_end": 1688482163, "period_start": 1688395763, "post_payment_credit_notes_amount": 0, "pre_payment_credit_notes_amount": 0, "receipt_number": null, "redaction": null, "rendering": null, "shipping_cost": null, "shipping_details": null, "starting_balance": 0, "statement_descriptor": null, "status": "draft", "status_transitions": { "finalized_at": null, "marked_uncollectible_at": null, "paid_at": null, "voided_at": null }, "subtotal": 998, "subtotal_excluding_tax": 998, "test_clock": null, "total": 998, "total_discount_amounts": [], "total_excluding_tax": 998, "total_taxes": [], "webhooks_delivered_at": null}
Invoice Payments represent payments made against invoices. Invoice Payments can be accessed in two ways:
- By expanding the
payments
field on the Invoice resource. - 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.
Invoice Rendering Templates are used to configure how invoices are rendered on surfaces like the PDF. Invoice Rendering Templates can be created from within the Dashboard, and they can be used over the API when creating invoices.
A billing alert is a resource that notifies you when a certain usage threshold on a meter is crossed. For example, you might create a billing alert to notify you when a certain user made 100 API requests.
Meters specify how to aggregate meter events over a billing period. Meter events represent the actions that customers take in your system. Meters attach to prices and form the basis of the bill.
Related guide: Usage based billing