语法错误,意外的'NVPToArray'(T_STRING),期待函数(T_FUNCTION)

时间:2014-07-05 02:54:48

标签: php

我本周开始学习PHP,但我不确定为什么我会收到此错误。我试图在属性nvp_response_array上调用函数NVPToArray()。该函数应该从属性中生成一个数组。我也尝试在函数的参数中传递一个字符串,但它似乎期望一个字符串,这似乎很奇怪。我刚刚开始掌握PHP的基础知识,如果有人帮助我,我会非常感激!谢谢!

<?php

class Process extends BaseController {

    // Function to convert NTP string to an array

    public function postPurchase() {
            // Include config file
            include(app_path().'/includes/paypal_config.php');
            //Config::get('paypal_api');

            // Store request params in an array
            $request_params = array(
                 'METHOD' => 'DoDirectPayment',
                 'USER' => $api_username,
                 'PWD' => $api_password,
                 'SIGNATURE' => $api_signature,
                 'VERSION' => $api_version,
                 'PAYMENTACTION' => 'Sale',
                 'IPADDRESS' => $_SERVER['REMOTE_ADDR'],
                 'CREDITCARDTYPE' => 'MasterCard',
                 'ACCT' => '5522340006063638',
                 'EXPDATE' => '022013',
                 'CVV2' => '456',
                 'FIRSTNAME' => 'Tester',
                 'LASTNAME' => 'Testerson',
                 'STREET' => '707 W. Bay Drive',
                 'CITY' => 'Largo',
                 'STATE' => 'FL',
                 'COUNTRYCODE' => 'US',
                 'ZIP' => '33770',
                 'AMT' => '100.00',
                 'CURRENCYCODE' => 'USD',
                 'DESC' => 'Testing Payments Pro'
            );

            // Loop through $request_params array to generate the NVP string.
            $nvp_string = '';
            foreach($request_params as $var=>$val)
            {
                $nvp_string .= '&'.$var.'='.urlencode($val);
            }

            // Send NVP string to PayPal and store response
            $curl = curl_init();

               curl_setopt($curl, CURLOPT_VERBOSE, 1);
               curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
               curl_setopt($curl, CURLOPT_TIMEOUT, 30);
               curl_setopt($curl, CURLOPT_URL, $api_endpoint);
               curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
               curl_setopt($curl, CURLOPT_POSTFIELDS, $nvp_string);

            $result = curl_exec($curl);
            curl_close($curl);

            // Parse the API response
            $nvp_response_array = parse_str($result);

    }

  // Function to convert NTP string to an array
      public function NVPToArray($NVPString)
      {
          $proArray = array();
          while(strlen($NVPString))
          {
              // name
              $keypos= strpos($NVPString,'=');
              $keyval = substr($NVPString,0,$keypos);
              // value
              $valuepos = strpos($NVPString,'&') ? strpos($NVPString,'&'): strlen($NVPString);
              $valval = substr($NVPString,$keypos+1,$valuepos-$keypos-1);
              // decoding the respose
              $proArray[$keyval] = urldecode($valval);
              $NVPString = substr($NVPString,$valuepos+1,strlen($NVPString));
         }
         return $proArray;
      }

      NVPToArray($this->nvp_response_array);

}

&GT;

0 个答案:

没有答案