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

如何为Razor Pages的Post处理器自定义create-checkout-session名称

在Razor Pages中实现Stripe的create-checkout-session接口

Razor Pages中可以通过两种方式实现Stripe要求的create-checkout-session接口:

方式一:作为页面的自定义POST动作

如果你的支付逻辑属于某个现有Razor Page(比如Payment.cshtml),可以使用[ActionName]特性将处理器方法对外暴露为指定名称:

[ActionName("create-checkout-session")]
public IActionResult OnPostCreateCheckoutSession()
{
    // 编写Stripe创建支付会话的逻辑
    // 示例:设置Stripe会话参数并返回重定向URL
    var options = new SessionCreateOptions
    {
        // 配置会话信息,比如商品、金额、成功/取消回调地址等
    };
    var service = new SessionService();
    Session session = service.Create(options);
    
    return Redirect(session.Url);
}

此时接口的完整路径为/Payment/create-checkout-session(Payment是你的页面名称)。

方式二:独立根路径接口

如果希望接口直接映射到根路径/create-checkout-session,可以在单独的Razor Page(比如CreateCheckoutSession.cshtml)的顶部设置@page路由:

@page "create-checkout-session"
@model YourProject.Pages.CreateCheckoutSessionModel

然后在对应的后台代码中使用常规的OnPost方法处理请求:

public IActionResult OnPost()
{
    // 编写Stripe创建支付会话的逻辑
    var options = new SessionCreateOptions
    {
        // 配置会话信息,比如商品、金额、成功/取消回调地址等
    };
    var service = new SessionService();
    Session session = service.Create(options);
    
    return Redirect(session.Url);
}

这样POST请求直接发送到/create-checkout-session即可触发该方法。

内容的提问来源于stack exchange,提问作者Jonathan Wood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 15:46:10