成功会话后获取 Stripe 处理费

Umu*_*ğlu 8 c# stripe-payments

我们在应用程序中创建一个 Stripe 会话,如下所示:

        StripeConfiguration.ApiKey = ConfigurationManager.AppSettings["StripeKey"];

        var baseUrl = ConfigurationManager.AppSettings["DomainURL"];

        var options = new SessionCreateOptions
        {
            PaymentMethodTypes = new List<string> {
                "card",
            },
            PaymentIntentData = new SessionPaymentIntentDataOptions()
            {
                Description = requestDto.TrackingNumber,
                ReceiptEmail = requestDto.User.Email,
            },
            CustomerEmail = requestDto.User.Email,
            ClientReferenceId = requestDto.TrackingNumber,
            LineItems = new List<SessionLineItemOptions> {
                new SessionLineItemOptions {
                    Name = requestDto.Title,
                    Amount = requestDto.Total,
                    Currency = "usd",
                    Quantity = 1,
                    Description = requestDto.TrackingNumber
                },
            },
            SuccessUrl = baseUrl + $"/Payment/Success",
            CancelUrl = baseUrl + $"/Payment/Failure",
        };

        var service = new SessionService();
        var session = service.Create(options);

        return session.Id;
Run Code Online (Sandbox Code Playgroud)

之后,出现条纹支付页面,用户输入信用卡信息。付款成功后,我们正在尝试获取 Stripe 处理费。我们尝试了“BalanceTransactionService”,但没有成功。我认为“余额交易”对象不适用于此付款类型。有没有办法从stripe获得加工费?

小智 12

每个成功的(卡)结账会话都将包含对关联的成功付款意图的引用:

https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object- payment_intent

使用付款意图,您可以通过检索付款意图的余额交易来检索 Stripe 费用。Stripe 文档在这里有一个确切的例子:

https://stripe.com/docs/expand/use-cases#stripe-fee-for- payment

执行此逻辑的规范位置将在履行订单后的 webhook 中:https://stripe.com/docs/ payments/checkout/fulfill-orders