Stripe payment receipts
Parse Stripe receipt emails
Stripe emails a receipt for each successful payment, to the customer and, if you ask for a copy, to you. This layout reads the receipt number, the amount, the date and the card, and lists the summary's lines.
Use this layoutFree plan included: 2 layouts per endpoint.
- From
- Acme <receipts@stripe.example>
- Subject
- Your receipt from Acme #1234-5678
Receipt from Acme Receipt #1234-5678 Amount paid $49.00 Date paid Oct 29, 2026 Payment method Visa - 4242 Summary Pro plan × 1 $40.00 Extra seats × 3 $9.00 Amount paid $49.00
{
"parsed": {
"status": "matched",
"layout": {
"id": "stripe-receipts",
"name": "Stripe receipts"
},
"fields": {
"receipt": "1234-5678",
"amount": "49.00",
"date": "Oct 29, 2026",
"card": "Visa - 4242"
},
"lineItems": [
{
"item": "Pro plan",
"quantity": "1",
"amount": "40.00"
},
{
"item": "Extra seats",
"quantity": "3",
"amount": "9.00"
}
]
}
}The layout
It matches the email by its subject, reads each field with an RE2 pattern, and turns the list into line items. Edit any of it in the endpoint's settings, where the preview tries it on an email you captured as you type.
{
"id": "stripe-receipts",
"name": "Stripe receipts",
"match": {
"conditions": [
{
"field": "email",
"name": "subject",
"op": "contains",
"value": "receipt from"
}
]
},
"fields": [
{
"name": "receipt",
"from": "text",
"pattern": "Receipt #([0-9-]+)"
},
{
"name": "amount",
"from": "text",
"pattern": "Amount paid\\s+\\$?([0-9][0-9.,]*)"
},
{
"name": "date",
"from": "text",
"pattern": "Date paid\\s+([^\\r\\n]+)"
},
{
"name": "card",
"from": "text",
"pattern": "Payment method\\s+([^\\r\\n]+)"
}
],
"lineItems": {
"from": "text",
"start": "Summary",
"end": "Amount paid",
"pattern": "(?m)^(?P<item>.+?) × (?P<quantity>\\d+)\\s+\\$?(?P<amount>[0-9][0-9.,]*)\\s*$"
}
}