ReceiptProcessed
Description: Triggered when a new receipt is successfully scanned and processed.
When to use: Subscribe to this event if you need to process receipts as soon as they're created for both paper and digital receipts. This will have the maximum amount of detail for each receipt.
Sources:
- Paper receipt scanning (mobile SDK)
- Email receipt parsing
- Account-linked purchase data (ALP)
Payload Structure:
{
"id": "UUID for webhook message",
"timestamp": 1778077677000,
"payload_data": {
"receipt_metadata": {
"receipt_type": "Type of receipt format (e.g., digital, paper)",
"global_receipt_id": "Global unique identifier for the receipt",
"blink_receipt_id": "UUID - Primary Blink Receipt ID",
"original_blink_receipt_id": "Original Blink Receipt ID if duplicated",
"email_metadata": {
"email_timestamp": "Timestamp email was received",
"email_id": "Email unique ID",
"email_client": "Email client used to send the message",
"email_sender": "Email sender address",
"email_subject": "Email subject line"
},
"parse_metadata": {
"parse_method": "How the receipt was parsed",
"parse_timestamp": "Timestamp when the receipt was parsed",
"country_code": "Country code (e.g.: US)",
"parser_version": "Internal version of the parser used"
},
"flags": {
"is_receipt": "Whether this was successfully classified as a receipt",
"is_instacart_shopper": "Flag indicating if an Instacart shopper submitted the receipt",
"fraud_detected": "Flag for internal fraud detection",
"fraud_reason": "Optional reason for fraud flag",
"is_duplicate": "Flag to indicate if this is a duplicate receipt",
"duplicate_blink_receipt_ids": "Array of UUIDs for duplicate receipts"
},
"client_user_id": "The client-specific user identifier, if provided",
"version": "API response schema version used for this payload"
},
"merchant": {
"name": "Merchant or store name",
"client_name": "Normalized merchant name used by client",
"sub_merchant": "In case of delivery platforms (e.g., DoorDash > Chipotle).",
"mall_name": "If inside a mall, the name of mall.",
"tax_id": "Taxpayer ID of the merchant",
"channel": "merchant channel (grocery, mass, qsr, etc.)",
"location": {
"address": "Street address of the store",
"city": "City where the store is located",
"state": "State where the store is located",
"zip_code": "ZIP or postal code",
"store_phone_number": "merchant's store location phone number",
"store_number": "Store number or ID"
}
},
"payment": {
"method": "Method of payment (e.g., credit_card, cash)",
"card_type": "Type of card used (e.g., Visa, MasterCard)",
"card_issuer": "Issuer of the payment card",
"last_4_digits": "Last 4 digits of the card",
"terminal_id": "Terminal ID (if available)",
"cashback": "Cashback earned or redeemed"
},
"charges": {
"totals": {
"subtotal": "Subtotal amount before tax and discounts",
"discount_total": "Total amount charged",
"rounding_adjustment": "Rounding adjustment amount if applicable",
"total": "Total amount charged",
"taxes": "total taxes applied to purchase",
"fees": "total fees applied to purchase",
"tip": "Tip amount"
},
"fees": [
{
"type": "Type of fee (e.g., bag_fee, delivery_fee)",
"description": "description of fee, extracted from receipt",
"amount": "Fee amount",
"scope": "order | item"
}
],
"currency_code": "Currency code"
},
"purchase": {
"order_number": "Merchant-issued order number",
"status": "ordered, shipped, refunded, returned, etc.",
"purchase_date": "Date the purchase was made",
"purchase_time": "Time the purchase was made",
"transaction_id": "Primary transaction ID",
"long_transaction_id": "Extended transaction ID",
"cashier_id": "Cashier or operator ID",
"register_id": "RegisterID",
"loyalty_number": "Loyalty program member number",
"purchase_time_string": "Purchase time formatted as string",
"purchase_time_hh_mm": "Purchase time formatted to HH:MM",
"loyalty_program": "is a loyalty purchase (Bool)",
"unqualified_promotions": "promotion_ids that did not qualify",
"qualified_promotions": "promotion_ids that qualified",
"type": "in-store, delivery, pickup, digital, etc."
},
"products": [
{
"name": "product description, as extracted from the receipt",
"number": "product sku or internal merchant ID, as extracted from receipt",
"name_normalized": "product name, as associated with the upc",
"quantity": "Number - Quantity purchased",
"unit_price": "Float - Price per unit",
"regular_price": "Float - Regular (non-discounted) price",
"purchased_price": "Float - Final purchase price, after any discounts/coupons",
"purchase_status": "ordered, completed, shipped, out for delivery",
"is_sensitive": "Boolean - Whether the product is considered sensitive",
"qualified_promotions": "whether this specific product index qualified for promo.",
"category": "Product category",
"size": "Size or weight of the product",
"brand": "Brand of the product",
"upc": "Universal Product Code",
"subproducts": []
}
],
"discounts": [
{
"type": "Type of discount (e.g., manufacturer_coupon)",
"description": "discount fee, as extracted from the receipt",
"amount": "Amount of discount applied",
"scope": "Scope (order or item level)",
"product_ids": "Reference to product IDs if item level"
}
]
},
"payload_type": "ReceiptProcessed",
"version": 1
}