在 Windows 目标平台的 .NET MAUI 应用程序中使用 Stripe 支付网关

问题描述 投票:0回答:1

我想在我的毛伊岛应用程序中使用 Stripe 支付网关。问题是Stripe需要将客户端重定向到特定页面:如果操作成功,那么客户端将被重定向到成功页面,失败时也是如此。所以,我不确定是否可以在我的应用程序中实现此类内容,因为它没有页面。我在这里附加条纹连接选项:

 var options = new SessionCreateOptions
 {
     // Stripe calls the URLs below when certain checkout events happen such as success and failure.
     SuccessUrl = $"{thisApiUrl}/checkout/success?sessionId=" + "{CHECKOUT_SESSION_ID}", // Customer paid.
     CancelUrl = s_wasmClientURL + "failed",  // Checkout cancelled.
     PaymentMethodTypes = new List<string> // Only card available in test mode?
     {
         "card"
     },
     LineItems = new List<SessionLineItemOptions>
     {
         new()
         {
             PriceData = new SessionLineItemPriceDataOptions
             {
                 UnitAmount = (long)product.Price, // Price is in USD cents.
                 Currency = "USD",
                 ProductData = new SessionLineItemPriceDataProductDataOptions
                 {
                     Name = product.BaseRequestId.ToString(),
                 },
             },
             Quantity = 1,
         },
     },
     Mode = "payment" // One-time payment. Stripe supports recurring 'subscription' payments.
 };

当我来到这里时,问题发生了:(CheckoutController.cs)

var service = new SessionService();
 var session = await service.CreateAsync(options); //error

HTTP 请求已从 ReadyOrders.xaml.cs 发送:

response = await HttpClient.PostAsJsonAsync("https://localhost:44368/api/Checkout", order);
//var response = await result.Content.ReadAsStringAsync();
response.EnsureSuccessStatusCode(); //Response status code does not indicate success: 500 (Internal Server Error).

我想知道是否可以在目标平台为 Windows 的 maui 应用程序中添加条纹。主要问题是重定向到成功和失败页面。也许没有它们就可以实现付款?我还没有找到任何在移动或桌面应用程序中使用 Stripe 的示例。

asp.net .net stripe-payments asp.net-core-webapi maui
1个回答
0
投票

Stripe Checkout 目前需要

success_url
才能成功创建会话。如果您有可能托管一个网页,那么只需将您的用户发送到一个类似“您的付款已成功,请返回应用程序”的页面就足够了

如果 Stripe 的 PaymentLinks 适合您的用例,他们确实支持在结账会话结束时停留在同一页面上[1]。如果您主要销售相同的商品或一组商品并且没有动态购物车,这对您来说可能是一个可行的选择。

Stripe 确实有 Android 和 iOS SDK [2, 3]。在查看此内容时,我发现一位用户提到他们围绕

stripe-ios
[4] 创建了一个 iOS 绑定库。还有一个第三方 GH 存储库似乎用于绑定 Stripe 的 SDK[5]。因此,绑定库也可能是一个适合您的选择。

Stripe 的其他支付服务涉及托管您自己的网页,但对于您来说,这也可能会遇到无法托管网页的相同限制。

[1] https://docs.stripe.com/api/ payment_links/ payment_links/object# payment_link_object-after_completion [2] https://github.com/stripe/stripe-ios [3] https://github.com/stripe/stripe-android [4] .NET MAUI ApplePay、GooglePay + Stripe [5] https://github.com/TheEightBot/Stripe.MAUI

© www.soinside.com 2019 - 2024. All rights reserved.