Adyen后台退款与取消按钮:为什么只在特定状态可用

在 Adyen Customer Area 的 Payment details 页找不到退款或取消按钮,通常不是页面故障,而是这笔付款的当前状态与你要执行的动作不匹配。按资料可以确定两条判断规则:退款仅当付款已捕获、状态为 SentForSettle 或 Settled 时可用;对于支持分次捕获(separate capture)的支付方式,取消需在付款被捕获之前进行。 先看状态,再看用户角色,是排查按钮“消失”的正确顺序。

Authorised、Settled、按钮可用性
本文涉及的概念与核对环节。

退款:已捕获才有入口

在 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。

  1. 打开该笔付款的 Payment details 页,确认状态为 SentForSettle 或 Settled。
  2. 点右上角 Refund payment。
  3. Amount 填 40.00——按规则,部分退款金额须小于捕获金额。
  4. Reference 填本次退款请求的参考号。
  5. 勾选 Refund this payment,点右下角 Refund payment。

若把金额改为 120.00,则超过捕获金额 100.00,违反“退款金额等于或小于捕获金额”的规则。这是依据资料规则所作的推演,并非页面示例;它说明金额字段是判断退款表单是否填对的最直接标尺。

找不到按钮时的核对清单

  1. 状态:是否为 SentForSettle 或 Settled?退款入口以此为前提。
  2. 入口层级:退款在页面右上角;取消在 See all payment actions 菜单内,不要只看顶层。
  3. 角色:退款核对 Refund payments,取消核对 Cancel payments,两者不要混用。
  4. 支付方式与捕获阶段(取消):该支付方式是否支持分次捕获、付款是否尚未被捕获,需另行查证支付方式概览。
  5. 金额边界(退款):等于或小于捕获金额,部分退款须小于捕获金额。

最后提醒:这里的状态是 Adyen 后台的付款处理状态,不等同于消费者侧资金到账、风控判定或发卡行承诺。按钮可用与否,只说明该动作在当前状态下符合后台规则。

原始资料

docs.adyen.com

上一篇 Adyen付款列表里PSP reference与Merchant reference各用来做什么