docs.stripe.com

POST / v1/ invoices/ :id/ pay

Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if you’d like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.

Parameters

No parameters.

More parameters

  • forgiveboolean

  • mandatestring

  • off_ sessionboolean

  • paid_ out_ of_ bandboolean

  • payment_ methodstring

  • sourcestring

Returns

Returns the invoice object.

curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/pay \

-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"

Response

{

"object": "invoice",

"account_country": "US",

"account_name": "Stripe Docs",

"account_tax_ids": null,

"amount_due": 0,

"amount_paid": 0,

"amount_overpaid": 0,

"amount_remaining": 0,

"amount_shipping": 0,

"application": null,

"attempt_count": 0,

"attempted": true,

"auto_advance": false,

"automatic_tax": {

"enabled": false,

"liability": null,

"status": null

},

"billing_reason": "manual",

"collection_method": "send_invoice",

"created": 1680641304,

"currency": "usd",

"custom_fields": null,

"customer": "cus_NeZw0zvTyquTfF",

"customer_address": null,

"customer_email": "jennyrosen@example.com",

"customer_name": "Jenny Rosen",

"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": 1681246104,

"ending_balance": 0,

"footer": null,

"from_invoice": null,

"hosted_invoice_url": "https://invoice.stripe.com/i/acct_1M2JTkLkdIwHu7ix/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9OZVp3dVBYNnF0dGlvdXRubGVjSXVOOWhiVWpmUktPLDcxMTgyMTA10200x7P2wMSm?s=ap",

"invoice_pdf": "https://pay.stripe.com/invoice/acct_1M2JTkLkdIwHu7ix/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9OZVp3dVBYNnF0dGlvdXRubGVjSXVOOWhiVWpmUktPLDcxMTgyMTA10200x7P2wMSm/pdf?s=ap",

"issuer": {

"type": "self"

},

"last_finalization_error": null,

"latest_revision": null,

"lines": {

"object": "list",

"data": [],

"has_more": false,

"total_count": 0,

"url": "/v1/invoices/in_1MtGmCLkdIwHu7ix6PgS6g8S/lines"

},

"livemode": false,

"metadata": {},

"next_payment_attempt": null,

"number": "9545A614-0001",

"on_behalf_of": null,

"parent": null,

"payment_settings": {

"default_mandate": null,

"payment_method_options": null,

"payment_method_types": null

},

"period_end": 1680641304,

"period_start": 1680641304,

"post_payment_credit_notes_amount": 0,

"pre_payment_credit_notes_amount": 0,

"receipt_number": null,

"shipping_cost": null,

"shipping_details": null,

"starting_balance": 0,

"statement_descriptor": null,

"status": "paid",

"status_transitions": {

"finalized_at": 1680641304,

"marked_uncollectible_at": null,

"paid_at": 1680641304,

"voided_at": null

},

"subtotal": 0,

"subtotal_excluding_tax": 0,

"test_clock": null,

"total": 0,

"total_discount_amounts": [],

"total_excluding_tax": 0,

"total_taxes": [],

"webhooks_delivered_at": 1680641304

}

GET / v1/ invoices/ search

Search for invoices you’ve previously created using Stripe’s Search Query Language. Don’t use search in read-after-write flows where strict consistency is necessary. Under normal operating conditions, data is searchable in less than a minute. Occasionally, propagation of new or updated data can be up to an hour behind during outages. Search functionality is not available to merchants in India.

Parameters

  • querystringRequired

  • limitinteger

    A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.

  • pagestring

    A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

Returns

A dictionary with a data property that contains an array of up to limit invoices. If no objects match the query, the resulting array will be empty. See the related guide on expanding properties in lists.

curl -G https://api.stripe.com/v1/invoices/search \

-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \

-d "query=total<1"

Response

{

"object": "search_result",

"url": "/v1/invoices/search",

"has_more": false,

"data": [

{

"object": "invoice",

"account_country": "US",

"account_name": "Stripe Docs",

"account_tax_ids": null,

"amount_due": 0,

"amount_paid": 0,

"amount_overpaid": 0,

"amount_remaining": 0,

"amount_shipping": 0,

"application": 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": 1680644467,

"currency": "usd",

"custom_fields": null,

"customer": "cus_NeZwdNtLEOXuvB",

"customer_address": null,

"customer_email": "jennyrosen@example.com",

"customer_name": "Jenny Rosen",

"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,

"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": [],

"has_more": false,

"total_count": 0,

"url": "/v1/invoices/in_1MtHbELkdIwHu7ixl4OzzPMv/lines"

},

"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": 1680644467,

"period_start": 1680644467,

"post_payment_credit_notes_amount": 0,

"pre_payment_credit_notes_amount": 0,

"receipt_number": 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": 0,

"subtotal_excluding_tax": 0,

"test_clock": null,

"total": 0,

"total_discount_amounts": [],

"total_excluding_tax": 0,

"total_taxes": [],

"webhooks_delivered_at": 1680644467

}

]

}

POST / v1/ invoices/ :id/ send

Stripe will automatically send invoices to customers according to your subscriptions settings. However, if you’d like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.

Requests made in test-mode result in no emails being sent, despite sending an invoice. sent event.

Parameters

No parameters.

Returns

Returns the invoice object.

curl -X POST https://api.stripe.com/v1/invoices/{{INVOICE_ID}}/send \

-u "sk_test_BQokikJOvBiI2HlWgH4olfQ2sk_test_BQokikJOvBiI2HlWgH4olfQ2:"

Response

{

"object": "invoice",

"account_country": "US",

"account_name": "Stripe Docs",

"account_tax_ids": null,

"amount_due": 0,

"amount_paid": 0,

"amount_overpaid": 0,

"amount_remaining": 0,

"amount_shipping": 0,

"application": null,

"attempt_count": 0,

"attempted": true,

"auto_advance": false,

"automatic_tax": {

"enabled": false,

"liability": null,

"status": null

},

"billing_reason": "manual",

"collection_method": "send_invoice",

"created": 1680641304,

"currency": "usd",

"custom_fields": null,

"customer": "cus_NeZwvqcz9Sh2uw",

"customer_address": null,

"customer_email": "jennyrosen@example.com",

"customer_name": "Jenny Rosen",

"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": 1681246104,

"ending_balance": 0,

"footer": null,

"from_invoice": null,

"hosted_invoice_url": "https://invoice.stripe.com/i/acct_1M2JTkLkdIwHu7ix/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9OZVp3SDR0Q1Q4U1N0YkVjY2lvSmRoRGppU3E1eGVJLDcxMTgyMTA10200hQIJrDM1?s=ap",

"invoice_pdf": "https://pay.stripe.com/invoice/acct_1M2JTkLkdIwHu7ix/test_YWNjdF8xTTJKVGtMa2RJd0h1N2l4LF9OZVp3SDR0Q1Q4U1N0YkVjY2lvSmRoRGppU3E1eGVJLDcxMTgyMTA10200hQIJrDM1/pdf?s=ap",

"issuer": {

"type": "self"

},

"last_finalization_error": null,

"latest_revision": null,

"lines": {

"object": "list",

"data": [],

"has_more": false,

"total_count": 0,

"url": "/v1/invoices/in_1MtGmCLkdIwHu7ixJlveR2DO/lines"

},

"livemode": false,

"metadata": {},

"next_payment_attempt": null,

"number": "3AB9C0CA-0001",

"on_behalf_of": null,

"parent": null,

"payment_settings": {

"default_mandate": null,

"payment_method_options": null,

"payment_method_types": null

},

"period_end": 1680641304,

"period_start": 1680641304,

"post_payment_credit_notes_amount": 0,

"pre_payment_credit_notes_amount": 0,

"receipt_number": null,

"shipping_cost": null,

"shipping_details": null,

"starting_balance": 0,

"statement_descriptor": null,

"status": "paid",

"status_transitions": {

"finalized_at": 1680641304,

"marked_uncollectible_at": null,

"paid_at": 1680641304,

"voided_at": null

},

"subtotal": 0,

"subtotal_excluding_tax": 0,

"test_clock": null,

"total": 0,

"total_discount_amounts": [],

"total_excluding_tax": 0,

"total_taxes": [],

"webhooks_delivered_at": 1680641304

}

Read the original on docs.stripe.com ↗