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;
     }
 }
Beispiel #2
0
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, '.', '') . '&currencycode=' . $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;
 }