2 min read
What it means
A technical error prevented collection. A transient failure in the payment rails.
Where you see it
It arrives in the webhook payload:
{
"data": {
"object": {
"id": "pay_7M3X1",
"loan_id": "loan_2K9P4",
"status": "failed",
"failure_code": "technical_error"
}
}
}
How to handle it
No customer action needed; the collection is re-attempted automatically.
Reconcile against live state, since webhooks are unordered and a later event may supersede this one.
In practice
Treat technical_error as one branch of your failure_code handling, not the whole story. For payments, the value tells you why a collection failed so you can respond proportionately — a technical failure needs no customer contact, whereas an insufficient-funds failure is a moment for supportive, hardship-aware messaging. Always confirm current state before acting, because a later success event (a retry that cleared) may already have superseded this failure, and webhook delivery is unordered.
Frequently asked questions
Is technical_error final?
Not necessarily — for payments, a later retry may succeed. Reconcile against live loan state before acting.
Should I show this reason to the customer verbatim?
Map it to your own clear, humane copy rather than surfacing the raw code. See Map errors to user-facing messages.
Where does technical_error appear in the payload?
Under data.object.failure_code in the payment.failed webhook. Verify the signature, then branch on it.
Related reading
Funding for UK limited companies
Credicorp lends to your company, not to you personally — short-term working capital with no personal guarantee. See what your business could access.
