2013-03-15 22 views
1

如何在ci-merchant codeigniter庫中接收更多響應數據?在ci-merchant庫codeigniter中接收更多響應數據

我正在使用Paypal Express結帳付款方式。

而且我傳遞了以下參數:

$ PARAMS =陣列( '量'=> 100.00, '貨幣'=> '美元', 'return_url'=>我的返回URL , 'cancel_url'=>我的取消網址);

現在我想起來了如下回應

Merchant_paypal_api_response對象 ( [_status:保護] =>完整 [_message:保護] => [_reference:保護] => 1K088384XU0947545 [_data:保護] => [_redirect_url:保護] => [_redirect_method:保護] => GET [_redirect_message:保護] => [_redirect_data:保護] = > )

我怎麼能得到像貝寶ID,收貨地址,項目名稱和其他東西的數據,在DoExpressCheckoutPayment響應貝寶的回報?

回答

0

實際上,該信息不會回到DECP響應中。它會在GetExpressCheckoutDetails中返回。

您的庫應該提供某種方法來查看RAW API請求和響應。如果沒有解析出所有的細節,你需要自己做。

+0

噢耶對不起。你是對的。 DECP不會提供這些數據,我的錯誤。我稍後再檢查。但是我無法在庫中的任何位置找到如何檢索GetExpressCheckoutDetails響應。該庫只是進行SetExpressCheckout和DoExpressCheckoutPayment調用,而不是GetExpressCheckoutDetails。我無法找到它。我想我會繼續尋找它,否則將只需要編寫我的自定義代碼,因爲我需要這些細節。我只是想如果它可用,它會更容易一些。 – 2013-03-16 04:53:18

+0

我是否正確檢查了圖書館,它沒有打電話給GetExpressCheckoutDetails,而是直接調用了DoExpressCheckoutpayment。我想我需要自己定製電話。 感謝您的幫助。 – 2013-03-16 05:48:23

0

這不完全是你的問題的答案,但你應該嘗試使用Omnipay來代替。 Omnipay基本上是CI-Merchant V2(我是這兩個庫的作者)。

Omnipay讓您可以直接訪問原始響應。例如。你會這樣做:

$params = array('amount' => 1000, 'currency' => 'USD', 'returnUrl' => 'my return url', 'cancelUrl' => 'my cancel url'); 
$response = $gateway->completePurchase($params)->send(); 

$reference = $response->getTransactionReference(); // paypal transaction id 
$data = $response->getData(); // this is the raw response object