2015-08-19 19 views
0

我試圖向PayPal發送付款。但出於某種原因,我只收到MALFORMED_REQUEST錯誤。 有沒有更多的信息。甚至沒有getData()函數的例外。PayPal請求不斷收到MALFORMED_REQUEST

以下是編譯JSON:

{ 
"intent": "sale", 
"payer": { 
    "payment_method": "paypal", 
    "payer_info": { 
     "first_name": "Testvorname", 
     "last_name": "Testnachname", 
     "email": "[email protected]", 
     "suffix": "Herr" 
    } 
}, 
"transactions": [ 
    { 
     "amount": { 
      "currency": "EUR", 
      "total": "72.00" 
     }, 
     "item_list": { 
      "items": [ 
       { 
        "quantity": "4", 
        "name": "test1", 
        "price": "8", 
        "currency": "EUR" 
       }, 
       { 
        "quantity": "2", 
        "name": "test2", 
        "price": "20", 
        "currency": "EUR" 
       } 
      ] 
     } 
    } 
], 
"redirect_urls": { 
    "return_url": "https://www.google.de", 
    "cancel_url": "https://www.google.de" 
} } 

我不知道這可能是不對的JSON。 我正在使用PHP SDK。

+0

你展示這裏的JSON正確驗證。你確定這是真正發送到貝寶的嗎?如果您繼續爲此付出代價,您可能需要嘗試[此PayPal PHP SDK](https://www.angelleye.com/product/paypal-sdk-php/)。它適用於Classic API(我仍然更喜歡和推薦),並且沒有任何古怪的問題,比如我在官方的PayPal SDK中看到相當多的東西。許多PayPal集成代表實際上也更喜歡這個SDK。 –

回答

0

該問題不在SDK中。您傳遞給PayPal服務器的數據會導致此問題。雖然這裏的錯誤信息並不明顯。

您不需要在「付款人」對象中傳遞「payer_info」。刪除它可以解決問題。這裏是JSON會是什麼樣子:

{ 
    "intent": "sale", 
    "payer": { 
     "payment_method": "paypal" 
    }, 
    "transactions": [ 
     { 
      "amount": { 
       "currency": "EUR", 
       "total": "72.00" 
      }, 
      "item_list": { 
       "items": [ 
        { 
         "quantity": "4", 
         "name": "test1", 
         "price": "8", 
         "currency": "EUR" 
        }, 
        { 
         "quantity": "2", 
         "name": "test2", 
         "price": "20", 
         "currency": "EUR" 
        } 
       ] 
      } 
     } 
    ], 
    "redirect_urls": { 
     "return_url": "https://www.google.de", 
     "cancel_url": "https://www.google.de" 
    } 
} 

因爲你總是可以使用在SDK中提供的示例的詳細信息,並幫助您快速幫你調試的問題的文件,等

這裏一些有用的鏈接:

+0

好的,謝謝,但是,如果我不能使用它,那麼payer_info對象的點是什麼? – Pippo

+0

它是響應對象的一部分。當您在REST API中完成paypal express checkout流程時,您將獲得付款人信息。你可以閱讀哪些字段是可接受的:https://developer.paypal.com/webapps/developer/docs/api/ –