带运输,开票和订单信息的条纹Webhook

时间:2020-10-11 07:06:35

标签: stripe-payments webhooks

我正在尝试使用Stripe Webhooks获取有关所下订单的所有信息,并使用它来完成我的订单。但是,我似乎找不到包含我需要的所有信息的正确事件/触发器。到目前为止,我发现非常不错的两个是order.payment_succeededpayment_intent.succeeded

order.payment_succeeded拥有我需要的所有信息,但没有买方的帐单邮寄地址/信息。

另一方面,

payment_intent.succeeded具有除订单项/订购的产品列表之外的所有信息。

是否有一个包含所有帐单,运输和订单信息的事件?如果不是,则这两个事件中的哪个首先发生?至少我可以以某种方式存储数据并根据传入的信息对其进行更新...?

1 个答案:

答案 0 :(得分:1)

为了获取帐单信息,您需要在收到order.payment_succeeded事件时展开在订单[1] [2]上链接的费用对象。收货地址是事件订单有效载荷[3]的一部分。

总而言之,Orders API已正式弃用。如果可能的话,我们的建议是,如果您想向客户收费,请收集他们的账单信息[4]和运输信息[5],请使用Stripe Checkout [6]。当用户成功完成结帐时,您将收到的事件包括checkout.session.completed [7]。使用此事件的有效负载(即Checkout会话对象),您可以在API中查询Checkout会话中包含的行项[8]。

Stripe的事件没有确定的顺序[9],但是order.payment_succeeded表示收费成功。

[1] https://stripe.com/docs/api/orders/object#order_object-charge

[2] https://stripe.com/docs/api/charges/object#charge_object-billing_details

[3] https://stripe.com/docs/api/orders/object#order_object-shipping

[4] https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-billing_address_collection

[5] https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-shipping_address_collection

[6] https://stripe.com/docs/payments/accept-a-payment

[7] https://stripe.com/docs/api/events/types#event_types-checkout.session.completed

[8] https://stripe.com/docs/api/checkout/sessions/line_items

[9] https://stripe.com/docs/webhooks/best-practices#event-ordering