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

ABP IO支付模块集成时报StripeException: 缺失必填参数cancel_url,如何配置?

ABP IO Stripe支付模块Missing required param: cancel_url报错解决方案

报错截图
报错原因:该异常是Stripe创建结账会话时的强制校验要求,cancel_url为必填参数,用于用户主动取消支付时跳转回商户站点,ABP官方文档未明确标注该配置项,需要手动补充。


固定地址配置方式

找到项目的Web层模块类(通常命名为{你的项目名}WebModule.cs),在ConfigureServices方法中添加Stripe支付选项配置即可:

public override void ConfigureServices(ServiceConfigurationContext context)
{
    // 原有其他配置保留
    
    Configure<StripePaymentOptions>(options =>
    {
        // 替换为你站点的支付取消跳转页面公网地址,必须为HTTPS协议
        options.CancelUrl = "https://你的业务域名/payment/cancel";
        // 同步补全必填的支付成功跳转地址
        options.SuccessUrl = "https://你的业务域名/payment/success";
    });
}

动态地址配置方式(适配多租户/不同订单场景)

如果需要根据订单、租户信息动态生成跳转地址,可以重写Stripe支付服务实现自定义逻辑:

[Dependency(ReplaceServices = true)]
[ExposeServices(typeof(IStripePaymentService))]
public class CustomStripePaymentService : StripePaymentService
{
    public CustomStripePaymentService(
        IOptions<StripePaymentOptions> options, 
        IStripePaymentGateway stripePaymentGateway, 
        IPaymentRequestRepository paymentRequestRepository) 
        : base(options, stripePaymentGateway, paymentRequestRepository)
    {
    }

    public override async Task<Session> CreateCheckoutSessionAsync(PaymentRequest paymentRequest)
    {
        // 示例:根据支付请求携带的订单ID、租户信息动态生成取消地址
        var orderId = paymentRequest.Properties.GetOrDefault("OrderId")?.ToString();
        var tenantPrefix = CurrentTenant.IsAvailable ? $"{CurrentTenant.Name}." : "";
        
        Options.CancelUrl = $"https://{tenantPrefix}你的业务域名/payment/cancel?orderId={orderId}";
        Options.SuccessUrl = $"https://{tenantPrefix}你的业务域名/payment/success?orderId={orderId}";
        
        return await base.CreateCheckoutSessionAsync(paymentRequest);
    }
}

注意事项

  • 配置的cancel_url必须为公网可访问的HTTPS地址,Stripe会提前校验地址可用性,本地开发可使用内网穿透工具映射本地端口
  • 跳转页面无需额外对接Stripe验签逻辑,直接实现对应业务逻辑即可,比如跳转订单列表、展示支付取消提示

内容的提问来源于stack exchange,提问作者Dev Raj Gautam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 11:06:03