Ingest Transaction
Submit a provider-agnostic POS payload. Hazel normalizes, signs with ES256, and stores the receipt.
Payload
JSON{
"source": {
"provider": "generic-clover-demo",
"providerTransactionId": "cl-demo-a21d482d",
"providerLocationId": "cl-loc-denver"
},
"merchant": {
"merchantId": "merchant_paper_supply",
"name": "Paper Supply",
"category": "Retail",
"location": {
"address1": "18 Walnut Street",
"city": "Denver",
"region": "CO",
"postalCode": "80203",
"country": "US"
}
},
"transaction": {
"occurredAt": "2026-08-06T04:52:54.678Z",
"status": "completed",
"subtotalMinor": 14000,
"taxMinor": 1191,
"tipMinor": 0,
"discountMinor": 200,
"totalMinor": 14991,
"currency": "USD"
},
"payment": {
"method": "card",
"brand": "Mastercard",
"network": "mastercard",
"last4": "4444",
"cardholderName": "Taylor Buyer",
"authorizationCode": "AUTH980",
"expiryMonth": "11",
"expiryYear": "2029"
},
"lineItems": [
{
"description": "Notebook Set",
"quantity": 3,
"unitPriceMinor": 1100,
"grossMinor": 3300,
"taxMinor": 281,
"totalMinor": 3581
},
{
"description": "Tote Bag",
"quantity": 1,
"unitPriceMinor": 1500,
"grossMinor": 1500,
"taxMinor": 128,
"totalMinor": 1628
},
{
"description": "Sticker Sheet",
"quantity": 2,
"unitPriceMinor": 400,
"grossMinor": 800,
"taxMinor": 68,
"totalMinor": 868
},
{
"description": "Fountain Pen",
"quantity": 3,
"unitPriceMinor": 2800,
"grossMinor": 8400,
"taxMinor": 714,
"totalMinor": 9114
}
],
"rawPayload": {
"demoNonce": "a21d482d",
"payloadVersion": "demo-1"
}
}Each sample randomizes the merchant, line items, card, and provider. Every payload gets a unique providerTransactionId.