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