1. Identify the document before changing email settings
A missing receipt is not necessarily a failed payment. A public developer question describes successful subscription payments with receipt emails enabled but no email arriving; it demonstrates the confusion, not current Stripe behavior.[4] Start by asking whether the customer needs a payment receipt, a paid invoice, or an unpaid invoice requesting payment.
Stripe creates receipts for successful payments, including subscription and invoice payments. Paid invoice receipts contain more detail than standard receipts; subscriptions generate invoices automatically, while one-time payments require invoice creation to be enabled.[1] An invoice notification after finalization and a receipt after payment are different email categories.[2] Keep the support ticket’s document request separate from its payment-status investigation.
2. Choose the right automatic sending path
For automatic payment receipts, open the Dashboard’s Settings, Business, Customer emails and enable Successful payments. Refund receipts have a separate Refunds toggle. Payment receipts send only when payment succeeds, not after a failure or decline.[1]
For a one-time Checkout payment requiring a paid invoice, enable automatic receipts and create the Session with invoice_creation[enabled]=true. After successful payment, Stripe sends an invoice summary with download links for both the invoice and payment receipt. This one-time Checkout invoice creation is priced separately; check current pricing before enabling it broadly.[1]
For direct PaymentIntent integrations, receipt_email is important: in live mode, supplying it sends a receipt regardless of the account’s email settings.[3] Our recommendation is to inspect request parameters as well as Dashboard toggles when investigating unexpected receipts.
3. Treat test email as a separate acceptance check
Stripe’s current receipt guide directs you to send a manual receipt for a test payment.[1] Do not interpret a successful simulated payment and an empty inbox as sufficient evidence that live receipt configuration is broken. Conversely, do not describe a test payment as proof that automatic live delivery works.
The invoice-send endpoint has an explicit boundary: test-mode requests send no emails even though they emit invoice.sent.[5] That event is therefore not inbox-delivery proof. Calling invoice-send again is also not a substitute for resending a payment receipt: when an already-paid invoice is sent this way, the email contains no reference to its payment.[5]
Recommended acceptance records separate simulated payment state, receipt preview or manual sending, and any independently observed mailbox result. This guide reports documentation research, not a live-account email test.
4. Wait for payment success, not the return page
Invoice receipts send after successful payment, not when the Checkout Session ends. Asynchronous methods can therefore trigger them later; Stripe lists bank transfers and several direct-debit methods among the examples.[1] Avoid promising a receipt immediately after the customer returns to your site.
Stripe documents invoice.paid as an event to listen for when accessing invoice receipts programmatically.[1] Use payment and invoice records to investigate readiness, and inspect email evidence separately. A sensible customer message states that payment confirmation is pending rather than inventing a delivery deadline. Never ask for another payment solely because an email is absent.
5. Recover the receipt without creating another charge
- Confirm the intended recipient and the successful payment, then open its receipt history in the Dashboard and choose Send receipt. Stripe lets you confirm or update the address before sending.[1]
- Inspect customer email logs: Stripe makes logs for emails sent within the last 60 days available from the Customers page.[2]
- If providing an in-app receipt link, use the Charge’s
receipt_url. Receipt links expire after 30 days; the receipt itself does not.[1]
Our recommended closeout records the document type, environment, payment state, recipient check and recovery action. Record mailbox confirmation only when actually observed; neither a configured toggle nor a resend action guarantees inbox delivery.
Sources and dates
Official documentation supports technical behavior; community questions demonstrate qualitative demand only. Retrieved and checked on 2026-09-22. Retrieval is not publication. Unstated dates remain unknown. This is documentation research, not a live-account test, PayIn feature claim, or legal, tax or financial advice. Account eligibility and regional availability require separate confirmation.
- [1] Receipts and paid invoices · Publication date not stated; update date not stated · Checked 2026-09-22.
- [2] Send customer emails · Publication date not stated; update date not stated · Checked 2026-09-22.
- [3] Create a PaymentIntent · Publication date not stated; update date not stated · Checked 2026-09-22.
- [4] Stripe email receipt subscription · Published: 2022-06-27; Updated: 2022-06-27 · Checked 2026-09-22.
- [5] Send an invoice for manual payment · Publication date not stated; update date not stated · Checked 2026-09-22.