c# - 从成功的 strip 结帐重定向

标签 c# asp.net stripe-payments webhooks generic-handler

我正在使用带 C# .Net 的 Stripes 支付网关。我首先创建一个结帐,将用户重定向到 Stripe 的支付网关(我不想麻烦维护卡号等,因此它转发到 Stripe 以询问卡详细信息、处理付款等)https://stripe.com/docs/payments/checkout/one-time - 这是在代码隐藏中完成的。

我将我的成功 URL 设置为 www.example.com/myHandler.ashx(通用处理程序)-此 URL 将订单 ID 设置为成功。我的处理程序代码类似于 https://stripe.com/docs/webhooks/build (因为我使用的是通用处理程序,所以我使用的是表单而不是 MVC)

付款成功后,付款会记录到我的数据库中。

考虑到这是一个 webhook,我如何显示/重定向到感谢页面?

最佳答案

您有不止一种方法来解决这个问题。

选项 1:
将成功页面与您的 webhook 结合起来。这意味着它将向用户显示页面并在后端更新事务的状态。

你的网址看起来像这样SuccessUrl = "https://example.com/success?session_id={CHECKOUT_SESSION_ID}"然后使用 session ID 处理状态更改,就像使用 webhook 一样,但将 html 页面返回给用户(从技术上讲,这不会是 webhook)。

根据您的问题,可能是 SuccessUrl将 session 对象作为正文,否则您当前的代码不应该工作,但我不确定。

要根据 Id 获取 session 对象,您可以再次调用 stripe 看到:
https://stripe.com/docs/api/checkout/sessions/retrieve#retrieve_checkout_session

Once payment is successful, the Checkout Session will contain a reference to the Customer, and either the successful PaymentIntent or an active Subscription.



选项 2:
与感谢页面分开创建一个 webhook。这意味着 SuccessUrl将是您的感谢页面。
webhook 需要单独定义,并使用 stripe 全局定义。你可以在这里查看这是如何完成的:https://stripe.com/docs/webhooks/configure

关于c# - 从成功的 strip 结帐重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59392944/

相关文章:

laravel - 带确认方法手动的 Stripe PaymentIntent 每次都会失败

paypal - 具有一对多关系的支付服务

c# - 在 C# 中开发 HTTP 监视器

c# - .NET 配置 : Read a value in the specified Type

c# - Xamarin.Forms 中的 IOS 联系人邮政地址

asp.net - ExpectedResponseUrl 错误是 Visual Studio 2010 web 性能测试

c# - 如何在枚举中获取枚举值的 int

javascript - 向正则表达式添加点 (.)

c# - IIS应用程序池过程使用大量内存

ios - 通过 IOS 应用程序中的 webview Controller 付款