A timed-out payout is either safe to resend or a double payment. Paystack, Flutterwave, MTN MoMo and M-Pesa B2C each answer differently. Here's why.
For further actions, you may consider blocking this person and/or reporting abuse
Top comments (1)
the three-way fork at the top is the useful part: whether a resend is safe is a property of the lookup, not of the timeout. the failure mode worth naming is the hybrid, where the provider does support a lookup but only by their transaction id, which you never receive because the request timed out before the response ever arrived. then 'wait for the webhook' stops being a preference and becomes the only correct branch, and any job that retries on a timer is quietly running the double-payment path. for mobile money specifically, the human-decides branch also needs a documented escalation path, otherwise 'a person decides' turns into whoever happens to be on support that evening.