Ejemplo n.º 1
0
 /**
  * Response
  * Create the Order, Invoice and send an email to the customer
  * @param $response from the Gateway Server
  * @return order_id or false
  */
 public function Response($response)
 {
     $bank = self::getModule();
     $bankid = $bank['bank_id'];
     if (!empty($response['payment_status']) && $response['payment_status'] == "Completed") {
         if (!empty($response['item_number'])) {
             // Get the indexes of the order
             $orderid = trim($response['custom']);
             if (is_numeric($orderid) && is_numeric($bankid)) {
                 // Replacing the comma with the dot in the amount value.
                 $amount = str_replace(",", ".", $response['amount']);
                 Shineisp_Commons_Utilities::logs("Adding the payment information: " . $response['thx_id'], "iwbank.log");
                 $payment = Payments::addpayment($orderid, $response['thx_id'], $bankid, 0, $amount);
                 Shineisp_Commons_Utilities::logs("Set the order in the processing mode", "iwbank.log");
                 Orders::set_status($orderid, Statuses::id("paid", "orders"));
                 // Paid
                 OrdersItems::set_status($orderid, Statuses::id("paid", "orders"));
                 // Paid
                 return $orderid;
             }
         }
     }
     return false;
 }
Ejemplo n.º 2
0
 /**
  * activate
  * Activate an order item
  * @param $orderItemId
  * @return true|false
  */
 public static function activate($orderItemId)
 {
     Shineisp_Commons_Utilities::log(__METHOD__ . " - Activate Detail ID #" . $orderItemId);
     $orderItemId = intval($orderItemId);
     if ($orderItemId < 1) {
         // missing order item id from arguments
         return false;
     }
     // Get OrderItem
     $ordersItem = self::find($orderItemId);
     $ordersItem = $ordersItem->toArray();
     $OrderItem = array_shift($ordersItem);
     if (!$OrderItem) {
         // order item not found
         return false;
     }
     // Get customerId related to this order
     $customerId = Orders::getCustomer($OrderItem['order_id']);
     /*
      * START ACTIVATIONS CODE
      */
     $upgrade = Orders::isUpgrade($OrderItem['order_id']);
     $upgrade_uuid = false;
     if ($upgrade !== false) {
         $orderItem = OrdersItems::getDetail($upgrade);
         Shineisp_Commons_Utilities::logs(__METHOD__ . " - OITEM::" . print_r($orderItem, true));
         $oldOrderId = $orderItem['order_id'];
         Orders::set_status($oldOrderId, Statuses::id("changed", "orders"));
         // Close the old order ::status changed
         OrdersItems::set_status($upgrade, Statuses::id("changed", "orders"));
         $upgrade_uuid = $orderItem['uuid'];
         // log
         Shineisp_Commons_Utilities::logs(__METHOD__ . " - Order changed from #" . $oldOrderId . " to #" . $OrderItem['order_id']);
     }
     if (empty($OrderItem['parameters'])) {
         Shineisp_Commons_Utilities::logs(__METHOD__ . " - Order items setup parameters empty");
         return false;
     }
     // Is this an hosting? execute panel task
     // TODO: this should call an hook or an even bound to the panel
     if (isset($OrderItem['Products']) && isset($OrderItem['Products']['type']) && $OrderItem['Products']['type'] == 'hosting') {
         Shineisp_Commons_Utilities::logs(__METHOD__ . " Hosting task queued");
         PanelsActions::AddTask($customerId, $OrderItem['detail_id'], "fullProfile", $OrderItem['parameters']);
         return true;
     }
     // Is this a domain? execute domain task
     if (isset($OrderItem['tld_id']) && intval($OrderItem['tld_id']) > 0) {
         $parameters = json_decode($OrderItem['parameters']);
         if (empty($parameters->domain)) {
             Shineisp_Commons_Utilities::logs(__METHOD__ . " Domain has been not set in the order detail #{$orderItemId}");
             return false;
         }
         // Create the domain record
         $domain = Domains::Create($parameters->domain, intval($OrderItem['tld_id']), intval($customerId), $orderItemId);
         // Create the domain task
         if (!empty($parameters->domain) && !empty($parameters->action)) {
             $domains[] = array('domain' => $parameters->domain, 'action' => $parameters->action);
             $retval = DomainsTasks::AddTasks($domains);
             Shineisp_Commons_Utilities::logs(__METHOD__ . " Domain task queued");
         }
         return $retval;
     }
 }
Ejemplo n.º 3
0
 /**
  * Response
  * Create the Order, Invoice and send an email to the customer
  * @param $response from the Gateway Server
  * @return order_id or false
  */
 public function Response($response)
 {
     $bank = self::getModule();
     $bankid = $bank['bank_id'];
     $url = $bank['test_mode'] ? $bank['url_test'] : $bank['url_official'];
     list($tid, $ksig) = explode(":", $bank['account']);
     Shineisp_Commons_Utilities::logs("-----> Callback starts!", "bnl_igfs.log");
     $session = new Zend_Session_Namespace('Default');
     $IgfsCgVerify = new Shineisp_Banks_BNL_Igfs_CgVerify();
     $IgfsCgVerify->disableCheckSSLCert();
     $IgfsCgVerify->timeout = 150000;
     $IgfsCgVerify->paymentID = $session->paymentid;
     $IgfsCgVerify->kSig = $ksig;
     $IgfsCgVerify->shopID = self::getOrderID();
     $IgfsCgVerify->tid = $tid;
     $IgfsCgVerify->serverURL = $url;
     $requestdata = json_encode($IgfsCgVerify, true);
     Shineisp_Commons_Utilities::logs("---> IgfsCgVerify Request: {$requestdata}", 'bnl_igfs.log');
     $result = $IgfsCgVerify->execute();
     $responsedata = json_encode($IgfsCgVerify, true);
     Shineisp_Commons_Utilities::logs("-----> IgfsCgVerify Response: {$responsedata}", 'bnl_igfs.log');
     if ($IgfsCgVerify->error) {
         Shineisp_Commons_Utilities::logs("-----> " . $IgfsCgVerify->rc . ": " . $IgfsCgVerify->error, 'bnl_igfs.log');
         return false;
     }
     #Zend_Debug::dump($IgfsCgVerify);
     // Get the orderid back from the bank post variables
     $orderid = trim($response['custom']);
     $order = self::getOrder();
     $amount = $order['grandtotal'];
     Shineisp_Commons_Utilities::logs("Adding the payment information: " . $IgfsCgVerify->tranID, "bnl_igfs.log");
     $payment = Payments::addpayment($orderid, $IgfsCgVerify->tranID, $bankid, 0, $amount, date('Y-m-d H:i:s'), $order['customer_id'], $IgfsCgVerify->errorDesc);
     Shineisp_Commons_Utilities::logs("Set the order in the processing mode", "bnl_igfs.log");
     Orders::set_status($orderid, Statuses::id("paid", "orders"));
     // Paid
     OrdersItems::set_status($orderid, Statuses::id("paid", "orders"));
     // Paid
     Shineisp_Commons_Utilities::logs("End callback", "bnl_igfs.log");
     return $orderid;
 }