从 Stripe 结帐会话中检索帐单地址?

Zac*_*try 5 node.js stripe-payments

我正在像这样在 Node 中创建一个结帐会话。 https://stripe.com/docs/api/checkout/sessions/create

我已将billing_address_collection参数设置为required,现在想知道是否可以检索从checkout.completed触发的webhook收集的帐单地址。

我没有找到从结帐会话中检索帐单地址的好方法。

有没有办法做到这一点?或者我应该在将用户发送到结账会话之前收集这些信息?

hmu*_*noz 7

账单地址可以通过 Checkout 收集。它不会存在于 CheckoutSession 对象上,而是存在于 PaymentMethod 对象上。

当您获得该checkout.session.completed事件时,它有一个payment_intent带有 PaymentIntent 对象 ID的字段。PaymentIntent 对象又具有您需要的 PaymentMethod。所以你需要从 CheckoutSession -> PaymentIntent -> PaymentMethod 去获取账单明细。

如何执行此操作:在您的 webhook 事件处理程序中,检索 [0] PaymentIntent 和expandPaymentMethod(通过传递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