如何检测Stripe支付成功或失败?

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

我正在收集用户的付款信息,然后定期收费。

var paymentIntentCreateOptions = new PaymentIntentCreateOptions
{
    Customer = customerId,
    PaymentMethod = paymentMethodId,
    Amount = 123400,
    Currency = "usd",
    OffSession = true,
    Confirm = true,
};
var paymentIntentService = new PaymentIntentService();
PaymentIntent paymentIntent = paymentIntentService.Create(paymentIntentCreateOptions);

文档指出:

当付款尝试失败时,请求也会失败,并显示 402 HTTP 状态代码,并且 PaymentIntent 的状态为

requires_payment_method

但是这段代码有什么作用呢?它会抛出异常吗?它返回 null 吗?我怎样才能找到失败的原因?

我很困惑为什么运行交易的这个非常重要的元素没有明确列出。

c# .net-core stripe-payments
1个回答
0
投票

事实证明,处理付款时发生错误可能会导致以下两种情况之一。

  1. 可以将

    PaymentIntent.Status
    设置为
    successful
    以外的值。其他潜在值可以包括
    requires_payment_method
    requires_confirmation
    requires_action
    processing
    requires_capture
    canceled

  2. 它可以抛出

    StripeException
    。对于付款方式被拒绝等情况,会抛出异常。

就我个人而言,我更希望以一致的方式处理所有错误。现在我的代码只是将

successful
以外的任何状态转换为异常。

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