2014-10-02 108 views
0

我從IOS sdk獲得付款密鑰,我需要從該付款密鑰中檢查交易狀態。Paypal從付款密鑰中獲取交易詳情php

我已經使用PayPal Merchant SDK for PHP。我可以從交易ID中獲得交易詳情,但不能從付款密鑰中獲得。

我也檢查這個Paypal Adaptive payment Pay key validation received from IOS但IPN選項,但它對我沒有用。

但我的要求是,我有ios應用程序中用戶存款金額paypal。那麼對於服務器端,我需要驗證事務狀態,然後執行進一步的操作。

但我無法從pay-key找到交易詳情。

有沒有人這樣做?謝謝。

+0

您是否檢查了[PaymentDetails](https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/PaymentDetails_API_Operation/)API? – 2014-10-02 11:39:25

+0

謝謝@AndrewAngell我實現了這一點,它的工作很好。 – 2014-10-02 14:08:04

回答

2

終於找到了從付費鍵獲取交易詳細信息的方式

首先使用您的clientId和ClientSecret

$ch = curl_init(); 
      $clientId = PAYPAL_CLIENT_ID; //client Id 
      $secret = PAYPAL_CLIENT_SECRET; client secrete key 
      curl_setopt($ch, CURLOPT_URL, "https://api.sandbox.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 . ":" . $secret); 
      curl_setopt($ch, CURLOPT_POSTFIELDS, "grant_type=client_credentials"); 
      $result = curl_exec($ch); 
      $accessToken = null; 
      if (empty($result)) 
       die('invalid access token'); 
      else { 
       $json = json_decode($result); 
       $accessToken = $json->access_token; 
      } 
      curl_close($ch); 

獲得訪問令牌後獲得訪問令牌,我使用下面的代碼

獲得交易明細
$curl = curl_init("https://api.sandbox.paypal.com/v1/payments/payment/<paykey>"); 
      curl_setopt($curl, CURLOPT_POST, false); 
      curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); 
      curl_setopt($curl, CURLOPT_HEADER, false); 
      curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); 
      curl_setopt($curl, CURLOPT_HTTPHEADER, array(
       'Authorization: Bearer ' . $accessToken, 
       'Accept: application/json', 
       'Content-Type: application/json' 
      )); 
      $response = curl_exec($curl); 
      $result = json_decode($response); 

有了這個,我們可以驗證交易。

當您將它用於實時時,從網址中刪除沙盒工作。

+0

我成功訪問令牌。但是當我得到交易細節下面的json返回。 '{「name」:「INVALID_RESOURCE_ID」,「message」:「找不到請求的資源ID」,「information_link」:「https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID 「,」debug_id「:」1b6ab351d8ce8「}' 你能告訴我爲什麼會發生這種情況。 – 2015-12-11 17:24:07