我正在尝试使用Stripe Webhooks获取有关所下订单的所有信息,并使用它来完成我的订单。但是,我似乎找不到包含我需要的所有信息的正确事件/触发器。到目前为止,我发现非常不错的两个是order.payment_succeeded
和payment_intent.succeeded
。
order.payment_succeeded
拥有我需要的所有信息,但没有买方的帐单邮寄地址/信息。
payment_intent.succeeded
具有除订单项/订购的产品列表之外的所有信息。
是否有一个包含所有帐单,运输和订单信息的事件?如果不是,则这两个事件中的哪个首先发生?至少我可以以某种方式存储数据并根据传入的信息对其进行更新...?
答案 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
[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