aboutsummaryrefslogtreecommitdiffstats
path: root/public/catalog/controller/extension/openbay/amazon.php
diff options
context:
space:
mode:
Diffstat (limited to 'public/catalog/controller/extension/openbay/amazon.php')
-rw-r--r--public/catalog/controller/extension/openbay/amazon.php590
1 files changed, 590 insertions, 0 deletions
diff --git a/public/catalog/controller/extension/openbay/amazon.php b/public/catalog/controller/extension/openbay/amazon.php
new file mode 100644
index 0000000..3df7054
--- /dev/null
+++ b/public/catalog/controller/extension/openbay/amazon.php
@@ -0,0 +1,590 @@
+<?php
+class ControllerExtensionOpenbayAmazon extends Controller {
+ public function order() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ return;
+ }
+
+ $this->load->model('checkout/order');
+ $this->load->model('extension/openbay/amazon_order');
+ $this->load->language('extension/openbay/amazon_order');
+
+ $logger = new Log('amazon.log');
+ $logger->write('amazon/order - started');
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if (!hash_equals($this->config->get('openbay_amazon_token'), $incoming_token)) {
+ $logger->write('amazon/order - Incorrect token: ' . $incoming_token);
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if (!$decrypted) {
+ $logger->write('amazon/order Failed to decrypt data');
+ return;
+ }
+
+ $order_xml = simplexml_load_string($decrypted);
+
+ $amazon_order_status = trim(strtolower((string)$order_xml->Status));
+
+ $amazon_order_id = (string)$order_xml->AmazonOrderId;
+ $order_status = $this->model_extension_openbay_amazon_order->getMappedStatus((string)$order_xml->Status);
+
+ $logger->write('Received order ' . $amazon_order_id);
+
+ $order_id = $this->model_extension_openbay_amazon_order->getOrderId($amazon_order_id);
+
+ // If the order already exists on opencart, ignore it.
+ if ($order_id) {
+ $logger->write("Duplicate order $amazon_order_id. Terminating.");
+ $this->response->setOutput('Ok');
+ return;
+ }
+
+ /* Check if order comes from subscribed marketplace */
+
+ $currency_to = $this->config->get('config_currency');
+ $order_currency = (string)$order_xml->Payment->CurrencyCode;
+
+ $products = array();
+
+ $products_total = 0;
+ $products_shipping = 0;
+ $products_tax = 0;
+ $products_shipping_tax = 0;
+ $gift_wrap = 0;
+ $gift_wrap_tax = 0;
+
+ $product_count = 0;
+
+ $amazon_order_id = (string)$order_xml->AmazonOrderId;
+
+ /* SKU => ORDER_ITEM_ID */
+ $product_mapping = array();
+ $product_gift_messages = array();
+
+ foreach ($order_xml->Items->Item as $item) {
+
+ $total_price = $this->currency->convert((double)$item->Totals->Price, $order_currency, $currency_to);
+ $tax_total = (double)$item->Totals->Tax;
+
+ if ($tax_total == 0 && $this->config->get('openbay_amazon_order_tax') > 0) {
+ $tax_total = (double)$item->Totals->Price * ($this->config->get('openbay_amazon_order_tax') / 100) / (1 + $this->config->get('openbay_amazon_order_tax') / 100);
+ }
+
+ $tax_total = $this->currency->convert($tax_total, $order_currency, $currency_to);
+
+ $products_total += $total_price;
+ $products_tax += $tax_total;
+
+ $products_shipping += $this->currency->convert((double)$item->Totals->Shipping, $order_currency, $currency_to);
+
+ $shipping_tax = (double)$item->Totals->ShippingTax;
+
+ if ($shipping_tax == 0 && $this->config->get('openbay_amazon_order_tax') > 0) {
+ $shipping_tax = (double)$item->Totals->Shipping * ($this->config->get('openbay_amazon_order_tax') / 100) / (1 + $this->config->get('openbay_amazon_order_tax') / 100);
+ }
+
+ $products_shipping_tax += $this->currency->convert($shipping_tax, $order_currency, $currency_to);
+
+ $gift_wrap += $this->currency->convert((double)$item->Totals->GiftWrap, $order_currency, $currency_to);
+
+ $item_gift_wrap_tax = (double)$item->Totals->GiftWrapTax;
+
+ if ($item_gift_wrap_tax == 0 && $this->config->get('openbay_amazon_order_tax') > 0) {
+ $item_gift_wrap_tax = (double)$item->Totals->GiftWrap * ($this->config->get('openbay_amazon_order_tax') / 100) / (1 + $this->config->get('openbay_amazon_order_tax') / 100);
+ }
+
+ $gift_wrap_tax += $this->currency->convert($item_gift_wrap_tax, $order_currency, $currency_to);
+
+ $product_count += (int)$item->Ordered;
+
+ if ((int)$item->Ordered == 0) {
+ continue;
+ }
+
+ $product_id = $this->model_extension_openbay_amazon_order->getProductId((string)$item->Sku);
+ $product_var = $this->model_extension_openbay_amazon_order->getProductVar((string)$item->Sku);
+
+ $products[] = array(
+ 'product_id' => $product_id,
+ 'var' => $product_var,
+ 'sku' => (string)$item->Sku,
+ 'asin' => (string)$item->Asin,
+ 'order_item_id' => (string)$item->OrderItemId,
+ 'name' => (string)$item->Title,
+ 'model' => (string)$item->Sku,
+ 'quantity' => (int)$item->Ordered,
+ 'price' => sprintf('%.4f', ($total_price - $tax_total) / (int)$item->Ordered),
+ 'total' => sprintf('%.4f', $total_price - $tax_total),
+ 'tax' => $tax_total / (int)$item->Ordered,
+ 'reward' => '0',
+ 'option' => $this->model_extension_openbay_amazon_order->getProductOptionsByVar($product_var),
+ 'download' => array(),
+ );
+
+ $product_mapping[(string)$item->Sku] = (string)$item->OrderItemId;
+
+ if ($item->GiftMessage != '') {
+ $product_gift_messages[] = (string)$item->Title . ' : ' . (string)$item->GiftMessage;
+ }
+ }
+
+ $order_comment = '';
+ if (count($product_gift_messages) > 0) {
+ $order_comment = $this->language->get('text_gift_message') . '<br />' . implode('<br />', $product_gift_messages);
+ }
+
+ $total = sprintf('%.4f', $this->currency->convert((double)$order_xml->Payment->Amount, $order_currency, $currency_to));
+
+ $address_line_2 = (string)$order_xml->Shipping->AddressLine2;
+ if ((string)$order_xml->Shipping->AddressLine3 != '') {
+ $address_line_2 .= ', ' . (string)$order_xml->Shipping->AddressLine3;
+ }
+
+ $customer_info = $this->db->query("SELECT `customer_id` FROM " . DB_PREFIX . "customer WHERE email = '" . $this->db->escape((string)$order_xml->Payment->Email) . "'")->row;
+ $customer_id = '0';
+
+ if(isset($customer_info['customer_id'])) {
+ $customer_id = $customer_info['customer_id'];
+ } else {
+ /* Add a new customer */
+ $customer_data = array(
+ 'firstname' => (string)$order_xml->Shipping->Name,
+ 'lastname' => '',
+ 'email' => (string)$order_xml->Payment->Email,
+ 'telephone' => (string)$order_xml->Shipping->Phone,
+ 'newsletter' => '0',
+ 'customer_group_id' => $this->config->get('openbay_amazon_order_customer_group'),
+ 'password' => '',
+ 'status' => '0',
+ );
+
+ $this->db->query("
+ INSERT INTO " . DB_PREFIX . "customer
+ SET firstname = '" . $this->db->escape($customer_data['firstname']) . "',
+ lastname = '" . $this->db->escape($customer_data['lastname']) . "',
+ email = '" . $this->db->escape($customer_data['email']) . "',
+ telephone = '" . $this->db->escape($customer_data['telephone']) . "',
+ newsletter = '" . (int)$customer_data['newsletter'] . "',
+ customer_group_id = '" . (int)$customer_data['customer_group_id'] . "',
+ password = '',
+ status = '" . (int)$customer_data['status'] . "',
+ date_added = NOW()");
+
+ $customer_id = $this->db->getLastId();
+ }
+
+ $shipping_first_name = (string)$order_xml->Shipping->FirstName;
+ $shipping_last_name = (string)$order_xml->Shipping->LastName;
+
+ if (empty($shipping_first_name) || empty($shipping_last_name)) {
+ $shipping_first_name = (string)$order_xml->Shipping->Name;
+ $shipping_last_name = '';
+ }
+
+ $order = array(
+ 'invoice_prefix' => $this->config->get('config_invoice_prefix'),
+ 'store_id' => $this->config->get('config_store_id'),
+ 'store_name' => $this->config->get('config_name') . ' / Amazon',
+ 'store_url' => $this->config->get('config_url'),
+ 'customer_id' => (int)$customer_id,
+ 'customer_group_id' => $this->config->get('openbay_amazon_order_customer_group'),
+ 'firstname' => $shipping_first_name,
+ 'lastname' => $shipping_last_name,
+ 'email' => (string)$order_xml->Payment->Email,
+ 'telephone' => (string)$order_xml->Shipping->Phone,
+ 'fax' => '',
+ 'shipping_firstname' => $shipping_first_name,
+ 'shipping_lastname' => $shipping_last_name,
+ 'shipping_company' => '',
+ 'shipping_address_1' => (string)$order_xml->Shipping->AddressLine1,
+ 'shipping_address_2' => $address_line_2,
+ 'shipping_city' => (string)$order_xml->Shipping->City,
+ 'shipping_postcode' => (string)$order_xml->Shipping->PostCode,
+ 'shipping_country' => $this->model_extension_openbay_amazon_order->getCountryName((string)$order_xml->Shipping->CountryCode),
+ 'shipping_country_id' => $this->model_extension_openbay_amazon_order->getCountryId((string)$order_xml->Shipping->CountryCode),
+ 'shipping_zone' => (string)$order_xml->Shipping->State,
+ 'shipping_zone_id' => $this->model_extension_openbay_amazon_order->getZoneId((string)$order_xml->Shipping->State),
+ 'shipping_address_format' => '',
+ 'shipping_method' => (string)$order_xml->Shipping->Type,
+ 'shipping_code' => 'amazon.' . (string)$order_xml->Shipping->Type,
+ 'payment_firstname' => $shipping_first_name,
+ 'payment_lastname' => $shipping_last_name,
+ 'payment_company' => '',
+ 'payment_address_1' => (string)$order_xml->Shipping->AddressLine1,
+ 'payment_address_2' => $address_line_2,
+ 'payment_city' => (string)$order_xml->Shipping->City,
+ 'payment_postcode' => (string)$order_xml->Shipping->PostCode,
+ 'payment_country' => $this->model_extension_openbay_amazon_order->getCountryName((string)$order_xml->Shipping->CountryCode),
+ 'payment_country_id' => $this->model_extension_openbay_amazon_order->getCountryId((string)$order_xml->Shipping->CountryCode),
+ 'payment_zone' => (string)$order_xml->Shipping->State,
+ 'payment_zone_id' => $this->model_extension_openbay_amazon_order->getZoneId((string)$order_xml->Shipping->State),
+ 'payment_address_format' => '',
+ 'payment_method' => $this->language->get('text_paid_amazon'),
+ 'payment_code' => 'amazon.amazon',
+ 'payment_company_id' => 0,
+ 'payment_tax_id' => 0,
+ 'comment' => $order_comment,
+ 'total' => $total,
+ 'affiliate_id' => '0',
+ 'commission' => '0.00',
+ 'language_id' => (int)$this->config->get('config_language_id'),
+ 'currency_id' => $this->currency->getId($order_currency),
+ 'currency_code' => (string)$order_currency,
+ 'currency_value' => $this->currency->getValue($order_currency),
+ 'ip' => '',
+ 'forwarded_ip' => '',
+ 'user_agent' => 'OpenBay Pro for Amazon',
+ 'accept_language' => '',
+ 'products' => $products,
+ 'vouchers' => array(),
+ 'marketing_id' => 0,
+ 'tracking' => 0,
+ 'totals' => array(
+ array(
+ 'code' => 'sub_total',
+ 'title' => $this->language->get('text_total_sub'),
+ 'value' => sprintf('%.4f', $products_total),
+ 'sort_order' => '1',
+ ),
+ array(
+ 'code' => 'shipping',
+ 'title' => $this->language->get('text_total_shipping'),
+ 'value' => sprintf('%.4f', $products_shipping),
+ 'sort_order' => '3',
+ ),
+ array(
+ 'code' => 'tax',
+ 'title' => $this->language->get('text_tax'),
+ 'value' => sprintf('%.4f', $products_tax),
+ 'sort_order' => '4',
+ ),
+ array(
+ 'code' => 'shipping_tax',
+ 'title' => $this->language->get('text_total_shipping_tax'),
+ 'value' => sprintf('%.4f', $products_shipping_tax),
+ 'sort_order' => '6',
+ ),
+ array(
+ 'code' => 'gift_wrap',
+ 'title' => $this->language->get('text_total_giftwrap'),
+ 'value' => sprintf('%.4f', $gift_wrap),
+ 'sort_order' => '2',
+ ),
+ array(
+ 'code' => 'gift_wrap_tax',
+ 'title' => $this->language->get('text_total_giftwrap_tax'),
+ 'value' => sprintf('%.4f', $gift_wrap_tax),
+ 'sort_order' => '5',
+ ),
+ array(
+ 'code' => 'total',
+ 'title' => $this->language->get('text_total'),
+ 'value' => sprintf('%.4f', $total),
+ 'sort_order' => '7',
+ ),
+ ),
+ );
+
+ $order_id = $this->model_checkout_order->addOrder($order);
+
+ $this->model_extension_openbay_amazon_order->updateOrderStatus($order_id, $order_status);
+ $this->model_extension_openbay_amazon_order->addAmazonOrder($order_id, $amazon_order_id);
+ $this->model_extension_openbay_amazon_order->addAmazonOrderProducts($order_id, $product_mapping);
+
+ foreach($products as $product) {
+ if($product['product_id'] != 0) {
+ $this->model_extension_openbay_amazon_order->decreaseProductQuantity($product['product_id'], $product['quantity'], $product['var']);
+ }
+ }
+
+ $logger->write('Order ' . $amazon_order_id . ' was added to the database (ID: ' . $order_id . ')');
+ $logger->write("Finished processing the order");
+
+ $this->model_extension_openbay_amazon_order->acknowledgeOrder($order_id);
+
+ if($this->config->get('openbay_amazon_notify_admin') == 1){
+ $this->openbay->newOrderAdminNotify($order_id, $order_status);
+ }
+
+ $this->event->trigger('model/checkout/order/addOrderHistory/after', array('model/checkout/order/addOrderHistory/after', array($order_id, $order_status)));
+
+ $logger->write("Ok");
+ $this->response->setOutput('Ok');
+ }
+
+ public function listing() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ return;
+ }
+
+ $this->load->model('extension/openbay/amazon_listing');
+ $this->load->model('extension/openbay/amazon_product');
+
+ $logger = new Log('amazon_listing.log');
+ $logger->write('amazon/listing - started');
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if (!hash_equals($this->config->get('openbay_amazon_token'), $incoming_token)) {
+ $logger->write('amazon/listing - Incorrect token: ' . $incoming_token);
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if (!$decrypted) {
+ $logger->write('amazon/order Failed to decrypt data');
+ return;
+ }
+
+ $data = json_decode($decrypted, 1);
+
+ $logger->write("Received data: " . print_r($data, 1));
+
+ if ($data['status']) {
+ $logger->write("Updating " . $data['product_id'] . ' from ' . $data['marketplace'] . ' as successful');
+ $this->model_extension_openbay_amazon_listing->listingSuccessful($data['product_id'], $data['marketplace']);
+ $this->model_extension_openbay_amazon_product->linkProduct($data['sku'], $data['product_id']);
+ $logger->write("Updated successfully");
+ } else {
+ $logger->write("Updating " . $data['product_id'] . ' from ' . $data['marketplace'] . ' as failed');
+ $this->model_extension_openbay_amazon_listing->listingFailed($data['product_id'], $data['marketplace'], $data['messages']);
+ $logger->write("Updated successfully");
+ }
+ }
+
+ public function listingReport() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ return;
+ }
+
+ $this->load->model('extension/openbay/amazon_product');
+
+ $logger = new Log('amazon.log');
+ $logger->write('amazon/listing_reports - started');
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if (!hash_equals($this->config->get('openbay_amazon_token'), $incoming_token)) {
+ $logger->write('amazon/listing_reports - Incorrect token: ' . $incoming_token);
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if (!$decrypted) {
+ $logger->write('amazon/listing_reports - Failed to decrypt data');
+ return;
+ }
+
+ $logger->write('Received Listing Report: ' . $decrypted);
+
+ $request = json_decode($decrypted, 1);
+
+ $data = array();
+
+ foreach ($request['products'] as $product) {
+ $data[] = array(
+ 'marketplace' => $request['marketplace'],
+ 'sku' => $product['sku'],
+ 'quantity' => $product['quantity'],
+ 'asin' => $product['asin'],
+ 'price' => $product['price'],
+ );
+ }
+
+ if ($data) {
+ $this->model_extension_openbay_amazon_product->addListingReport($data);
+ }
+
+ $this->model_extension_openbay_amazon_product->removeListingReportLock($request['marketplace']);
+
+ $logger->write('amazon/listing_reports - Finished');
+ }
+
+ public function product() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ $this->response->setOutput("disabled");
+ return;
+ }
+
+ ob_start();
+
+ $this->load->model('extension/openbay/amazon_product');
+ $logger = new Log('amazon_product.log');
+
+ $logger->write("AmazonProduct/inbound: incoming data");
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if($incoming_token != $this->config->get('openbay_amazon_token')) {
+ $logger->write("Error - Incorrect token: " . $this->request->post['token']);
+ ob_get_clean();
+ $this->response->setOutput("tokens did not match");
+
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if(!$decrypted) {
+ $logger->write("Error - Failed to decrypt received data.");
+ ob_get_clean();
+ $this->response->setOutput("failed to decrypt");
+
+ return;
+ }
+
+ $decoded_data = (array)json_decode($decrypted);
+ $logger->write("Received data: " . print_r($decoded_data, true));
+ $status = $decoded_data['status'];
+
+ if($status == "submit_error") {
+ $message = 'Product was not submited to amazon properly. Please try again or contact OpenBay.';
+ $this->model_extension_openbay_amazon_product->setSubmitError($decoded_data['insertion_id'], $message);
+ } else {
+ $status = (array)$status;
+ if($status['successful'] == 1) {
+ $this->model_extension_openbay_amazon_product->setStatus($decoded_data['insertion_id'], 'ok');
+ $insertion_product = $this->model_extension_openbay_amazon_product->getProduct($decoded_data['insertion_id']);
+ $this->model_extension_openbay_amazon_product->linkProduct($insertion_product['sku'], $insertion_product['product_id'], $insertion_product['var']);
+ $this->model_extension_openbay_amazon_product->deleteErrors($decoded_data['insertion_id']);
+
+ $quantity_data = array(
+ $insertion_product['sku'] => $this->model_extension_openbay_amazon_product->getProductQuantity($insertion_product['product_id'], $insertion_product['var'])
+ );
+ $logger->write('Updating quantity with data: ' . print_r($quantity_data, true));
+ $logger->write('Response: ' . print_r($this->openbay->amazon->updateQuantities($quantity_data), true));
+ } else {
+ $msg = 'Product was not accepted by amazon. Please try again or contact OpenBay.';
+ $this->model_extension_openbay_amazon_product->setSubmitError($decoded_data['insertion_id'], $msg);
+
+ if(isset($decoded_data['error_details'])) {
+ foreach($decoded_data['error_details'] as $error) {
+ $error = (array)$error;
+ $error_data = array(
+ 'sku' => $error['sku'],
+ 'error_code' => $error['error_code'],
+ 'message' => $error['message'],
+ 'insertion_id' => $decoded_data['insertion_id']
+ );
+ $this->model_extension_openbay_amazon_product->insertError($error_data);
+ }
+ }
+ }
+ }
+
+ $logger->write("Data processed successfully.");
+ ob_get_clean();
+ $this->response->setOutput("ok");
+ }
+
+ public function search() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ return;
+ }
+
+ $this->load->model('extension/openbay/amazon_product');
+
+ $logger = new Log('amazon.log');
+ $logger->write('amazon/search - started');
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if (!hash_equals($this->config->get('openbay_amazon_token'), $incoming_token)) {
+ $logger->write('amazon/search - Incorrect token: ' . $incoming_token);
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if (!$decrypted) {
+ $logger->write('amazon/search Failed to decrypt data');
+ return;
+ }
+
+ $logger->write($decrypted);
+
+ $json = json_decode($decrypted, 1);
+
+ $this->model_extension_openbay_amazon_product->updateSearch($json);
+ }
+
+ public function dev() {
+ if ($this->config->get('openbay_amazon_status') != '1') {
+ $this->response->setOutput("error 001");
+ return;
+ }
+
+ $incoming_token = isset($this->request->post['token']) ? $this->request->post['token'] : '';
+
+ if ($incoming_token != $this->config->get('openbay_amazon_token')) {
+ $this->response->setOutput("error 002");
+ return;
+ }
+
+ $decrypted = $this->openbay->decrypt($this->request->post['data'], $this->openbay->amazon->getEncryptionKey(), $this->openbay->amazon->getEncryptionIv(), false);
+
+ if (!$decrypted) {
+ $this->response->setOutput("error 003");
+ return;
+ }
+
+ $data_xml = simplexml_load_string(base64_decode($decrypted));
+
+ if(!isset($data_xml->action)) {
+ $this->response->setOutput("error 004");
+ return;
+ }
+
+ $action = trim((string)$data_xml->action);
+
+ if ($action === "get_amazon_product") {
+ if(!isset($data_xml->product_id)) {
+ $this->response->setOutput("error 005");
+ return;
+ }
+
+ $product_id = trim((string)$data_xml->product_id);
+
+ if ($product_id === "all") {
+ $all_rows = $this->db->query("SELECT * FROM `" . DB_PREFIX . "amazon_product`")->rows;
+
+ $response = array();
+ foreach ($all_rows as $row) {
+ unset($row['data']);
+ $response[] = $row;
+ }
+
+ $this->response->setOutput(print_r($response, true));
+ return;
+ } else {
+ $response = $this->db->query("SELECT * FROM `" . DB_PREFIX . "amazon_product` WHERE `product_id` = '" . (int)$product_id . "'")->rows;
+
+ $this->response->setOutput(print_r($response, true));
+ return;
+ }
+ } else {
+ $this->response->setOutput("error 999");
+ return;
+ }
+ }
+
+ public function eventAddOrderHistory($route, $data) {
+ $logger = new \Log('amazon.log');
+ $logger->write('eventAddOrderHistory Event fired: ' . $route);
+
+ if (isset($data[0]) && !empty($data[0])) {
+ $this->load->model('extension/openbay/amazon_order');
+
+ $logger->write('Order ID: ' . (int)$data[0]);
+
+ $this->model_extension_openbay_amazon_order->addOrderHistory((int)$data[0]);
+ }
+ }
+}