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

如何模拟先失败后成功的Stripe退款?需用哪种测试信用卡?

测试模式下模拟Stripe先失败后成功的退款场景

操作步骤及对应测试卡号

1. 触发首次退款失败

使用Stripe测试卡号 4000000000000002 创建一笔支付订单,这个卡号的测试特性是:首次发起退款会直接失败,返回card_declined错误,原因标记为insufficient_funds。

创建支付的示例代码(Python):

import stripe

stripe.api_key = "sk_test_你的测试密钥"

# 创建并确认支付意向
payment_intent = stripe.PaymentIntent.create(
    amount=1000,
    currency="usd",
    payment_method="pm_card_4000000000000002",
    confirm=True,
)

发起首次退款(会失败):

try:
    refund = stripe.Refund.create(
        payment_intent=payment_intent.id,
        amount=1000
    )
except stripe.error.CardError as e:
    print(f"退款失败: {e.user_message}")
    # 此时退款对象的status为failed

2. 重试退款实现成功

不需要更换支付方式,直接再次调用退款API即可。在Stripe测试环境中,这个卡号的第二次退款请求会自动成功,退款状态变为succeeded。

重试退款的示例代码:

refund = stripe.Refund.create(
    payment_intent=payment_intent.id,
    amount=1000
)
print(f"退款成功: {refund.status}")

额外说明

  • 这个测试卡号的行为是Stripe测试环境专属的,仅用于模拟先失败后成功的退款流程,生产环境中无此特性。
  • 如果需要模拟其他类型的退款失败(比如账户无效、权限不足),可以通过调整测试账户的设置或结合测试webhook事件实现,但上述卡号是最直接的解决方案。

内容的提问来源于stack exchange,提问作者Karen Slon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 06:35:56