PAYPAL - 卷曲请求

时间:2015-01-31 20:23:22

标签: curl paypal

您好,

在最终成功获得https://api.sandbox.paypal.com/v1/oauth2/token的授权令牌后,现在我需要构建一个付款对象。

Paypal建议使用以下代码:

curl -v https://api.sandbox.paypal.com/v1/payments/payment
-H "Content-Type:application/json"
-H "Authorization:Bearer A015Mw6GQ5z3CtAUWFdzTISeW7KJcA4s0dssTXavN.N7djY"
-d '{
        "transactions": [{
        "amount": {
            "currency":"USD",
            "total":"12"
        },
        "description":"creating a payment"
        }],
        "payer": {
            "payment_method":"paypal"
        },
        "intent":"sale",
        "redirect_urls": {
            "cancel_url":"https://devtools-paypal.com/guide/pay_paypal/curl?cancel=true",
            "return_url":"https://devtools-paypal.com/guide/pay_paypal/curl?success=true"
        }
   }'

我的PHP代码是:

$ch = curl_init();
$token = "A015Mw6GQ5z3CtAUWFdzTISeW7KJcA4s0dssTXavN.N7djY";
$data = '{
        "transactions": [{
        "amount": {
            "currency":"USD",
            "total":"12"
        },
        "description":"creating a payment"
        }],
        "payer": {
            "payment_method":"paypal"
        },
        "intent":"sale",
        "redirect_urls": {
            "cancel_url":"http://myurl.com/cancel.php",
            "return_url":"http://myurl.com/return.php"
        }
   }';
curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.paypal.com/v1/payments/payment");
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_HEADER, "Content-Type:application/json");
curl_setopt($ch, CURLOPT_HEADER, "Authorization:Bearer ".$token);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

$result = curl_exec($ch);
$json = json_decode($result, TRUE); // 'true' converts it to an array
print_r($json);
curl_close($ch);

它不返回json数据。难道我做错了什么?

感谢

1 个答案:

答案 0 :(得分:0)

我知道这不是您可能要求的确切解决方案,但作为PayPal员工和PayPal PHP SDK的贡献者,我只是好奇,如果您有任何具体原因要使用自己的实施而不是使用PayPal官方SDK for PHP。

如果您计划在网站上实施多个API,则可能需要开始使用PayPal PHP SDK

以下是samples,您可以在本地查看/运行与SDK本身一起打包的内容。

它包含您开始使用所需的所有文档。以下是一些重要的链接:

此外,如果您遇到运行我们SDK的任何问题,请随时创建issue。我应该能够快速帮助你开始。

相关问题