在PHP-Paypal中为身份验证标头生成签名

在PHP-Paypal中为身份验证标头生成签名,php,paypal,oauth,Php,Paypal,Oauth,最近完成了从帐户持有人处检索权限的脚本创建后,我现在发现我必须转换检索到的访问令牌和令牌机密(来自GetAccessToken响应)到API签名以创建X-PAYPAL-AUTHORIZATION标题 X-PAYPAL-AUTHORIZATION标头包含: 时间戳 GetAccessToken响应中的访问令牌 根据以下信息生成的签名: 您的API用户名 您的API密码 GetAccessToken响应中的访问令牌 GetAccessToken响应中的令牌密钥 PayPal API操作请求的端点

最近完成了从帐户持有人处检索权限的脚本创建后,我现在发现我必须转换检索到的
访问令牌
令牌机密
(来自
GetAccessToken
响应)到API签名以创建
X-PAYPAL-AUTHORIZATION
标题

X-PAYPAL-AUTHORIZATION标头包含:

  • 时间戳
  • GetAccessToken响应中的访问令牌
  • 根据以下信息生成的签名:
    • 您的API用户名
    • 您的API密码
    • GetAccessToken响应中的访问令牌
    • GetAccessToken响应中的令牌密钥
    • PayPal API操作请求的端点,例如
    • HTTPS传递方法,如POST
    • 与请求关联的请求参数
问题是我找不到如何生成签名。PHP(和)中没有指南

但是,我注意到了指南中的一行(第一个链接)以检索权限:

PayPal提供SDK,可用于生成Java、PHP和.NET的身份验证头签名。当您使用SDK时,您将获得两个值,例如:

但是接下来是JAVA指南,我在Paypal的SDK中找不到任何东西

任何帮助都将不胜感激

这实际上从他们的PHP SDK中删除了应该为您完成的功能

private function generateAuthString($apiCred, $accessToken, $tokenSecret, $endpoint)
{
$callerUid = $apiCred->getUserName();
$callerPswd = $apiCred->getPassword();
$auth = new AuthSignature();
$response = $auth->genSign($callerUid,$callerPswd,$accessToken,$tokenSecret,'POST',$endpoint);
$authString =
"token=".$accessToken.
",signature=".$response['oauth_signature'].
",timestamp=".$response['oauth_timestamp'];
return $authString;
}

谢谢找不到。但这就行了。