2016-08-15 5 views
1

Я пытаюсь создать платеж с помощью paypal Rest API, но я получаю эту реакцию на ошибку:Paypal Rest API продолжает возвращаться искаженной ошибкой JSon

{"name":"MALFORMED_REQUEST","message":"The request JSON is not well formed.","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST","debug_id":"262cbdc417df7"} 

здесь с моим кодом:

payment_url = 'https://api.sandbox.paypal.com/v1/payments/payment' 
headers = {"Content-Type": "application/json", "Authorization": "Bearer %s" % access_token} 
data = { 
     "intent": "sale", 
     "redirect_urls": { 
      "return_url": "http://localhost:8080/index.html", 
      "cancel_url": "http://localhost:8080/index.html" 
     }, 
     "payer": { 
      "payment_method": "paypal" 
     }, 
     "transactions": [ 
      { 
       "amount": { 
        "total": "7.47", 
        "currency": "USD" 
       }, 
       "details": { 
        "subtotal": "7.41", 
        "tax": "0.03", 
        "shipping": "0.03" 
       }, 
       "description": "This is the payment transaction description.", 
       "item_list": { 
        "items": [ 
         { 
          "quantity": "1", 
          "name": "item", 
          "price": "7.41", 
          "currency": "USD", 
          "sku": "item" 
         }] 
       } 
      } 
     ] 
    } 
    print headers 
    print data 
    r = requests.post(payment_url, headers=headers, data=data) 
    print 'payment res', r.text 

И Я получаю только ответ:

{"name":"MALFORMED_REQUEST","message":"The request JSON is not well formed.","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST","debug_id":"262cbdc417df7"} 

Я видел немало вопросов относительно такого рода ошибки, но ни один из них не имеет решения. :( Почтовые данные json, очевидно, действительны. В противном случае запрос post method будет генерировать исключения. И ответ возвращается с сервера paypal, но я не могу найти никакой информации из предоставленной ссылки. Я проверил документацию Rest API , и я думаю, что я сделал запрос точно так, как образцы. что я пропустил?

Любой совет или решение будет оценено.

ответ

0

Ваш RETURN_URL и cancel_url значения должны иметь кавычки вокруг них Как сообщается в сообщении, ваш JSON неисправен.

Попробуйте это - http://jsonlint.com/, чтобы увидеть ваши ошибки.

+0

Привет, Гэндальф, спасибо за ваш ответ. Значения return_url и cancel_url были строковыми переменными и имеют кавычки. Json действителен, в противном случае для запросов будут отказаны сообщения. Я думаю, проблема в том, что почтовые запросы на paypal api сделаны, но со странным ответом у меня нет подсказки. – MrAZ