Skip to content
Create account or Sign in
/
Ask AI
Create accountSign in
  • Get started
  • Payments
  • Revenue
  • Risk
  • Data
  • Money management
  • Stablecoins
  • Embedded finance
  • Developer resources
More
APIs & SDKsHelp
OverviewAccept a payment
Online payments
OverviewFind your use case
Use Payment Links
Build a payments page
Build a custom integration with Elements
Build an in-app integration
Use Managed Payments
Recurring paymentsMigrate legacy integrations
In-person payments
Terminal overview
Availability
Readers
Ready-made apps
Custom integration
Payment methods
Add payment methods
Manage payment methods
Faster checkout with Link
Payment operations
Analytics
Balances and settlement time
Compliance and security
Currencies
Declines
Disputes
Payouts
ReceiptsRefunds and cancellations
Advanced integrations
Custom payment flows
Flexible acquiring
Off-Session Payments
Multiprocessor orchestration
Beyond payments
Incorporate your company
Agentic commerce
Financial Connections
Climate
United States
English (United States)
  1. Home/
  2. Payments

Receipts and paid invoices

Send customer receipts for payments or refunds.

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.

Automatically send receipts Recommended

You can automatically send customer receipts by email. Automatic receipts are available for payments and refunds.

  1. In the Dashboard, open Settings > Business > Customer emails.
  2. Under Payments, toggle Successful payments or Refunds.

For payments, receipts are only sent if the payment succeeds. Nothing is sent if a payment fails or gets declined.

Regional considerations
Mexico

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.

Manually send receipts

You can send email receipts manually from the Dashboard. Manual receipts are available for payments and refunds.

  1. In the Dashboard, open Transactions > Payments.
  2. Click the successful payment or refund you want to send a receipt for. Only successful payments have receipts available.
  3. On the payment details page, go to Receipt history.
  4. Click the overflow menu (), and select Send receipt.
  5. Confirm or update the customer’s email address. You can send to multiple recipients by adding more email addresses as a comma-separated list.
  6. Click Send.

The receipt history on the payment details page displays up to 10 receipts.

Receipt URLs

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.

Expired receipt URLs

Receipts don’t 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.

Test receipts

If you need to send a receipt for a test payment, send a manual receipt.

Paid invoice receipts

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.

Note

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.

Automatically send paid invoices

  1. Enable automatic receipts.
  2. Set invoice_creation[enabled] to true when creating a checkout session:
Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \ -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 receipt timing

Invoice receipts are only sent after the payment completes successfully, not when the checkout session ends. This means that payment methods with delayed payment confirmation timing, including ACH Direct Debit, Bacs Direct Debit, bank transfers, Boleto, Canadian pre-authorized debits, Konbini, OXXO, Pay by Bank, and SEPA Direct Debit, can take longer to trigger receipts. Check your payment method’s documentation to determine whether payment confirmation is immediate or delayed.

Customize receipts

You can customize your receipts to match your business’s visual design, along with the business information to display.

Branding

Your branding settings control the visual display of your receipts and other Stripe interfaces.

  1. In the Dashboard, go to Settings > Business > Branding.
  2. Click the Email receipts tab.
  3. For the image type you want to add, click the plus icon (), then select your file. Make sure it meets all the requirements.
  4. For your color scheme, select your brand color and your accent color. You can use the dropdown color picker, or provide a color code as HEX or RGB values.
  5. Click Save changes.

Image requirements

Image requirements are the same for both the logo and icon files, but the icon is displayed at smaller sizes.

Dimensions
  • Must be square
  • Minimum 128 x 128 pixels
Supported file types
  • PNG (recommended)
  • JPG
Maximum file size512 KB

Business information

Your business details control the information that displays on receipts and other Stripe interfaces.

  1. In the Dashboard, go to Settings > Business > Business details.
  2. Under Public details, click Edit.
  3. Update your customer support information, noting the requirements.
  4. Click Save.

Support requirements

For compliance reasons, some contact information is always required on receipts:

  • Legal business name
  • Customer support address
  • Customer support email
  • Privacy policy URL

Localization

The language of the receipt and invoice is determined by the customer information available when you create the checkout session.

Customer informationLocalization 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 user’s browser locale when they open the checkout session URL.

Custom invoice data

When creating a checkout session, you can pass custom values to the invoice_creation.invoice_data object to customize your invoices:

Command Line
cURL
Stripe CLI
Ruby
Python
PHP
Java
Node.js
Go
.NET
No results
curl https://api.stripe.com/v1/checkout/sessions \ -u "sk_test_BQokikJOvBiI2HlWgH4olfQ2:" \ -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 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.

Stripe Connect customizations

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 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_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 don’t use the Dashboard (which includes Express and Custom connected accounts), the platform configures receipt settings through settings.branding.

See also

  • Send customer emails
  • Automate customer emails
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Chat with Stripe developers on Discord.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc
On this page