curl を使用して Paypal Adaptive API を使用しようとしています。
ドキュメントは、パラメーターを JSON 形式で送信できることを示していますが、常にInvalid Request (580001)
エラーが発生します。
これは私が行っているリクエストです:
ヘッダー
[X-PAYPAL-SECURITY-USERID] => XXXXXX
[X-PAYPAL-SECURITY-PASSWORD] => XXXXXX
[X-PAYPAL-SECURITY-SIGNATURE] => XXXXXX
[X-PAYPAL-REQUEST-DATA-FORMAT] => JSON
[X-PAYPAL-RESPONSE-DATA-FORMAT] => JSON
[X-PAYPAL-APPLICATION-ID] => APP-80W284485P519543T //APP-ID for Sandbox
そして、これは私が構築したjsonデータです:
{"endingDate":"2012-06-11T12:20:02+00:00",
"startingDate":"2012-06-20T12:20:02+00:00",
"maxTotalAmountOfAllPayments":"1000.00",
"currencyCode":"EUR",
"cancelUrl":"http:\/\/localhost\/xx\/pledge?id=221&step=fail",
"returnUrl":"http:\/\/localhost\/xx\/pledge?id=221&step=done",
"pinType":"NOT_REQUIRED",
"requestEnvelope":{"detailLevel":"ReturnAll","errorLanguage":"en_US"},
"clientDetails":[]
}
JSONデータを正しく送信していないと思います。次のように JSON データを設定しています ( curlを使用):
curl_setopt( $handle, CURLOPT_POST, true );
curl_setopt( $handle, CURLOPT_POSTFIELDS, $json_data );
これはjsonデータを送信する適切な方法ですか?