第一步:登录Paypal开发管理面板
https://developer.paypal.com/
注意:要用正式商家账户登录,进入https://developer.paypal.com/developer/applications开发者应用管理中心
第二步:要对接Paypal的任何API,首先需要创建App。如下点击 Create App
第三步:创建的App表明了你需要对接Paypal的那些接口。
创建成功后,可以在App内部创建Webhook、管理开发者需要的凭证、秘钥。包括Sandbox 信息。
要对接Paypal的任何接口,需要先请求获取 Access Token接口。
如何获取AccessToken呢?
curl -v https://api.sandbox.paypal.com/v1/oauth2/token \
-H "Accept: application/json" \
-H "Accept-Language: en_US" \
-u "client_id:secret" \
-d "grant_type=client_credentials"
上面这代码在Shell环境里请求 -u参数输入crul页面认证信息,既在paypal APP里生成的客户端id/秘钥凭证。
下面是PHP原生获取
$client_id = "";
$secret = "";
$paypal_api_url = "https://api.paypal.com/v1/oauth2/token";
$headers = array(
"Content-type: application/x-www-form-urlencoded",
'Accept: application/json',
'Accept-Language: en_US',
"Authorization: Basic ".base64_encode("$client_id:$secret")
);
$data = array(
'grant_type' => "client_credentials"
);
$jsonOrders = $this->CurlDataPost($paypal_api_url, $headers, $data);
$pp_res = json_decode($jsonOrders, true);
public function CurlDataPost($url,$headers,$postFields){
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
if($headers)
{
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
}
$postBodyString = "";
if($postFields)
{
foreach ($postFields as $k => $v)
{
$postBodyString .= "$k=" . urlencode($v) . "&";
}
unset($k, $v);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postBodyString);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
$httpStatusCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch))
{
throw new Exception(curl_error($ch),0);
}
else{
if (200 !== $httpStatusCode){
var_dump($httpStatusCode);
}
}
curl_close($ch);
return $content;
}
Paypal沙盒模式:创建用户,一般需要创建买家、卖家两个用户,便于测试开发。
沙盒登录地址:www.sandbox.paypal.com