node.js - 从 Stripe 结帐会话中检索帐单地址?
问题描述
我正在像这样在 Node 中创建一个结帐会话。 https://stripe.com/docs/api/checkout/sessions/create
我已将billing_address_collection
参数设置为,现在想知道是否可以检索从触发required
的 webhook 收集的帐单地址。checkout.completed
我没有找到从结帐会话中检索帐单地址的好方法。
有没有办法做到这一点?还是我应该在将用户发送到结帐会话之前收集这些信息?
解决方案
帐单地址可以通过 Checkout 收集。它不会存在于 CheckoutSession 对象上,而是存在于 PaymentMethod 对象上。
当您收到该checkout.session.completed
事件时,它有一个payment_intent
带有 PaymentIntent 对象 ID 的字段。PaymentIntent 对象又具有您需要的 PaymentMethod。所以你需要从 CheckoutSession -> PaymentIntent -> PaymentMethod 去获取账单明细。
如何做到这一点:在您的 webhook 事件处理程序中,检索 [0] PaymentIntent 和expand
PaymentMethod(通过传递expand: ['payment_method']
)。
PaymentMethod 在billing_details
哈希 [2]下有账单明细
[0] https://stripe.com/docs/api/payment_intents/retrieve
[1] https://stripe.com/docs/api/expanding_objects
[2] https://stripe.com/docs/api/payment_methods/object#payment_method_object-billing_details
推荐阅读
- typescript - 从具有不同键的嵌套对象的值创建联合
- fpga - 通过以太网将数据从 FPGA 发送到 PC
- java - 在 Java 中将 MouseEvent/MouseListener 链接到 ActionMap/InputMap 绑定
- autohotkey - 如何实现类似 MacOS(EN Intl)的德语变音符号行为?
- java - 如何阅读这句话以及它叫什么
- python - 如何在 jupyter notebook 中编写 python 类,然后将其导入以再次使用?
- c++ - 需要读取 UDF 文件系统的文件修改/创建日期和时间
- reactjs - NextJS,在 getServerSideProps 中预加载 Redux 数据
- css - CSS 网格布局隐藏中心列并调整网格以补偿
- c# - 从数据库中获取数据并将其添加到文本框 C# wpf