2017-03-27 6 views
0

私は正常にHTTP投稿を実行するcURLコマンドを持っています。私は要求モジュールを使用してノードでhttpポストを複製しようとしています。ノード要求が正常に返されることができません。私はcURLについて何を誤解していますか?私にとって、requireを使った私のhttp投稿は、cURLコマンドとまったく同じようです。ここcURLをJSONに変換するには

curl https://svcs.sandbox.paypal.com/AdaptivePayments/Pay \ 
-s \ 
--insecure \ 
-H "X-PAYPAL-SECURITY-USERID: caller_1312486258_biz_api1.gmail.com" \ 
-H "X-PAYPAL-SECURITY-PASSWORD: 1312486294" \ 
-H "X-PAYPAL-SECURITY-SIGNATURE: AbtI7HV1xB428VygBUcIhARzxch4AL65.T18CTeylixNNxDZUu0iO87e" \ 
-H "X-PAYPAL-REQUEST-DATA-FORMAT: JSON" \ 
-H "X-PAYPAL-RESPONSE-DATA-FORMAT: JSON" \ 
-H "X-PAYPAL-APPLICATION-ID: APP-80W284485P519543T" \ 
-d '{ 
"actionType":"PAY", 
"currencyCode":"USD", 
"receiverList":{ 
    "receiver":[ 
    { 
     "amount":"1.00", 
     "email":"[email protected]" 
    } 
    ] 
}, 
"returnUrl":"http://www.example.com/success.html", 
"cancelUrl":"http://www.example.com/failure.html", 
"requestEnvelope":{ 
    "errorLanguage":"en_US", 
    "detailLevel":"ReturnAll" 
} 
}' 

して、httpは、私の知る限りは差がない言うことができるように

request.post(
    "https://svcs.sandbox.paypal.com/AdaptivePayments/Pay", 
    { 
     "headers": { 
      "X-PAYPAL-SECURITY-USERID": "caller_1312486258_biz_api1.gmail.com", 
      "X-PAYPAL-SECURITY-PASSWORD": "1312486294", 
      "X-PAYPAL-SECURITY-SIGNATURE": "AbtI7HV1xB428VygBUcIhARzxch4AL65.T18CTeylixNNxDZUu0iO87e", 
      "X-PAYPAL-REQUEST-DATA-FORMAT": "JSON", 
      "X-PAYPAL-RESPONSE-DATA-FORMAT": "JSON", 
      "X-PAYPAL-APPLICATION-ID": "APP-80W284485P519543T" 
     }, 
     "data": { 
      "actionType":"PAY", 
      "currencyCode":"USD", 
      "receiverList":{ 
       "receiver":[ 
        { 
         "amount":"1.00", 
         "email":"[email protected]" 
        } 
       ] 
      }, 
      "returnUrl":"http://www.example.com/success.html", 
      "cancelUrl":"http://www.example.com/failure.html", 
      "requestEnvelope":{ 
       "errorLanguage":"en_US", 
       "detailLevel":"ReturnAll" 
      } 
     } 
    }, 
    function (error, response, body) { 
    console.log(body); 
    } 
); 

を投稿する必要があります。

+0

問題が適切かどうかわかりません。しかし、あなたはcURLをJSONなどに変換できるPOSTMANを使うことができます。ここはhttps://www.google.co.in/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q=postman+chrome&* –

+0

です。curlコマンドは受け付けません。私のターミナルで走るそれはオプションなしの議論があり、それが理由だと言います。 –

+0

スクリプトですか、ターミナルで実行していますか? –

答えて

0

これは、ここで

var request = require('request'); 

var headers = { 
    'X-PAYPAL-SECURITY-USERID': 'caller_1312486258_biz_api1.gmail.com', 
    'X-PAYPAL-SECURITY-PASSWORD': '1312486294', 
    'X-PAYPAL-SECURITY-SIGNATURE': 'AbtI7HV1xB428VygBUcIhARzxch4AL65.T18CTeylixNNxDZUu0iO87e', 
    'X-PAYPAL-REQUEST-DATA-FORMAT': 'JSON', 
    'X-PAYPAL-RESPONSE-DATA-FORMAT': 'JSON', 
    'X-PAYPAL-APPLICATION-ID': 'APP-80W284485P519543T' 
}; 

var dataString = `{ 
    "actionType":"PAY", 
    "currencyCode":"USD", 
    "receiverList":{ 
    "receiver":[ 
     { 
     "amount":"1.00", 
     "email":"[email protected]" 
     } 
    ] 
    }, 
    "returnUrl":"http://www.example.com/success.html", 
    "cancelUrl":"http://www.example.com/failure.html", 
    "requestEnvelope":{ 
    "errorLanguage":"en_US", 
    "detailLevel":"ReturnAll" 
    } 
}`; 

var options = { 
    url: 'https://svcs.sandbox.paypal.com/AdaptivePayments/Pay', 
    method: 'POST', 
    headers: headers, 
    body: dataString 
}; 

function callback(error, response, body) { 
    if (!error && response.statusCode == 200) { 
     console.log(body); 
    } 
} 

request(options, callback); 

を働いた変換を行ったツールです。 https://curl.trillworks.com/#node

また、dataStringオブジェクトは、名前が示すように文字列です。さもなければ、それは通りません。私は ``複数行の文字列に ``を使いました。

それを解決しました。