首页 > 解决方案 > cURL Paypal Identity API 响应提供商家信息,而不是付款人

问题描述

我已经有一个带有适当电子邮件权利的贝宝身份应用程序,我正在尝试通过此脚本向用户发送电子邮件:

<?php
$clientId = 'myclientid';
$clientSecret = 'myclientsecret';

//SEND CURL API REST REQUEST

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://api.paypal.com/v1/oauth2/token");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_USERPWD, $clientId.":".$clientSecret);
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);
}

$access_token = $json->access_token;

curl_close($ch);

///////////////////////////////////////////////////////////////////////
//GET CURL API REST REQUEST BACK

$cha = curl_init();     

curl_setopt($cha, CURLOPT_URL, 'https://api.paypal.com/v1/oauth2/token/userinfo?schema=openid');        
curl_setopt($cha, CURLOPT_RETURNTRANSFER, 1);   
curl_setopt($cha, CURLOPT_HTTPHEADER, array('Authorization: Bearer '. $access_token, 'Content-Type: 
application/json'));    
curl_setopt($cha, CURLOPT_SSL_VERIFYPEER, FALSE);   
curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials");

$returnresult = curl_exec($cha);

$data = json_decode($returnresult, true);
$http_code = curl_getinfo($cha, CURLINFO_HTTP_CODE);
if($http_code != 200) {
    throw new Exception('Error : Failed to get user information');

}else{

//STORE RETREIVED VALUES HERE////////////////// 


$paypaldata = implode(',',$data);

curl_close($cha);


        if (!empty($paypaldata)) {
          //Do stuff with $paypaldata
        }
}

?>

但是 var paypaldata 中存储的响应是商家的数据,我正在寻找登录的用户数据。我不确定我做错了什么,是的,我可以确保在执行测试时我没有以商家身份登录。

标签: phpjsonapicurlpaypal

解决方案


推荐阅读