Receipts Beta

    Use Stripe to easily provide your customers with receipts that meet card network rules.

    Card network rules 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. Thankfully, 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 pre-built email receipts, or use receipt data from the Stripe API to generate on-brand custom receipts.

    Pre-built email receipts

    Pre-built email receipts already include all required fields. It’s the simplest way to set up compliant receipts.

    If you have the customer’s email, use the receipt_email field when creating a PaymentIntent. When you provide a receipt_email, Stripe automatically emails a compliant receipt to the customer when the PaymentIntent is captured.

    To trigger an automatic email receipt after the customer checks out, update the PaymentIntent’s receipt_email with the customer’s email.

    For more information about automatic email receipts, see Email Receipts.

    Custom receipts

    If the pre-built option feels too constrained, you can 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 makes it easy to fetch all the necessary fields for compliance-ready receipts.

    The following fields become available in the PaymentIntent object as soon as the payment is processed. Whether you’re emailing or printing your custom receipts for Terminal payments, be sure to include the required fields to meet card network rules.

    Field Name Requirement
    application_preferred_name Application Name Required
    dedicated_file_name AID Required
    authorization_response_code ARC Optional
    application_cryptogram Application Cryptogram Optional
    terminal_verification_results TVR Optional
    transaction_status_information TSI Optional

    Questions?

    We're always happy to help with code or other questions you might have. Search our documentation, contact support, or connect with our sales team. You can also chat live with other developers in #stripe on freenode.

    Was this page helpful? Yes No

    Send

    Thank you for helping improve Stripe's documentation. If you need help or have any questions, please consider contacting support.

    On this page