Example #1
0
     $paymentModel->attempt++;
     $paymentModel->save();
     $saveOrderModel->status = 'error';
     $saveOrderModel->save(false);
     continue;
 }
 $xmlArray = array('request' => array('action' => '', 'meta' => array('merchantid' => '7760', 'ipaddress' => $_SERVER['SERVER_ADDR'], 'version' => '2.0')));
 $ExternalData = new ExternalData();
 $xmlArray['request']['action'] = 'INSERT_ORDERWITHPAYMENT';
 $payment = array('paymentproductid' => $paymentMethod, 'amount' => $amount * 100, 'currencycode' => $paymentModel->currency, 'countrycode' => strtoupper($orderModel->country_id), 'languagecode' => $r1['lang_id'], 'returnurl' => $gcOptions['returnUrl'], 'PROFILETOKEN' => $PROFILETOKEN, 'MANDATE' => 'PRESENT');
 foreach ($gcPaymentArray as $key => $value) {
     $payment[$key] = $value;
 }
 $params = array('order' => array('orderid' => $orderModel->order_id, 'amount' => $amount * 100, 'currencycode' => $paymentModel->currency, 'ipaddresscustomer' => $_SERVER['REMOTE_ADDR'], 'countrycode' => strtoupper($orderModel->country_id), 'languagecode' => $r1['lang_id'], 'merchantreference' => 'P' . $orderModel->order_id, 'firstname' => $orderModel->fname, 'surname' => $orderModel->lname, 'street' => $orderModel->address1, 'city' => $orderModel->city, 'zip' => $orderModel->zip, 'state' => $r1['state_name'] ? $r1['state_name'] : $orderModel->state_id, 'email' => $orderModel->email, 'descriptor' => $mainProduct->product_name, 'MANDATE' => 'PRESENT'), 'payment' => $payment);
 $xmlArray['request']['params'] = $params;
 $xml = Lib::array2xml($xmlArray);
 $answer = $ExternalData->getData($gcOptions['curlUrl'], $xml);
 $answerXml = simplexml_load_string($answer);
 if (false) {
     header("Content-type:text/xml; charset=utf-8");
     echo $answer;
     die;
 }
 if ($RESPONSE->RESULT != 'OK') {
     $paymentModel->attempt++;
     $paymentModel->save();
     $saveOrderModel->status = 'error';
     $saveOrderModel->save(false);
     continue;
 }
 $STATUSID = $RESPONSE->STATUS->STATUSID;