Метадетическая ошибка в полосовой транзакции с использованием Python - PullRequest
0 голосов
/ 01 июня 2018

Я выполняю интеграцию чередующихся платежей с использованием 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 "error": {\ n "message": "Неверный хеш", \ n "param": "метаданные", \ n "тип": "invalid_request_error" \ n} \ n} \ n ', но в соответствии с документацией полосы могут использоваться метаданные (https://stripe.com/docs/api/curl#create_source-metadata)

Может кто-нибудь сказать решение, почему оно дает такую ​​ошибку.

Ответы [ 2 ]

0 голосов
/ 05 июня 2018

Это решит проблему.

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)
0 голосов
/ 01 июня 2018

Stripe не поддерживает полезную нагрузку JSON для параметров.Вместо этого им требуется application/x-www-form-urlencoded.

. В настоящий момент вы отправляете metadata в качестве хэша, и вы неправильно его кодируете, поэтому Stripe отклоняет его.

Лучшее решение здесьстоит избегать делать это самостоятельно и вместо этого полагаться на официальную библиотеку Python Stripe, которую вы можете найти здесь: https://github.com/stripe/stripe-python

...