Skip to content

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.
The email
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
What your endpoint delivers
{
  "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*$"
  }
}

More senders