| [ Web Proxy ] |
| Viewing: https://docs.stripe.com/payments/checkout/post-payment-invoices | [Back] [Original] |
Stripe creates receipts for all successful payments and refunds, including invoice payments and recurring payments as part of a subscription. Customers can view their receipts online through a web browser, and optionally download receipts as PDFs.
You can automatically send customer receipts by email. Automatic receipts are available for payments and refunds.
For payments, receipts are only sent if the payment succeeds. Nothing is sent if a payment fails or gets declined.
Businesses in Mexico can download refund receipts from the Dashboard. These receipts contain additional information about the refund, such as refund status and refund type.
You can send email receipts manually from the Dashboard. Manual receipts are available for payments and refunds.
The receipt history on the payment details page displays up to 10 receipts.
Every receipt has a URL that the customer can view in a web browser. To link to a receipt from your application, use the receipt_url attribute of the Charge object.
Receipts dont expire, but for security reasons, links to receipts expire after 30 days. If a receipt link has expired, Stripe asks the customer to provide the email address associated with the original transaction. Stripe creates a new link and sends it to that email.
If you need to send a receipt for a test payment, send a manual receipt.
You can generate paid invoice receipts, which include more detail than standard receipts. For subscriptions, Stripe generates invoices automatically, but you need to enable them for one-time payments.
Invoice creation for one-time payments through the Checkout Sessions API is not an Invoicing feature, and is priced separately. Review this support article to learn more.
true when creating a checkout session:curl https://api.stripe.com/v1/checkout/sessions \ -u "sk_test_wU7nrJCZspk1NPDxiQgAF05q:" \ -d mode=payment \ -d "invoice_creation[enabled]=true" \ -d "line_items[0][price]={{ONE_TIME_PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d ui_mode=elements \ --data-urlencode "return_url=https://example.com"
After the payment completes successfully, Stripe sends an invoice summary to the email that the customer provided. This summary includes links to download PDFs of both the invoice and payment receipt.
You can listen for the invoice.paid event if you need to access invoice receipts programmatically.
Invoice receipts are only sent after the payment completes successfully, not when the checkout session ends. Delayed or asynchronous payment methods can therefore take longer to trigger receipts. This includes methods like Bacs Direct Debit, Bank transfers, Boleto, Canadian pre-authorized debits, Konbini, OXXO, Pay by Bank, SEPA Direct Debit, and ACH Direct Debit.
You can customize your receipts to match your businesss visual design, along with the business information to display.
Your branding settings control the visual display of your receipts and other Stripe interfaces.
Image requirements are the same for both the logo and icon files, but the icon is displayed at smaller sizes.
| Dimensions |
|
| Supported file types |
|
| Maximum file size | 512 KB |
Your business details control the information that displays on receipts and other Stripe interfaces.
For compliance reasons, some contact information is always required on receipts:
The language of the receipt and invoice is determined by the customer information available when you create the checkout session.
| Customer information | Localization setting |
|---|---|
| Customer has Account v2. | Invoice uses value of defaults.locales attribute. |
| Customer has Customer account v1. | Invoice uses value of preferred_locales attribute. |
| Customer has no locale data available. | Invoice uses Default language from your Customer emails settings. |
| No customer information provided. | Invoice defaults to the users browser locale when they open the checkout session URL. |
When creating a checkout session, you can pass custom values to the invoice_creation.invoice_data object to customize your invoices:
curl https://api.stripe.com/v1/checkout/sessions \ -u "sk_test_wU7nrJCZspk1NPDxiQgAF05q:" \ -d mode=payment \ -d "invoice_creation[enabled]=true" \ -d "invoice_creation[invoice_data][description]=Invoice for Product X" \ -d "invoice_creation[invoice_data][metadata][order]=order-xyz" \ -d "invoice_creation[invoice_data][account_tax_ids][0]=DE123456789" \ -d "invoice_creation[invoice_data][custom_fields][0][name]=Purchase Order" \ -d "invoice_creation[invoice_data][custom_fields][0][value]=PO-XYZ" \ -d "invoice_creation[invoice_data][rendering_options][amount_tax_display]=include_inclusive_tax" \ -d "invoice_creation[invoice_data][footer]=B2B Inc." \ -d "line_items[0][price]={{ONE_TIME_PRICE_ID}}" \ -d "line_items[0][quantity]=1" \ -d ui_mode=elements \ --data-urlencode "return_url=https://example.com"
Review invoicing best practices for your region to make sure youre collecting the right information from your customers. Information like the customers billing and shipping addresses, phone number, and tax ID appear on the resulting invoice.
If you use Connect, receipt settings depend on the charge and account type used by your platform or marketplace:
Destination charges and separate charges and transfers: Receipts use the platform accounts Customer emails, Branding, and Public details settings.
Direct charges: Receipts use the connected accounts Customer emails, Branding, and Public details settings.
Platform accounts can send a receipt for a connected account by passing receipt_email when making a charge request.
For connected accounts that use the Stripe Dashboard (which includes Standard connected accounts), you can configure receipt settings under Branding. For connected accounts that dont use the Dashboard (which includes Express and Custom connected accounts), the platform configures receipt settings through settings.branding.
| Web Proxy Viewer | New URL | Original Page |