2017-08-17 8 views
0

ごめんなさい(最後の手段、頭の中で自分自身を撮っていない;-);それは明らかにどこかで私のせいだが、私はここや他の場所で検索したり、ドキュメントを読んだり、様々なことを試したりして過ごした。PHP Paypal RESTで支払いが失敗しましたJSONレスポンス

いくつかのいずれかここで間違って何私をポイントしてください:

<?php 

$data = array(
    "intent" => "sale", 
    "redirect_urls" => array(
      "return_url" => "http://.../ok.html", 
      "cancel_url" => "http://.../cancel.html" 
     ), 
    "payer" => array(
      "payment_method" => "paypal" 
     ), 
    "transactions" => array(
      "amount" => array(
        "total" => "1.23", 
        "currency" => "GBP" 
       ) 
     ) 
); 

$ch = curl_init("https://api.sandbox.paypal.com/v1/payments/payment"); 

curl_setopt($ch, CURLOPT_VERBOSE, true); 
$logfile = fopen("curl_log.txt", "w"); 
curl_setopt($ch, CURLOPT_STDERR, $logfile); 

curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json', 
    'Authorization: Bearer <long token returned from REST call', 
)); 
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 

$res = curl_exec($ch); 

curl_close($ch); 
fclose($logfile); 

?> 

エラー:

{"name":"MALFORMED_REQUEST","message":"Incoming JSON request does not map to API request","information_link":"developer.paypal.com/webapps/de‌​veloper/docs/api/…;} 
+0

? – smarber

+0

達成しようとしていることは何ですか?何かエラーがありますか?あなたの質問を説明してください。 – Roshan

+1

[curl error function](http://php.net/manual/en/function.curl-strerror.php)を使用して、実際のエラーの詳細を確認してください –

答えて

0

更新エラーメッセージまたはカール結果何があなたの$ data配列のような、

$data = array(
    "intent" => "sale", 
    "payer" => array(
      "payment_method" => "paypal" 
     ), 
    "transactions" =>array( 
      array(
       "amount" => array(
         "total" => "1.23", 
         "currency" => "GBP") 
      ) 
     ), 
    "redirect_urls" => array(
      "return_url" => "http://.../ok.html", 
      "cancel_url" => "http://.../cancel.html" 
    ) 
); 
+0

コピー貼り付けではないので、もう1つの配列にトランザクション配列をラップする必要があります –

+0

ありがとうございます。 – Nagi

+0

もしそれが働いたら、答えをupvoteので、他の人にも役立ちます –

関連する問題