微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用PHP中的REST API进行Paypal付款

我不清楚如何将此代码示例放入 PHP的CURL结构中,特别是-d句柄.
curl -v https://api.sandBox.paypal.com/v1/payments/payment \
-H 'Content-Type:application/json' \
-H 'Authorization:Bearer EOjEJigcsRhdOgD7_76lPfrr45UfuI43zzNzTktUk1MK' \
-d '{
  "intent":"sale","redirect_urls":{
    "return_url":"http://<return URL here>","cancel_url":"http://<cancel URL here>"
  },"payer":{
    "payment_method":"paypal"
  },"transactions":[
    {
      "amount":{
        "total":"7.47","currency":"USD"
      },"description":"This is the payment transaction description."
    }
  ]
}'

我已经使用了以下测试调用,但不知道如何将其扩展到上面的示例.

curl_setopt($ch,CURLOPT_URL,"https://api.sandBox.paypal.com/v1/oauth2/token");
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); 
curl_setopt($ch,CURLOPT_USERPWD,$clientId.":".$secret);
curl_setopt($ch,CURLOPT_POSTFIELDS,"grant_type=client_credentials");

$result = curl_exec($ch);

if(empty($result))die("Error: No response.");
else
{
    $json = json_decode($result);
    print_r($json->access_token);
}
尝试这样的事情,-d是你要发布的数据.自定义标头使用CURLOPT_HTTPHEADER设置.
$data = '{
  "intent":"sale","description":"This is the payment transaction description."
    }
  ]
}';

curl_setopt($ch,"https://api.sandBox.paypal.com/v1/payments/payment");
curl_setopt($ch,$data); 
curl_setopt($ch,CURLOPT_HTTPHEADER,array(
  "Content-Type: application/json","Authorization: Bearer EOjEJigcsRhdOgD7_76lPfrr45UfuI43zzNzTktUk1MK","Content-length: ".strlen($data))
);

看看这里的选项,http://php.net/manual/en/function.curl-setopt.php设置curl_setopt($ch,false);例如,如果您不需要返回标头.

原文地址:https://www.jb51.cc/php/134887.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐