我想在我的毛伊岛应用程序中使用 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 的示例。
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