无法通过邮递员或python Stripe客户端更新Stripe API中的嵌套对象



我正试图通过点击stripeapi中的post请求来更新一些字段。但我无法更新/访问嵌套或复杂的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之类的哈希属性,您可以通过在更新请求中指定键和值来更新它们。例如,如果您想在客户的metadata中添加/更新Some_Key密钥,您可以按如下方式执行:

curl https://api.stripe.com/v1/customers/cus_IC9dEzwYVKwLqw 
-u sk_test_replace_with_your_secret_key: 
-d "metadata[Some_Key]"=xyz

https://stripe.com/docs/api/customers/update

最新更新