Provide receipts
Use Stripe to provide your customers with receipts that meet card network rules.
Card network rules and local regulatory requirements are different for in-person payments. If you accept payments using Stripe Terminal, you must provide customers with the option to receive a physical or email receipt. Stripe provides everything you need to start offering receipts with your first transaction.
Receipts must contain certain fields to comply with card network rules. You can use Stripe’s prebuilt email receipts, or use receipt data from the Stripe API and your Terminal integration to generate on-brand custom receipts.
Prebuilt email receipts
Prebuilt email receipts already include all card network-required fields. It’s the simplest way to set up compliant receipts.
If you have the customer’s email address, use the receipt_
field when creating a PaymentIntent. When you provide a receipt_
, Stripe automatically emails a compliant receipt to the customer when capturing the PaymentIntent.
To trigger an automatic email receipt after the customer checks out, update the PaymentIntent’s receipt_
with the customer’s email.
For more information about automatic email receipts, see Email Receipts.
Custom receipts
You can also customize receipts to include any design and content you want—as long as you list required information. When you accept in-person payments with EMV chip cards, card networks require you to include several fields on the receipts you provide to customers.
The Stripe API allows you to fetch necessary fields for compliance-ready receipts.
The following fields become available in the PaymentIntent object as soon as the payment is confirmed.
Field | Name | Requirement |
---|---|---|
account_ | Account Type | Required (Optional in US) |
application_ | Application name | Required |
dedicated_ | AID | Required |
authorization_ | ARC | Optional |
application_ | Application Cryptogram | Optional |
terminal_ | TVR | Optional |
transaction_ | TSI | Optional |
You can access these fields server-side using the Stripe API, or client-side using the Stripe Terminal SDKs. When using the JavaScript SDK, the PaymentIntent object matches the API object.
Whether you’re emailing or printing your custom receipts for Terminal payments, be sure to include the required fields to meet card network rules. If provided, you can also access the cardholder’s preferred language (based on the presented card’s settings), using the preferred_
field on the Payment Method object.