我正在尝试调用stripe.Charge.retrieve函数
ch = stripe.Charge.retrieve(id = charge_id, amount=total_cost)
response = ch.capture()
但是它会抛出“InvalidRequestError:Received unknown parameter:amount”,即使文档中的API引用说它确实支持参数量。 (https://stripe.com/docs/api#charge_capture)当我尝试另外两个可选参数application_fee或receipt_email时会发生同样的事情,所以我必须以某种方式传递参数错误或者python SDK被破坏。
我做错了什么?
答案 0 :(得分:0)
由于REST API和客户端库之间的差异,有时文档会令人困惑。这是其中一次。
客户端库让您在Charge对象上调用capture
方法。因此,它们不使用id参数,但会列出可选参数。
因此,对于Python中的用例,您的代码应如下所示:
response = ch.capture(amount=4200)
示例代码也旨在实现全功能,在这种情况下可能会使事情更加混乱。拨打retrieve
的电话与获取资金无关;它在那里你有一个Charge对象来打电话给capture
。每当您对Stripe API中的某些内容产生疑问时,请让动词引导您;他们被选中尽可能不言自明。