You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe API PHP部分退款失效:执行后总是全额退款

Stripe PHP SDK部分退款变全额退款的排查方案

可能的原因及排查步骤

  • 核对退款明细与支付意向状态
    登录Stripe后台找到对应Payment Intent,查看以下信息:

    • amount_received:确认实际到账金额是否为预期的3 CHF
    • amount_refunded:查看已退款总金额
    • 逐条查看退款记录的单条金额,确认是否是多次小额退款累计成全额,而非单次触发全额退款。
  • 验证参数传入是否正确
    在createRefund函数中添加日志,输出传入的$refundAmount和转换后的$refundAmount * 100值,确认调用函数时传入的退款金额确实是0.5 CHF(转换后应为50),而非误传了3 CHF。

  • 检查支付方式是否支持部分退款
    查看该Payment Intent的payment_method_types字段,部分支付方式(如特定预付卡、线下支付渠道)不支持部分退款。CHF主流信用卡通常支持,但需确认具体支付方式的官方规则。

  • 排查重复调用情况
    检查是否存在前端重复触发退款请求、后端逻辑重复调用createRefund函数的情况,多次小额退款累计可能会被误认为是单次全额退款。

  • 确认Payment Intent状态
    确保Payment Intent处于succeeded状态后再发起退款,若处于requires_confirmation等未完成状态,退款可能会直接取消整个支付意向,导致全额退款。


内容的提问来源于stack exchange,提问作者sveta ivanova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:32:50