【问题标题】:Access elements of paypal response object in phpphp中paypal响应对象的访问元素
【发布时间】:2014-11-14 03:13:42
【问题描述】:

我得到如下成功对象的贝宝响应。

$data = array('PayPalResult'=>$response);
print_r($data);

当我与print_r 核对时,我会在其中得到以下数据。 但是无法从对象数组中访问详细信息,请帮助。我尝试如下代码,但收到错误说无法转换为字符串,我搜索了很多并尝试了,但没有任何效果。

Array ( [PayPalResult] =>
      Merchant_payflow_pro_response Object ( [_response:protected] => 
        Array ( [RESULT] => 0 
                [PNREF] => A11R7C40C51D
                [RESPMSG] => Approved 
                [AUTHCODE] => 000674 
                [CVV2MATCH] => Y ) 
                [_status:protected] => complete [_message:protected] => Approved 
                [_reference:protected] => A11R7C40C51D [_data:protected] =>  
                [_redirect_url:protected] => 
                [_redirect_method:protected] => GET 
                [_redirect_message:protected] => 
                [_redirect_data:protected] 
          => ) )

 foreach (array('PayPalResult'=>$response) as $k => $v) 
  { // if $v is an Array, appllies another foreach() loop to it, to get its elements
              if(is_array($v)) {
                foreach ($v as $key => $val) {
                  echo '<br />'. $k. ' - '. $key. ' : '. $val;
                  if ($key == 'RESPMSG')
                  $data['msg'] = $val;
                  else if ($key == 'PNREF')
                  $data['ref'] =  $val;
                  else if($key == 'RESULT')
                  $data['result'] = $val;
                  else if($key == 'AUTHCODE')
                  $data['authcode'] = $val;
                  else if($key == 'CVV2MATCH')
                  $data['cvv2match'] = $val;
                 } 
  }//else echo '<br />'. $k. ' - '. $v;}

它没有进入 is_array(),所以什么也没有发生。请帮忙。

【问题讨论】:

    标签: php object paypal response


    【解决方案1】:

    我找到了获取交易参考和消息的解决方案。我使用了下面的代码。 print_r($response->reference()); print_r($response->message()); 但我无法访问具有支付变量的数组。

    通过在类构造函数中获取所需的值并像上述方法一样从对象中检索它们,找到了另一种方法。 为了获得 AUTHCODE 值,我编写了代码 print_r($response->_authcode); 要在构造函数中包含此进位值,则将 authcode 设置为 $this->_authcode = $this->_response['AUTHCODE'];

    问题解决了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-22
      • 2019-03-19
      • 2014-09-24
      • 1970-01-01
      • 2021-09-27
      • 2022-12-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多