postman - 无法通过邮递员或 python 条带客户端更新 Stripe API 中的嵌套对象
问题描述
我正在尝试通过点击条带 api 中的发布请求来更新一些字段。但我无法更新/访问嵌套或复杂的 json 对象。
例如:-
我能够更新元数据对象/字典中的任何字段或任何其他字段,例如电子邮件等:-
{
"delinquent": false,
"description": "5f3a250ac1eaa40f0f8eaf7e",
"discount": null,
"email": "rahul.gunkar+t1@autodesk.com",
"invoice_prefix": "784B4E6D",
"livemode": false,
"metadata": {
"Address_Line1": "Pune test 2",
"Address_City": "random city 2",
"Address_State": "random state 2",
"Address_PostalCode": "random code 2",
"Address_Country": "random country 2"
}
但是我无法更新源对象中存在的任何字段,因为它是嵌套的,请参考下面的代码:-
{"sources": {
"object": "list",
"data": [
{
"id": "card_1HblKNKg447shOihGrpTMIGL",
"object": "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,
"brand": "Visa",
"country": "US",
"customer": "cus_IC9dEzwYVKwLqw",
"cvc_check": "pass",
"dynamic_last4": null,
"exp_month": 11,
"exp_year": 2022,
"fingerprint": "UTr7HATsezaxlGkF",
"funding": "credit",
"last4": "4242",
"metadata": {},
"name": null,
"tokenization_method": null
}
],
"has_more": false,
"total_count": 1,
"url": "/v1/customers/cus_IC9dEzwYVKwLqw/sources"
}
}
我想更新address_city等字段。
请参阅随附的屏幕截图以获取更多详细信息:- json 响应的附加图像
解决方案
为了更新链接的对象/资源,您需要使用特定于该资源的 API。例如,如果您想更新示例中卡上的地址信息 (card_1HblKNKg447shOihGrpTMIGL),您可以使用此处记录的 Cards API 执行此操作:
https://stripe.com/docs/api/cards/update
对此的 cURL 请求看起来像:
curl https://api.stripe.com/v1/customers/cus_IC9dEzwYVKwLqw/sources/card_1HblKNKg447shOihGrpTMIGL \
-u sk_test_replace_with_your_secret_key: \
-d address_city=Toronto \
-d address_country=CA
对于metadata
对象上的哈希属性,您可以通过在更新请求中指定键和值来更新它们。例如,假设您想Some_Key
在客户中添加/更新密钥,metadata
您可以执行以下操作:
curl https://api.stripe.com/v1/customers/cus_IC9dEzwYVKwLqw \
-u sk_test_replace_with_your_secret_key: \
-d "metadata[Some_Key]"=xyz
推荐阅读
- python - 从 C 创建 Py_buffer 对象并作为 dict 的一部分传递给 Python
- php - 结合 SQL 查询以提高效率
- javascript - 如何将网站 javascript 值转换为 python 变量?
- c++ - 我正在使用 OOPS 概念编写代码,但我收到有关私有访问说明符的错误,尽管我在类中访问它
- android - 在嵌套片段中打开键盘时,BottomSheet 中出现超级奇怪的故障
- batch-file - 为什么这个 Windows 终端批处理文件会打开一个额外的选项卡?
- javascript - Firestore onSnapshot "IN" 批量条件(有条件的实时更新)
- google-apps-script - 如何解决 Oauth2 回调错误:无法读取未定义 Service_.handleCallback 的属性“参数”
- nginx - nginx 代理管理器 502 登录时网关错误
- python - 如何设置一个while循环,直到列表在Python中停止变化?