我正在使用python做条带支付集成,并使用以下数据:
import requests
import json
pos = requests.post
url = "https://api.stripe.com/v1/sources"
headers = {'AUTHORIZATION': 'Bearer sk_test_NXht3wZpuYWRIWpMDDqT3RG2'}
data = {
'type': 'alipay',
'owner[email]': 'abc@xyz.com',
'redirect[return_url]': 'https://www.google.com',
'amount': '500',
'currency': 'USD',
'metadata': {
'data': 'data'
}
}
pos(url, data=data, headers=headers).text
json.loads(pos(url, data=data, headers=headers).text)
当给出元数据时,它会给出错误类型‘{\n“错误”:{ \n“”:“无效散列”,\n“参数”:“元数据”,\n“类型”:"invalid_request_error"\n }\n}\n’根据条带文档可以使用元数据( https://stripe.com/docs/api/curl#create_source-metadata)
有没有人能告诉我们为什么会出现这个错误。
发布于 2018-06-05 16:40:03
这将解决问题。
import requests
import json
pos = requests.post
url = "https://api.stripe.com/v1/sources"
headers = {'AUTHORIZATION': 'Bearer sk_test_NXht3wZpuYWRIWpMDDqT3RG2'}
data = {
'type': 'alipay',
'owner[email]': 'abc@xyz.com',
'redirect[return_url]': 'https://www.google.com',
'amount': '500',
'currency': 'USD',
'metadata[data]': 'data'
}
pos(url, data=data, headers=headers).text
json.loads(pos(url, data=data, headers=headers).text)
发布于 2018-06-01 20:50:50
条带不支持参数的JSON有效负载。相反,它们需要application/x-www-form-urlencoded
。
目前,您正在将metadata
作为散列发送,并且您没有对其进行正确的编码,因此条纹拒绝了它。
这里最好的解决方案是避免自己做这件事,而是依赖Stripe的官方Python库,您可以在这里找到:https://github.com/stripe/stripe-python
https://stackoverflow.com/questions/50641691
复制相似问题