Adyen后台退款与取消按钮:为什么只在特定状态可用
在 Adyen Customer Area 的 Payment details 页找不到退款或取消按钮,通常不是页面故障,而是这笔付款的当前状态与你要执行的动作不匹配。按资料可以确定两条判断规则:退款仅当付款已捕获、状态为 SentForSettle 或 Settled 时可用;对于支持分次捕获(separate capture)的支付方式,取消需在付款被捕获之前进行。 先看状态,再看用户角色,是排查按钮“消失”的正确顺序。
退款:已捕获才有入口
在 Customer Area 进入 Payments > Payment list,按 PSP reference 选中目标付款,打开 Payment details 页。当状态为 SentForSettle 或 Settled 时,页面右上角会出现 Refund payment。点击后需确认两项内容:
- Amount:退款金额。必须等于捕获金额;如果是部分退款,则必须小于捕获金额。
- Reference:本次退款请求的参考号。
随后勾选 Refund this payment,再点页面右下角的 Refund payment 按钮完成提交。
如果状态不是 SentForSettle 或 Settled,退款入口就不会按上述条件提供——此时应先确认这笔付款是否已经捕获,而不是反复刷新页面。
取消:限于捕获之前
取消的入口不在页面顶层:在 Payment details 页点右上角 See all payment actions,再选 Cancel payment。资料在分次捕获的语境下说明,对于支持 separate capture 的支付方式,必须在付款被捕获之前取消,例如商品缺货时;取消会把资金释放回消费者。
这里需要守住一条边界:某支付方式是否支持分次捕获,要查支付方式概览,本文不对此作推断,也不外推各支付方式的具体支持情况。同样,不能把“未捕获”一般性地等同于“一定可以取消”——可取消性取决于该支付方式是否支持分次捕获,以及付款是否仍处于捕获之前。
权限是第二道门槛
状态符合后按钮仍不出现,再核对用户角色:
- 退款:需要 Merchant manage payments 或 Refund payments 角色。
- 取消:需要 Merchant manage payments 或 Cancel payments 角色。
两个动作对应的角色不同,拥有其中一个不等于拥有另一个。建议核对顺序为:状态 → 入口层级 → 角色 → 金额边界。
一个带假设的核对示例
以下数值为自设假设,仅用于演示规则,不是文档给出的示例:假设某笔付款已捕获,捕获金额为 100.00,现要部分退款 40.00。
- 打开该笔付款的 Payment details 页,确认状态为 SentForSettle 或 Settled。
- 点右上角 Refund payment。
- Amount 填 40.00——按规则,部分退款金额须小于捕获金额。
- Reference 填本次退款请求的参考号。
- 勾选 Refund this payment,点右下角 Refund payment。
若把金额改为 120.00,则超过捕获金额 100.00,违反“退款金额等于或小于捕获金额”的规则。这是依据资料规则所作的推演,并非页面示例;它说明金额字段是判断退款表单是否填对的最直接标尺。
找不到按钮时的核对清单
- 状态:是否为 SentForSettle 或 Settled?退款入口以此为前提。
- 入口层级:退款在页面右上角;取消在 See all payment actions 菜单内,不要只看顶层。
- 角色:退款核对 Refund payments,取消核对 Cancel payments,两者不要混用。
- 支付方式与捕获阶段(取消):该支付方式是否支持分次捕获、付款是否尚未被捕获,需另行查证支付方式概览。
- 金额边界(退款):等于或小于捕获金额,部分退款须小于捕获金额。
最后提醒:这里的状态是 Adyen 后台的付款处理状态,不等同于消费者侧资金到账、风控判定或发卡行承诺。按钮可用与否,只说明该动作在当前状态下符合后台规则。