import requests
import base64
import json
ClientId = 'XXXXXXXXXXXXXXXXX';
Secret = 'XXXXXXXXXXXXXXXXX';
token = base64.b64encode(ClientId + ':' + Secret);
header = {
'Authorization': ('Basic %s' % token),
'Accept': 'application/json',
}
data = {'grant_type': 'client_credentials'}
page=requests.post('https://api.sandbox.paypal.com/v1/oauth2/token', headers=header, data=data)
token=json.loads(page.text)['access_token']
header={
'Content-Type': 'application/json',
'Authorization': 'Bearer '+token,
}
data={
"intent": "sale",
"payer": {"payment_method": "paypal"},
"transactions": [{
"amount": {"total": "7.47", "currency": "USD"}
}]
}
page=requests.post('https://api.sandbox.paypal.com/v1/payments/payment', headers=header, data=data)
data=json.loads(page.text)
print data
Access Token получаю без проблем. При создании Payment получаю такую ошибку:
{'message': 'The request JSON is not well formed.', 'debug_id': '30ae2cc8d3a63', 'name': 'MALFORMED_REQUEST', 'information_link': 'https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST'}
Как я понимаю - не правильное тело запроса JSON. Но я его проверял: VALID.
В чём же ошибка?