无法从 Stripe 会话获取付款方式

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

给定会话 ID,如何获取输入的付款方式? (会话使用

setup
模式。)

// Get the session object
Stripe.Checkout.SessionService sessionService = new();
Stripe.Checkout.Session session = await sessionService.GetAsync(id);

根据文档

检索 Session 对象后,获取

setup_intent
键的值,这是在结账会话期间创建的
SetupIntent
的 ID。 A
SetupIntent
是一个用于设置客户银行帐户信息以供将来付款的对象。

但是,

Stripe.Checkout.Session
类没有
setup-intent
属性(并且它不是有效的属性名称)。它有一个
SetupIntent
属性,但这是一个对象而不是字符串,对我来说,它的值为 null。

除了上面引用的文档之外,还有人有这样做的示例吗?

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

当您在

setup
模式下创建结帐会话时,它应该生成一个SetupIntent并将SetupIntent Id包含在响应中。仅当您在 Create Checkout Session API 调用中expand
setup_intent
属性时,这才会变成 SetupIntent 对象。

现在这个SetupIntent不会有PaymentMethod,但在您确认SetupIntent(又名在结账会话托管页面上付款)后,它就会有。然后,您将收到一个

setup_intent.succeeded
webhook 事件,并可以检查其 payment_method 属性。同样,如果您调用 Retrieve SetupIntent APIexpand
payment_method
属性,这将变成一个 Payment Method 对象。

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