Email receipts and paid invoices
Send payment or refund receipts automatically.
With Checkout, you can manually or automatically send customized email receipts or paid invoices.
Receipt features
Each receipt contains a link to view it in a browser, and a unique receipt number that’s useful when looking up payment information.
You can also access the link to view the receipt in a browser through the API in the PaymentIntent’s related Charge object. When you visit the link, the receipt always shows the latest status of that charge—if it has been refunded, the receipt accurately reflects it.
As a security measure, receipt links expire within 30 days. Expired receipt links require the customer to provide the original email address to resend the receipt to that address.
Automatically send receipts
To enable automated receipts, toggle Successful payments on in your Customer emails settings. Receipts are only sent when a successful payment has been made—no receipt is sent if the payment fails or is declined.
Manually send receipts
To send receipts in the Dashboard, click Send receipt within the Receipt history section of a Payment details page. You can also hover over a payment within the Payments section of a customer’s page and click the Send receipt icon. To resend an email receipt, input a different email address, or specify a comma-separated list of addresses to send it to several recipients. A record of the last 10 receipts is visible on the payment’s page.
To give your customer direct access to a receipt through your application, use the receipt_
.
Customize receipts
Alter the appearance and functionality of your receipts with the following customization options:
- Branding: Modify the logo and colors in your Branding settings. The upper limit for a custom logo image file size is 512KB. Ideally, the logo should be a square image exceeding 128 x 128 pixels. JPG, PNG, and GIF file types are supported.
- Public information: Specify the public information you want to include, such as your contact number or website address, in your Public details settings.
- Description of goods or services provided.
- Authorization code.
- Subscription information.
- Cancellation policies.
You can see a real-time preview of your email receipt on your Dashboard Branding settings page. To send a test receipt, hover over the preview image and click Send test receipt, then enter your email address.
Caution
Receipts pull data from the Charge
object generated when the PaymentIntent is confirmed. To update receipt data such as the description
after the charge is generated, you must update the Charge. Changes to a confirmed PaymentIntent don’t appear on receipts.
Refund receipts
When a payment is refunded, Stripe can automatically send a receipt to the same email address provided in the original charge. You can also use the Dashboard to manually send a copy of the refund receipt. To enable automated refund receipts, toggle Refunds on in your Customer emails settings.
Invoice and subscription payment receipts
Stripe creates a receipt when a customer pays an invoice or makes any subscription payment. Receipts for subscription and invoice payments are itemized to include line items, discounts, and taxes. After payment, the Hosted Invoice Page includes a link to a receipt that the customer can download for their own records.
Stripe Connect receipts
Receipt settings depend on the charge and account type:
Destination charges and separate charges and transfers: Receipts use the platform account’s Customer emails, Branding, and Public details settings.
Direct charges: Receipts use the connected account’s Customer emails, Branding, and Public details settings.
Platform accounts can send a receipt for a connected account by passing receipt_
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 don’t use the Dashboard (which includes Express and Custom connected accounts), the platform configures receipt settings through settings.branding.
Automatically send paid invoices
In addition to ordinary receipts, Checkout can generate paid invoices as proof of payment. Invoices have more information than receipts. For subscriptions, Stripe generates invoices automatically, but for one-time payments, you need to enable them.
Note
Invoice creation for one-time payments in Checkout is not an Invoicing feature, and is priced separately. Review this support article to learn more.
To generate invoices, first, in your Customer emails settings, under Email customers about, select Successful payments. Then, when creating a Checkout session, set invoice_creation[enabled] to true
.
Note
Enabling invoice_
isn’t supported if you set payment_
to manual
.
After the payment completes, Stripe sends an invoice summary with links to download the invoice PDF and invoice receipt to the email address your customer provides during checkout.
Caution
Invoices for delayed notification payment methods such as Bacs Direct Debit, Bank transfers, Boleto, Canadian pre-authorized debits, Konbini, OXXO, Pay by Bank, SEPA Direct Debit, SOFORT, or ACH Direct Debit might take longer to send because we send the invoice after successful payment, not upon checkout session completion.
The downloadable invoice PDF
The downloadable invoice receipt
The customer email with links to the invoice PDF and receipt
You can also view the invoice in the Dashboard or access it programmatically by listening to the invoice.paid event through an event destination.
You can use the invoice_
hash inside invoice_
to further customize the invoice generated by the Checkout Session.
Review invoice best practices for your region to make sure you’re collecting the right information from your customers. Information like the customer’s billing and shipping addresses, phone number and tax ID appear on the resulting invoice.
Localization
When using Checkout Sessions, the language of the receipt and invoice is determined by several factors:
- If a Customer is set, their preferred locale are used if available.
- If a Customer is set without any preferred locales, the language setting from the Stripe Dashboard is applied.
- If no Customer is set, the language defaults to the browser locale of the user opening the Checkout Session URL.