给定会话 ID,如何获取输入的付款方式? (会话使用
setup
模式。)
// Get the session object
Stripe.Checkout.SessionService sessionService = new();
Stripe.Checkout.Session session = await sessionService.GetAsync(id);
根据文档:
检索 Session 对象后,获取
键的值,这是在结账会话期间创建的setup_intent
的 ID。 ASetupIntent
是一个用于设置客户银行帐户信息以供将来付款的对象。SetupIntent
但是,
Stripe.Checkout.Session
类没有 setup-intent
属性(并且它不是有效的属性名称)。它有一个 SetupIntent
属性,但这是一个对象而不是字符串,对我来说,它的值为 null。
除了上面引用的文档之外,还有人有这样做的示例吗?
当您在
setup
模式下创建结帐会话时,它应该生成一个SetupIntent并将SetupIntent Id包含在响应中。仅当您在 Create Checkout Session API 调用中expand setup_intent
属性时,这才会变成 SetupIntent 对象。
现在这个SetupIntent不会有PaymentMethod,但在您确认SetupIntent(又名在结账会话托管页面上付款)后,它就会有。然后,您将收到一个
setup_intent.succeeded
webhook 事件,并可以检查其 payment_method 属性。同样,如果您调用 Retrieve SetupIntent API 并expand payment_method
属性,这将变成一个 Payment Method 对象。