public function send_orders() { $this->load->model('sale/order'); $this->load->model('localisation/zone'); $this->load->model('localisation/country'); $this->load->model('module/clearsale_tg'); $flag_clearsale_tg = $this->model_module_clearsale_tg->getClearSaleTg($this->request->get['order_id']); $flag_clearsale_active = $this->config->get('clearsale_tg_flag'); if (isset($_GET['flag_clearsale_tg']) && $_GET['flag_clearsale_tg']) { $this->model_module_clearsale_tg->addClearSaleTg($this->request->get['order_id']); } else { if ($flag_clearsale_tg == 0 && $flag_clearsale_active == 0) { return 0; } } if (isset($this->request->get['order_id'])) { $order_info = $this->model_sale_order->getOrder($this->request->get['order_id']); $order_product_info = $this->model_sale_order->getOrderProducts($this->request->get['order_id']); $order_product_category = $this->model_sale_order->getOrderProductsCategory($this->request->get['order_id']); $order_total_shipping = $this->model_sale_order->getOrderShippingTotal($this->request->get['order_id']); $order_total_subtotal = $this->model_sale_order->getOrderSubTotal($this->request->get['order_id']); $order_total_quantity = $this->model_sale_order->getTotalQuantity($this->request->get['order_id']); } else { $order_info = array(); $order_product_info = array(); $order_product_category = array(); $order_total_shipping = array(); $order_total_subtotal = array(); $order_total_quantity = array(); } echo '<div style="text-align: center;border: 1px solid #ccc;padding: 10px 0px;border-bottom: none;">'; echo '<img style="max-width:100%; height:auto" src="../image/clearsale_tg.png">'; echo '</div>'; $clear = new SoapClient('http://www.clearsale.com.br/integracaov2/service.asmx?wsdl', array("trace" => 1, "exceptions" => 0)); $parameters['entityCode'] = $this->config->get('clearsale_tg_entitycode'); $parameters['orderID'] = $order_info['order_id']; $type = 0; if (isset($_GET['type']) && $_GET['type']) { $type = 1; } $person = 1; if ($order_info['type_person'] == 'J') { $person = 2; } $response = $clear->GetOrderStatus($parameters); $xml_return = $response->GetOrderStatusResult; $xml = simplexml_load_string(str_replace('<?xml version="1.0" encoding="utf-16"?>', '', $xml_return)); if ($xml->Orders->Order->ID && $type == 0) { $this->show_score($xml, $type); } if (isset($order_info['telephone']) && strlen($order_info['telephone']) > 0) { $ddd_telephone = substr(str_replace("(", "", $order_info['telephone']), 0, 2); $telephone = substr(str_replace("-", "", $order_info['telephone']), 4); } if (isset($order_info['cellphone']) && strlen($order_info['cellphone']) > 0) { $ddd_cellphone = substr(str_replace("(", "", $order_info['cellphone']), 0, 2); $cellphone = substr(str_replace("-", "", $order_info['cellphone']), 4); } $payment_method_id = 4; if (strtolower($order_info['payment_method']) == "diners") { $payment_method_id = 1; } if (strtolower($order_info['payment_method']) == "mastercard") { $payment_method_id = 2; } if (strtolower($order_info['payment_method']) == "visa") { $payment_method_id = 3; } if (strtolower($order_info['payment_method']) == "amex") { $payment_method_id = 5; } if (strtolower($order_info['payment_method']) == "hipercard") { $payment_method_id = 6; } if (strtolower($order_info['payment_method']) == "aura") { $payment_method_id = 7; } if (strtolower($order_info['payment_method']) == "carrefour") { $payment_method_id = 8; } $table = DB_PREFIX . 'transaction_' . strtolower($order_info['payment_code']); $query_table = $this->db->query("SHOW TABLES LIKE '{$table}'"); $query_transaction = $this->db->query("SELECT * FROM " . $table . " WHERE order_id = '" . $order_info['order_id'] . "'"); if ($query_transaction->row) { $num_parcels = 1; switch ($order_info['payment_code']) { case 'cielows': $num_parcels = $query_transaction->row['number_parcel']; break; case 'redecardws': $num_parcels = $query_transaction->row['number_parcel']; break; case 'pagseguro_card': $num_parcels = $query_transaction->row['number_parcel']; break; case 'moip_card': $num_parcels = $query_transaction->row['number_parcel']; break; case 'bcash_card': $num_parcels = $query_transaction->row['number_parcel']; break; case 'braspag_card': $num_parcels = $query_transaction->row['number_parcel']; break; case 'payu_card': $num_parcels = $query_transaction->row['number_parcel']; break; case 'payu_billet': $num_parcels = $query_transaction->row['url']; break; case 'boldcron_card': $num_parcels = $query_transaction->row['number_parcel']; $num_card = $query_transaction->row['num_card']; break; } } else { return false; } $xml = '<?xml version="1.0" encoding="utf-8"?><ClearSale>'; $xml .= '<Orders>'; $xml .= '<Order>'; $xml .= '<ID>' . $order_info['order_id'] . '</ID>'; $xml .= '<FingerPrint>'; $xml .= '<SessionID>' . $order_info['session_id'] . '</SessionID>'; $xml .= '</FingerPrint>'; $xml .= '<Date>' . str_replace(' ', 'T', date('Y-m-d H:i:s', strtotime($order_info['date_added']))) . '</Date>'; $xml .= '<Email>' . $order_info['email'] . '</Email>'; $xml .= '<B2B_B2C></B2B_B2C>'; $xml .= '<ShippingPrice>' . number_format($order_total_shipping['value'], 4, '.', '') . '</ShippingPrice>'; $xml .= '<TotalItems>' . number_format($order_total_subtotal['value'], 4, '.', '') . '</TotalItems>'; $xml .= '<TotalOrder>' . number_format($order_info['total'], 4, '.', '') . '</TotalOrder>'; $xml .= '<QtyInstallments>' . $num_parcels . '</QtyInstallments>'; $xml .= '<DeliveryTimeCD>' . $order_info['shipping_delivery_time'] . '</DeliveryTimeCD>'; $xml .= '<QtyItems>' . $order_total_quantity['quantity'] . '</QtyItems>'; $xml .= '<QtyPaymentTypes>1</QtyPaymentTypes>'; $xml .= '<IP>' . $order_info['ip'] . '</IP>'; $xml .= '<ShippingType></ShippingType>'; $xml .= '<GiftMessage></GiftMessage>'; $xml .= '<Obs>' . $order_info['comment'] . '</Obs>'; $xml .= '<Status>0</Status>'; $xml .= '<Reanalise>' . $type . '</Reanalise>'; $xml .= '<Origin></Origin>'; $xml .= '<BillingData>'; $xml .= '<ID>' . $order_info['customer_id'] . '</ID>'; $xml .= '<Type>' . $person . '</Type>'; $xml .= '<LegalDocument1>' . $order_info['cpf_cnpj'] . '</LegalDocument1>'; $xml .= '<LegalDocument2>' . $order_info['rg_ie'] . '</LegalDocument2>'; $xml .= '<Name>' . $order_info['firstname'] . ' ' . $order_info['lastname'] . '</Name>'; $xml .= '<BirthDate>' . str_replace(' ', 'T', date('Y-m-d H:i:s', strtotime($order_info['birthday']))) . '</BirthDate>'; $xml .= '<Email>' . $order_info['email'] . '</Email>'; $xml .= '<Gender></Gender>'; $xml .= '<Address>'; $xml .= '<Street>' . $order_info['payment_address_1'] . '</Street>'; $xml .= '<Number>' . $order_info['payment_number_home'] . '</Number>'; $xml .= '<Comp>' . $order_info['payment_address_2'] . '</Comp>'; $xml .= '<County>' . $order_info['payment_neighborhood'] . '</County>'; $xml .= '<City>' . $order_info['payment_city'] . '</City>'; $xml .= '<State>' . $order_info['payment_zone_code'] . '</State>'; $xml .= '<Country>' . $order_info['payment_country'] . '</Country>'; $xml .= '<ZipCode>' . $order_info['payment_postcode'] . '</ZipCode>'; $xml .= '<Reference></Reference>'; $xml .= '</Address>'; $xml .= '<Phones>'; if (isset($order_info['telephone']) && strlen($order_info['telephone']) > 0) { $xml .= '<Phone>'; $xml .= '<Type>4</Type>'; $xml .= '<DDD>' . $ddd_telephone . '</DDD>'; $xml .= '<Number>' . $telephone . '</Number>'; $xml .= '<Extension></Extension>'; $xml .= '</Phone>'; } $xml .= '<Phone>'; $xml .= '<Type>6</Type>'; $xml .= '<DDD>' . $ddd_cellphone . '</DDD>'; $xml .= '<Number>' . $cellphone . '</Number>'; $xml .= '<Extension></Extension>'; $xml .= '</Phone>'; $xml .= '</Phones>'; $xml .= '</BillingData>'; $xml .= '<ShippingData>'; $xml .= '<ID>' . $order_info['customer_id'] . '</ID>'; $xml .= '<Type>' . $person . '</Type>'; $xml .= '<LegalDocument1>' . $order_info['cpf_cnpj'] . '</LegalDocument1>'; $xml .= '<LegalDocument2>' . $order_info['rg_ie'] . '</LegalDocument2>'; $xml .= '<Name>' . $order_info['shipping_firstname'] . ' ' . $order_info['shipping_lastname'] . '</Name>'; $xml .= '<BirthDate>' . str_replace(' ', 'T', date('Y-m-d H:i:s', strtotime($order_info['birthday']))) . '</BirthDate>'; $xml .= '<Email>' . $order_info['email'] . '</Email>'; $xml .= '<Gender></Gender>'; $xml .= '<Address>'; $xml .= '<Street>' . $order_info['shipping_address_1'] . '</Street>'; $xml .= '<Number>' . $order_info['shipping_number_home'] . '</Number>'; $xml .= '<Comp>' . $order_info['shipping_address_2'] . '</Comp>'; $xml .= '<County>' . $order_info['shipping_neighborhood'] . '</County>'; $xml .= '<City>' . $order_info['shipping_city'] . '</City>'; $xml .= '<State>' . $order_info['shipping_zone_code'] . '</State>'; $xml .= '<Country>' . $order_info['shipping_country'] . '</Country>'; $xml .= '<ZipCode>' . $order_info['shipping_postcode'] . '</ZipCode>'; $xml .= '<Reference></Reference>'; $xml .= '</Address>'; $xml .= '<Phones>'; if (isset($order_info['telephone']) && strlen($order_info['telephone']) > 0) { $xml .= '<Phone>'; $xml .= '<Type>4</Type>'; $xml .= '<DDI>55</DDI>'; $xml .= '<DDD>' . $ddd_telephone . '</DDD>'; $xml .= '<Number>' . $telephone . '</Number>'; $xml .= '<Extension></Extension>'; $xml .= '</Phone>'; } $xml .= '<Phone>'; $xml .= '<Type>6</Type>'; $xml .= '<DDI>55</DDI>'; $xml .= '<DDD>' . $ddd_cellphone . '</DDD>'; $xml .= '<Number>' . $cellphone . '</Number>'; $xml .= '<Extension></Extension>'; $xml .= '</Phone>'; $xml .= '</Phones>'; $xml .= '</ShippingData>'; $xml .= '<Payments>'; $xml .= '<Payment>'; $xml .= '<Date>' . str_replace(' ', 'T', date('Y-m-d H:i:s', strtotime($order_info['date_added']))) . '</Date>'; $xml .= '<Amount>' . number_format($order_info['total'], 4, '.', '') . '</Amount>'; $xml .= '<PaymentTypeID>1</PaymentTypeID>'; $xml .= '<QtyInstallments>' . $num_parcels . '</QtyInstallments>'; $xml .= '<Interest>0</Interest>'; $xml .= '<InterestValue>0</InterestValue>'; $xml .= '</Payment>'; $xml .= '</Payments>'; $xml .= '<Items>'; foreach ($order_product_info as $product) { $xml .= '<Item>'; $xml .= '<ID>' . $product['product_id'] . '</ID>'; $xml .= '<Name>' . $product['name'] . '</Name>'; $xml .= '<ItemValue>' . (double) $product['price'] . '</ItemValue>'; $xml .= '<Qty>' . $product['quantity'] . '</Qty>'; $xml .= '<GiftTypeID>0</GiftTypeID>'; $xml .= '</Item>'; } $xml .= '</Items>'; $xml .= '</Order>'; $xml .= '</Orders>'; $xml .= '</ClearSale>'; $parameters['xml'] = $xml; $response = $clear->SendOrders($parameters); $xml = simplexml_load_string(str_replace('<?xml version="1.0" encoding="utf-16"?>', '', $response->SendOrdersResult)); $this->show_score($xml, $type); }