gpt4 book ai didi

带有 Stripe 的 Python : How do I get valid JSON from a charge response?

转载 作者:太空狗 更新时间:2023-10-30 00:50:28 27 4
gpt4 key购买 nike

我有一个名为 succeed 的 python 包装器方法,如下所示:

def succeed(handler, data):
"""Send the given |data| dict as a JSON response in |handler.response|."""
set_headers(handler)
handler.response.write(json.dumps(data))

我正在尝试将 Stripe API 调用的结果传递给使用此方法从信用卡中扣款的另一项服务。这是另一个类内部的方法调用:

succeed(self, dict(success=True, charge_id=charge.id, response=charge))

当我这样做时,我收到“charge is not JSON serializable”错误。如何使用此代码将所有收费 ID 响应作为 JSON 传递?以下是完整回复:

    TypeError: <Charge charge id=ch_103Tsv2kD9PLZlzDG5ce7TE1 at 0x113003b50> JSON: {
"amount": 3500,
"amount_refunded": 0,
"balance_transaction": "xxxxxx",
"captured": true,
"card": {
"address_city": null,
"address_country": null,
"address_line1": null,
"address_line1_check": null,
"address_line2": null,
"address_state": null,
"address_zip": null,
"address_zip_check": null,
"country": "US",
"customer": null,
"cvc_check": "pass",
"exp_month": 5,
"exp_year": 2015,
"fingerprint": "xxxxxxxxxxxxxx",
"last4": "4242",
"name": "stackoverflow@example.com",
"object": "card",
"type": "Visa"
},
"created": 1392181282,
"currency": "usd",
"customer": null,
"description": "X0G0 FEOMSI NA",
"dispute": null,
"failure_code": null,
"failure_message": null,
"invoice": null,
"livemode": false,
"metadata": {
"email": "stackoverflow@exmple.com"
},
"object": "charge",
"paid": true,
"refunded": false,
"refunds": []
}

最佳答案

使用 .to_dict() 方法将 Stripe charge 对象转换为 python 字典。

序列化字典是留给读者的练习。


作为一个额外的乐趣点,我强烈建议使用 dir 函数:它可以让您看到所有可能的属性和方法。

例如:

>>> import stripe
>>> dir(stripe.Charge)
['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__dict__', '__doc__', '__eq__', '__format__', '__ge__', '__getattr__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', 'all', 'capture', 'class_name', 'class_url', 'clear', 'close_dispute', 'construct_from', 'copy', 'create', 'fromkeys', 'get', 'has_key', 'instance_url', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'refresh', 'refresh_from', 'refund', 'request', 'retrieve', 'save', 'serialize', 'serialize_metadata', 'setdefault', 'stripe_id', 'to_dict', 'update', 'update_dispute', 'values', 'viewitems', 'viewkeys', 'viewvalues']
>>>

从这里可以看到to_dict方法。您还可以看到 serialize 方法,但我不清楚它的作用。

More docs

关于带有 Stripe 的 Python : How do I get valid JSON from a charge response?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719376/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com