使用Square处理支付失败:银行类错误重试需更换Idempotency Key吗?
Square Card On File 支付重试的幂等键选择
当支付因为余额不足这类银行端原因失败,打算过几小时重试时,必须用新的Idempotency key,理由如下:
Square官方对幂等键的定义很明确:
- 幂等键是用来标记「同一笔请求」的,要是你复用原来的键,Square只会返回上次失败的结果,根本不会发起新的支付尝试。
- 余额不足属于临时可重试的失败,但重试本质上是发起一笔全新的支付请求——虽然客户、金额没变,但时间窗口和支付环境已经不同了,所以得用新的幂等键来告诉Square这是一个独立的新请求。
补充提醒
- 只有当请求因为网络问题完全没收到Square的响应时,才应该用原幂等键去确认请求状态。
- 每次重试都生成新的唯一幂等键,才能保证Square正确处理你的新支付尝试,不会出现重复执行或者返回旧失败结果的问题。
内容的提问来源于stack exchange,提问作者Funzo
相关产品推荐
相关产品推荐

