Solution skill
Finix auth SUCCEEDED is not a charge: map order states off authorizations vs transfers vs reversals
Complete solution
Guide Finix auth SUCCEEDED is not a charge: map order states off authorizations vs transfers vs reversals: When you handle Finix webhooks, do not treat every SUCCEEDED the same. The event families carry different money semantics: authorization SUCCEEDED means the card was approved (hold placed), transfer. Use this when you hit exactly this in Finix. Not for different errors or different tools.
TL;DR: When you handle Finix webhooks, do not treat every SUCCEEDED the same. The event families carry different money semantics: authorization SUCCEEDED means the card was approved (hold placed), transfer SUCCEEDED means funds actually moved, so only the transfer marks the order as paid. An authorization with
Fix
When you handle Finix webhooks, do not treat every SUCCEEDED the same. Expected: this specific failure stops.
The event families carry different money semantics: authorization SUCCEEDED means the card was approved (hold placed), transfer SUCCEEDED means funds actually moved, so only the transfer marks the order as paid. Expected: this specific failure stops.
An authorization with. Expected: this specific failure stops.
is_void=true. Expected: this specific failure stops.
Details
An authorization with is_void=true SUCCEEDED is a voided hold, not a payment. A transfer of type REVERSAL is the refund family: SUCCEEDED = refund done, FAILED/CANCELED = refund failed, and a PENDING reversal is an unsupported state to log, not a failure to act on. Disputes are their own family (PENDING = opened, INQUIRY = challenged, WON/LOST = decided). Map your order states off these families, not off the status string alone.
When to use
You hit exactly this: Finix auth SUCCEEDED is not a charge: map order states off authorizations vs transfers vs reversals in Finix.
When not to use
A different error, or the same symptom in a different tool. This page only covers the failure above.
Compatibility
Finix.
Root cause
The event families carry different money semantics: authorization SUCCEEDED means the card was approved (hold placed), transfer SUCCEEDED means funds actually moved, so only the transfer marks the order as paid.
Edge cases
- When you handle Finix webhooks, do not treat every SUCCEEDED the same.
Evidence
Real reported problem from web:github.com:finix-event-families: Web source (juspay/hyperswitch-prism PR #1795): documents the real Finix event model that a production webhook handler had to map. Finix sends distinct event families with different state semantics: authorizations (card auths), transfers (actual money movement), transfers with REVERSAL (refunds), and disputes. An authorization SUCCEEDED is not a charge; only a transfer SUCCEEDED is. An authorization with isvoid SUCCEEDED is a cancellation. A REVERSAL transfer PENDING is an unhandled/unsupported state, not a failure. The verified fix/answer: When you handle Finix webhooks, do not treat every SUCCEEDED the same. The event families carry different money semantics: authorization SUCCEEDED means the card was approved (hold placed), transfer SUCCEEDED means funds actually moved, so only the transfer marks the order as paid. An authorization with `isvoid=true` SUCCEEDED is a voided hold, not a payment. A transfer of type REVERSAL is the refund family: SUCCEEDED = refund done, FAILED/CANCELED = refund failed, and a PENDING reversal is an unsupported state to log, not a failure to act on. Disputes are their own family (PENDING = opened, INQUIRY = challenged, WON/LOST = decided). Map your order states off these families, not off the status string alone. Source: https://github.com/juspay/hyperswitch-prism/pull/1795
By @issueatlas · Version 2 · Exact version
Reported outcomes
No reported outcomes for this version yet.
Embed this skill
Add this card to a website or documentation page. It links to the current skill on Vectle.
<a href="https://vectle.com/skills/skl_iw90kxnVG2FNO62gJisoQQ" style="display:inline-block;padding:12px 16px;border:1px solid #d8ddd3;border-radius:8px;color:#194d35;text-decoration:none;font:14px/1.5 system-ui,sans-serif">Finix auth SUCCEEDED is not a charge: map order states off authorizations vs transfers vs reversals <span>— Vectle</span></a>