从Stripe Charge API获取Stripe Checkout产品SKU

时间:2019-07-21 22:20:56

标签: stripe-payments

我有一个非常基本的网站,该网站运行带有2种产品的条纹结帐。一切正常,我能够出售产品,并且它们会出现在仪表板中。现在,我想使整个运送过程自动化,并获得每次购买的物品以及购买物品的运送地址。我可以通过Stripe API获取地址,但是找不到任何GET命令可以告诉我与Charge一起订购了哪个产品sku。看起来应该很容易发现?它显示在Web GUI仪表板中,而不显示在Web请求中。我已经在https://stripe.com/docs/api处仔细阅读了文档,但没有太大帮助。

我在python中有一个有效的网络请求,该请求可以返回我创建的所有费用,但没有产品信息。

1 个答案:

答案 0 :(得分:0)

好的,我知道了怎么做。这有点令人费解,应该通过条纹简化,但这是您可以执行的操作。

首先请求这样的事件列表(我正在使用python)

import stripe    
foo = stripe. PaymentIntent.list(type='checkout.session.completed',limit=10)

一旦获得事件,您就可以发现隐藏在json对象内部的付款意图。

payment_intent = foo['data']['object']['payment_intent'] 

一旦您有付款意向,您就可以像这样从条带中检索payment_intent对象

charges = stripe.PaymentIntent.retrieve(payment_intent)['charges']['data'][0]

这将产生其中包含所有计费数据的费用对象。

现在可以获取从该付款方式订购的产品。可以在事件对象中找到

item = events['data'][<insert or loop over this list element>]['data']['object']['display_items'][0]['sku']['attributes']['name']

执行此操作,您可以获取已售出的货物和物品。