AntiPattern

Untrusted Redirect State

client-controlled-success-state

Client-controlled redirect parameters and premature webhook timing can make payment success appear before verification, while attackers can spoof query strings or referers. Use verified webhook state, not success_url-derived params, to prevent false fulfillment and inconsistent UX.