php实现paypal 授权登录
(编辑:jimmy 日期: 2025/12/20 浏览:3 次 )
php实现paypal 授权登录
<"http";
/**
* @name 构造函数
* @param $flag 是否沙箱环境
*/
public function __construct($redirect_uri, $client_id,$client_secret,$scope,$state,$flag = true)
{
$this->_sanbox_flag = $flag;
$this->_redirect_uri = $redirect_uri;
$this->_client_id = $client_id;
$this->_client_secret = $client_secret;
$this->_scope = $scope;
$this->_state = $state;
}
/**
* 创建paypal request url
* @return string
*/
public function create_request_url()
{
$oauth2_auth_uri = $this->_sanbox_flag "client_id=%s&client_secret=%s&grant_type=authorization_code&code=%s",$this->_client_id,$this->_client_secret,$code);
if($this->_sanbox_flag)
$ch = curl_init($this->_token_service_sandbox_url);
else
$ch = curl_init($this->_token_service_live_url);
$options = array(
CURLOPT_POST => 1,
CURLOPT_VERBOSE => 1,
CURLOPT_POSTFIELDS => $postvals,
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => FALSE,
//CURLOPT_SSLVERSION => 2
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$error = curl_error($ch);
curl_close( $ch );
if (!$response ) {
throw new Exception( "Error retrieving access token: " . curl_error($ch));
}
$jsonResponse = json_decode($response );
if ( isset( $jsonResponse->access_token) ) {
$accessToken = $jsonResponse->access_token;
}
} catch( Exception $e) {
throw new Exception($e->getMessage(), 1);
}
return $accessToken;
}
/**
* get the PayPal user profile, decoded
* @param string $accessToken
* @return object
*/
public function acquire_paypal_user_profile($accessToken ) {
try {
if($this->_sanbox_flag)
$url = $this->_acquire_user_profile_sandbox_url . $accessToken;
else
$url = $this->_acquire_user_profile_live_url . $accessToken;
$ch = curl_init( $url );
$options = array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_SSL_VERIFYPEER => FALSE,
//CURLOPT_SSLVERSION => 2
);
curl_setopt_array($ch, $options);
$response = curl_exec($ch);
$error = curl_error( $ch);
curl_close( $ch );
if (!$response )
{
return false;
}
return json_decode($response);
} catch( Exception $e ) {
return false;
}
}
}
?>
以上所述就是本文的全部内容了,希望大家能够喜欢。
下一篇:typecho插件编写教程(四):插件挂载