Stripe · received 18 Oct 2026, 12:05:54 IST
Payment received · ₹450 from Rohan · Cardamom chai, 250 g
Held safelyThe message arrived in a new layout
Rohan’s ₹450 payment for Cardamom chai couldn’t reach Chai & Co. because the sender changed how it lays out its messages, and the app still expects the old layout. Holdfast is keeping it safe, and it can be sent again once the system is updated.
Is it really from Stripe?
Yes. Its signature matched, so it really came from Stripe.
What happened on each try
- Try 1 · Bad Request (400)The app turned it away, and sending the same thing again won't help, so it is held safely.
- Try 2 · Bad Request (400)The app turned it away, and sending the same thing again won't help, so it is held safely.
What changed since the last one that worked
data.object.customeraddeddata.object.customer.idaddeddata.object.customer_idremoved
Send it again
Holdfast first checks it is genuine and hasn't already been delivered.
For your developer
The sender changed how it lays out its messages. The app still expects the old layout, so change the field name from data.object.customer.id to data.object.customer.id.
Cause payload_changed
The raw message
Headers
- Accept-Encoding
- gzip
- Content-Length
- 343
- Content-Type
- application/json; charset=utf-8
- Stripe-Signature
- t=1792305354,v1=040afa068d2d404938e51a977c5933a8e3454f945bc46e411f69d4a7f244c159
- User-Agent
- Stripe/1.0 (+https://stripe.com/docs/webhooks) holdfast-demo
Body
{
"id": "evt_31qju3paqw5vy",
"object": "event",
"type": "payment_intent.succeeded",
"created": 1792305354,
"livemode": false,
"data": {
"object": {
"id": "pi_214segihnybhx",
"object": "payment_intent",
"amount": 45000,
"currency": "inr",
"customer": {
"id": "cus_1ctxowqtpsos6"
},
"status": "succeeded",
"metadata": {
"customer_name": "Rohan",
"item": "Cardamom chai, 250 g"
}
}
}
}
Last answer from Chai & Co.
{"error":"missing required field customer_id"}