Stripe · received 18 Oct 2026, 17:49:15 IST
Payment received · ₹900 from Dev · Clay cups, set of 6
Held safelyThe message arrived in a new layout
The payment of ₹900 from Dev for Chai & Co. cups couldn’t be processed because the sender changed how they send information. Holdfast is keeping the message safe and it can be sent again once their developer adjusts the system to recognise the new way they are sending the customer’s ID.
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.
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 now uses data.object.customer.id instead of data.object.customer_id. Change the app to look for data.object.customer.id.
Cause payload_changed
The raw message
Headers
- Accept-Encoding
- gzip
- Content-Length
- 339
- Content-Type
- application/json; charset=utf-8
- Stripe-Signature
- t=1792325955,v1=0c1efc7576b85449e4729fccd09d6a9591c1f2fb3aced07271b685af19125db2
- User-Agent
- Stripe/1.0 (+https://stripe.com/docs/webhooks) holdfast-demo
Body
{
"id": "evt_2432450sf7ctl",
"object": "event",
"type": "payment_intent.succeeded",
"created": 1792325955,
"livemode": false,
"data": {
"object": {
"id": "pi_j0kdrazrfc55",
"object": "payment_intent",
"amount": 90000,
"currency": "inr",
"customer": {
"id": "cus_330jn44wep4zp"
},
"status": "succeeded",
"metadata": {
"customer_name": "Dev",
"item": "Clay cups, set of 6"
}
}
}
}
Last answer from Chai & Co.
{"error":"missing required field customer_id"}