2016-08-15 4 views
1

Ich versuche, die Zahlung durch paypal REST-API zu erstellen, aber ich erhalte immer diese Fehlerreaktion:Paypal REST-API hält Rückkehr malformed json Fehler

{"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"} 

hier mit meinem Code:

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 

Und Ich bekomme nur die Antwort wie folgt:

{"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"} 

Ich habe einige Fragen bezüglich gesehen diese Art von Fehler, aber keiner von ihnen hat eine Lösung noch. :( Die JSON-formatierten Post-Daten sind offensichtlich gültig. Andernfalls würde Anfragen post-Methode Ausnahmen auslösen. Und die Antwort wird vom Paypal-Server zurückgegeben, aber ich kann keine Informationen aus dem Link finden. Ich habe Rest API-Dokumentation überprüft und ich glaube, ich die Anfrage genau wie die Proben gemacht. Was habe ich?

würde geschätzt Jede Art Beratung oder Lösung.

Antwort

0

Ihre return_url und cancel_url Werte haben müssen Anführungszeichen um sie vermissen Wie die Nachricht sagt, ist Ihr JSON fehlerhaft.

Versuchen Sie dies - http://jsonlint.com/, um Ihre Fehler zu sehen.

+0

Hallo, Gandalf, danke für deine Antwort. Die Werte return_url und cancel_url waren String-Variablen und haben Anführungszeichen. Der JSON ist gültig, andernfalls werden die Post-Anforderungen für die Parameter fehlschlagen. Ich denke, das Problem ist, die Postanfragen an Paypal API ist getan, aber mit einer seltsamen Antwort habe ich keine Ahnung. – MrAZ