2014-02-08 24 views
1

最近完成了process創建了從帳戶持有者檢索權限的腳本,現在我發現必須將檢索到的access tokentoken secret(從GetAccessToken響應)轉換爲API簽名以創建X-PAYPAL-AUTHORIZATION標頭。在PHP中爲身份驗證標題生成簽名 - Paypal

的X PAYPAL授權報頭包含:

  • 時間戳
  • 從GetAccessToken響應
  • 簽名從以下信息中生成的訪問令牌:
    • 你API用戶名
    • 您的API密碼
    • 從GetAccessToken響應
    • 從GetAccessToken響應
    • 爲貝寶API操作的請求的端點令牌祕密訪問令牌,如https://api.paypal.com/nvp
    • HTTPS遞送方法,如POST相關
    • 請求參數與請求

的問題是我無法找到如何生成簽名。 PHP中沒有指南(JAVARuby)。

但我的確注意到該指南中的行我也跟着(第一個鏈接)來檢索權限:

貝寶提供了可用於生成的Java,PHP認證頭簽名SDK和.NET 。當您使用SDK時,您將獲得兩個值,如下所示:

但隨後出現的是JAVA指南,我無法在Paypal的SDK中找到任何內容。

任何幫助將不勝感激!

回答

2

這個documentation實際上從他們的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; 
} 
+0

Thanks!找不到它。但這會做。 – Smillification