Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
About Stripe payments
Upgrade your integration
Payments analytics
Online payments
OverviewFind your use caseManaged Payments
Use Payment Links
Build a checkout page
Build an advanced integration
    Overview
    Quickstart
    Design an advanced integration
    Customize look and feel
    Manage payment methods
    Collect additional information
    Collect taxes on your payments
    Save the payment method used for a payment
    Save a payment method without making a payment
    Send receipts and paid invoices
Build an in-app integration
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment interfaces
Payment Links
Checkout
Web Elements
In-app Elements
Payment scenarios
Custom payment flows
Flexible acquiring
Orchestration
In-person payments
Terminal
Other Stripe products
Financial Connections
Crypto
Climate
HomePaymentsBuild an advanced integration

Email receipts

Automatically send receipts and paid invoices.

Copy page

With payments using Elements and the Payment Intents API, you can manually or automatically send customized email receipts. Learn more about receipts for payments.

Automatically send receipts

To enable automated receipts, toggle Successful payments on in your Customer emails settings. Only a successful payment triggers a receipt. Failed or declined payments don’t send a receipt.

You can optionally specify a receipt_email when you create a PaymentIntent. If you do, Stripe sends a receipt to that address instead of the Customer’s email address.

The receipt_email and Customer email address are the only values used to send a receipt. We don’t send a receipt to an email address included in a payment’s PaymentMethod billing_details.

Command Line
cURL
curl https://api.stripe.com/v1/payment_intents \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d amount=1099 \ -d currency=usd \ -d "payment_method_types[]"=card \ --data-urlencode description="Thanks for your purchase!" \ --data-urlencode receipt_email="I.override.your.customer.email.settings@example.com"

The receipt displays the amount, your public business information, and any value in the description parameter of the request. Receipts for one-time payments include only this information. You can’t add additional line items.

To trigger an automatic receipt after the payment is complete, update the PaymentIntent’s receipt_email.

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.

To display custom text, use the description attribute on the PaymentIntent. Some examples include:

  • 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.

Automatically send paid invoices

The Payment Intents API can’t generate invoices. Use Stripe Billing to directly create the invoice.

Localization

When using the Payment Intents API, the language of the receipt is determined by several factors:

  • If a Customer is set, their preferred locale is used if available.
  • If a Customer is set without any preferred locale, or if no Customer is set, the language setting from the Stripe Dashboard is applied.
Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc