设定金额以捕获预授权付款,显然"金额"不是参数

时间:2014-08-21 01:10:06

标签: python stripe-payments

我正在尝试调用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被破坏。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

由于REST API和客户端库之间的差异,有时文档会令人困惑。这是其中一次。

客户端库让您在Charge对象上调用capture方法。因此,它们不使用id参数,但会列出可选参数。

因此,对于Python中的用例,您的代码应如下所示:

response = ch.capture(amount=4200)

示例代码也旨在实现全功能,在这种情况下可能会使事情更加混乱。拨打retrieve的电话与获取资金无关;它在那里你有一个Charge对象来打电话给capture。每当您对Stripe API中的某些内容产生疑问时,请让动词引导您;他们被选中尽可能不言自明。