public function processPayment($actionmode, $orderId) { $classProcessor = $actionmode . 'Processor'; if (class_exists($classProcessor)) { $processor = new $classProcessor(); if ($actionmode == "virtualpay" || $actionmode == "paypalexpress" || $actionmode == "bnlpositivity") { // $processor = new classProcessor($data=data); $data = explode("|", $this->item->merchantPayment->Data); $processor->data = $data; } if ($actionmode == "paypalexpress" || $actionmode == "bnlpositivity") { // $processor = new classProcessor($data=data); $processor->order = $this->item->order; } $result = $processor->getResult(); $paymentData = ''; foreach ($_SERVER as $key_name => $key_value) { if ($paymentData != '') { $paymentData .= '&'; } $paymentData .= str_replace('$', '', $key_name) . " = " . urlencode($key_value); } foreach ($_POST as $key_name => $key_value) { if ($paymentData != '') { $paymentData .= '&'; } $paymentData .= str_replace('$', '', $key_name) . " = " . urlencode($key_value); } /*$paymentData = iconv('UTF-8','UTF-8//IGNORE',$paymentData);*/ if ($actionmode != "setefi" && $actionmode != "activa") { if ($result) { $order = BFCHelper::setOrderStatus($orderId, 5, true, false, $paymentData); $result = $order != null; } else { $order = BFCHelper::setOrderStatus($orderId, 7, false, false, $paymentData); } if (method_exists($processor, 'responseRedir')) { $processor->responseRedir($order->OrderId, $result); } } return $result; } }
function processPayment($actionmode, $order, $data, $debugMode = false) { $orderId = $order->OrderId; $classProcessor = $actionmode . 'Processor'; if (class_exists($classProcessor)) { $processor = new $classProcessor($order, null, $debugMode, $data); $result = $processor->getResult(null, $debugMode); $paymentData = ''; foreach ($_SERVER as $key_name => $key_value) { if ($paymentData != '') { $paymentData .= '&'; } $paymentData .= str_replace('$', '', $key_name) . " = " . urlencode($key_value); } foreach ($_POST as $key_name => $key_value) { if ($paymentData != '') { $paymentData .= '&'; } $paymentData .= str_replace('$', '', $key_name) . " = " . urlencode($key_value); } if ($actionmode != "setefi") { if ($result) { $order = BFCHelper::setOrderStatus($orderId, 5, true, false, $paymentData); $result = $order != null; } else { $order = BFCHelper::setOrderStatus($orderId, 7, false, false, $paymentData); } if (method_exists($processor, 'responseRedir')) { $processor->responseRedir($order->OrderId, $result); } } return $result; } }
public function getUrl() { $bankUrl = ''; $data = 'id=' . $this->merchantNumber . '&password='******'&action=' . $this->action . '&amt=' . number_format($this->amt, 2, '.', '') . '¤cycode=' . $this->currencycode . '&langid=' . $this->langid . '&responseurl=' . $this->responseUrl . '&errorurl=' . $this->errorUrl . '&trackid=' . $this->trackid . '&udf1=' . $this->udf1 . '&udf4=' . $this->udf4; $this->dataSend = $this->paymentUrl . "?" . $data; $buffer = wsQueryHelper::executeQuery($this->dataSend, "POST", false); $token = explode(":", $buffer, 2); $tid = $token[0]; $paymenturl = $token[1]; $bankUrl = $paymenturl . "?PaymentID=" . $tid; /*salvo i dati inviati alla banca e cosa mi ritorna la banca come url di invio*/ $this->donation = $donation; if (!$this->isdonation) { if (isset($this->suffixOrder) && $this->suffixOrder != "") { BFCHelper::setOrderStatus($this->orderId, null, false, false, $data . '&bankUrl=' . $bankUrl . '&paymentUrl=' . $this->paymentUrl); } else { BFCHelper::setOrderStatus($this->orderId, 1, false, false, $data . '&bankUrl=' . $bankUrl . '&paymentUrl=' . $this->paymentUrl); } } return $bankUrl; }