cURL работает на cli, но не в переполнении стека

Это отлично работает в командной строке:

curl -v https://api.sandbox.paypal.com/v1/payments/payment \
-H "Content-Type:application/json" \
-H "Authorization:Bearer <authkey>" \
-d '{"intent":"sale","redirect_urls":{"return_url":"https:\/\/devtools-paypal.com\/guide\/pay_paypal\/curl?success=true","cancel_url":"https:\/\/devtools-paypal.com\/guide\/pay_paypal\/curl?cancel=true"},"payer":{"payment_method":"paypal"},"transactions":[{"amount":{"total":"7.47","currency":"USD"},"description":"This is the payment transaction description."}]}'

а затем в php у меня есть следующее

    <?php

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

curl_setopt($ch, CURLOPT_ENCODING, "Content-Type:application/json");
curl_setopt($ch, CURLOPT_ENCODING, "Authorization:Bearer <authkey>");
curl_setopt($ch, CURLOPT_POSTFIELDS, '{"intent":"sale","redirect_urls":{"return_url":"https:\/\/devtools-paypal.com\/guide\/pay_paypal\/curl?success=true","cancel_url":"https:\/\/devtools-paypal.com\/guide\/pay_paypal\/curl?cancel=true"},"payer":{"payment_method":"paypal"},"transactions":[{"amount":{"total":"7.47","currency":"USD"},"description":"This is the payment transaction description."}]}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$res = json_decode(curl_exec($ch));
curl_close($ch);

?>
<pre>
<?php print_r($res); ?>
</pre>

Однако это только печатает <pre></pre> и никакого ответа вообще. Почему это происходит?

0

Решение

Используйте CURLOPT_HTTPHEADER вместо CURLOPT_ENCODING.

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/json", "Authorization:Bearer <authkey>"));
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]