在 ci-merchant 库 codeigniter 中接收更多响应数据
Posted
技术标签:
【中文标题】在 ci-merchant 库 codeigniter 中接收更多响应数据【英文标题】:receive more response data in ci-merchant library codeigniter 【发布时间】:2013-03-04 07:03:58 【问题描述】:如何在 ci-merchant codeigniter 库中接收更多响应数据?
我正在使用 Paypal Express 结帐付款方式。
我正在传递以下参数:
$params = 数组( '金额' => 100.00, '货币' => '美元', 'return_url' => 我的返回网址, 'cancel_url' => 我的取消网址);
现在只收到以下回复
Merchant_paypal_api_response 对象 ( [_status:protected] => 完成 [_message:protected] => [_reference:protected] => 1K088384XU0947545 [_data:protected] => [_redirect_url:protected] => [_redirect_method:protected] => 获取 [_redirect_message:protected] => [_redirect_data:protected] => )
我怎样才能获得诸如 paypal id、送货地址、商品名称和 paypal 在 DoExpressCheckoutPayment 响应中返回的其他内容的数据?
【问题讨论】:
【参考方案1】:实际上,该信息不会在 DECP 响应中返回。它会在 GetExpressCheckoutDetails 中返回。
您的库应提供某种方式来查看 RAW API 请求和响应。如果它没有为您解析出所有详细信息,则需要您自己完成。
【讨论】:
哦,对不起。你说的对。 DECP 没有给出这些数据,我的错。我后来检查了。但我无法在库中的任何地方找到如何检索 GetExpressCheckoutDetails 响应。该库只是进行 SetExpressCheckout 和 DoExpressCheckoutPayment 调用,而不是 GetExpressCheckoutDetails。我找不到它。我想我会继续寻找它,否则我只需要编写我的自定义代码,因为我需要这些细节。我只是想如果它可用,它会更容易一些。 啊,我正确检查了库,它不是调用 GetExpressCheckoutDetails 而是直接调用 DoExpressCheckoutpayment。我想我需要进行自己的自定义调用。感谢您的帮助。【参考方案2】:这并不完全是您问题的答案,但您应该尝试改用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
【讨论】:
以上是关于在 ci-merchant 库 codeigniter 中接收更多响应数据的主要内容,如果未能解决你的问题,请参考以下文章
codeigniter 中是不是有子查询库?或者我如何在codeigniter 3中进行子查询?