Post by dmonco » Fri Dec 27, 2013 5:15 am

Image Image
PROFESSIONAL TOOL FOR SELLING CODES WITH OPENCART

For OpenCart 2.0.x - 2.0.3.1 and OpenCart 1.5.x – 1.5.6.4

Best solution to sell codes and to start your own digital business.

Features

Features

1. The extension gives you ability to sell serials in your opencart store.

2. Our script is made as module. No overrides required. It uses vqmod ver. 2.5.1

3. The extension has serials management.

4. Your customers will get additional section in customer’s account where will be placed all purchased serials and download links for them.

5. A customer will get a link to serial keys page in an order email and in an updated status letter, when the order is paid.

6. Admin will get automatically e-mail notifications if there is lack of serials in some product

7. Hourly restriction from buying, if you want to limit purchase from one email or IP.


How does it work?

Codes can be added into each product. When a customer purchases a code the stock reduces and a key sends to a customer’s email and into customer’s account.

Within the codes it’s possible to add url links for every language. Let’s say you want to give a customer link to download a program. Thus, for every product and for every language it’s possible to add a link.

Within the codes it’s possible to attach information page for every language. Let’s say you wrote a manual how to use a code and created information page in Opencart. With this functionality you can attach the page to a product.

When customer purchases a code, if the product had both download link and information page, a customer will see the download link and url to info page in his account next to a key which was sold.

Our extension automatically saves the stock quantity depends on how many codes you put. It automatically manages the stock and reduces when a code was sold or adds if order is canceled.

When the product has less than 5 serials, admin will be notified by e-mail. Thus, you will be always updated about the stock you have. If you want to change value 5 to your number, it’s simple to add number in the shop’s settings.

If you want due security to limit customers from buying, it’s possible to enable RESTRICT SHOPPING in the settings and define for how much hours to restrict from the previous purchase. If it was set 1 hour, a customer can’t buy anything from your store within 1 hour from the same email or IP address.


This professional tool for selling codes will help you to build the strong business! Get a chance to start within few clicks!


Update report:
2015/08/01
fixed quantity error when it's empty value - v.4.2.1 for OC 2.0.3.1

2015/07/31
released new version of extension - v.4.2 for OC 2.0.3.1

2015/07/31
fixed errors in copy function

2015/07/21
fixed keys release for customers - for complete and processing config status stock reduces with keys,
for other statuses keys are added back to product

2015/07/10
added info pages for serial key product with links in a customer account
added languages for download links
changed complete order letter - keys moved to a column right after the model

2015/01/20
released new version of the extension - v.4.0

2015/01/20 - (version 4)
- updated for OC 2.0.x
- fixed bugs;
- added functionality to send keys by email.

2014/03/12
released new version of the extension - v.3.0

2014/03/12 (version 3)
- fixed bugs;
- updated for OC 1.5.6.x;
- added restriction functionality.

2013/01/29
released new version of the extension - v.2.0

2013/01/29 (version 2)
- fixed a bug with a product when purchase 2 and more keys at once;
- fixed admin and a customer e-mail, was added a link to serial keys account page;
- added new feature - to restrict a customer from purchasing products again from his last buy, you can set how many hours to limit in admin;
- added a new field in Settings - Mail where you can put a number when to notify admin about of lack of keys before they end.

Image Image
PROFESSIONAL TOOL FOR SELLING CODES WITH OPENCART

IN ORDER TO BUY IT CLICK THE BUTTON BELOW
Image
Last edited by dmonco on Tue Aug 04, 2015 10:21 pm, edited 1 time in total.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by ctoumi » Fri Aug 01, 2014 8:04 pm

Hello
How can we get to see the email and key once the order has been placed as your order complete function is disabled?

Newbie

Posts

Joined
Fri Aug 01, 2014 7:34 pm

Post by Randem » Sat Dec 13, 2014 10:21 am

Aloha,

I am having some difficulty using this extension in a multi-store.

1 - No matter which store the product is purchased in or the user logs into; the sale defaults to the default store not the store it was purchased in. How can we correct this?

2 - After a customer purchases the product with the serial key; the status never goes to complete so the purchaser never gets the serial keys unless we go in to change the order to complete. We need for the order to automatically go to complete.

3 - We need an option to send the serial keys to the customer in a email. It creates a lot of work for our customers to purchase the serial keys without an account. Some customers may not be repeat customers and will not want to create an account. This will drive customers away if they have to create an account to get their serial keys.

Any ideas?

NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by truchosky » Mon Jul 13, 2015 12:38 am

hi people, a couple questions:

1. if i do not check Notify Customer then the "order update" email is not send to customer with remainder, it is only send when i check "notify customer", when i do then the "order update" email has a detail, it shows "text_new_serialkey" before link to account (my serial keys) (check screenshot 1), how to remove that "text_new_serialkey", if i remove it from xml it affects on anything ??


2. check out as a "guest" doesnt work, cause the customer havent account and then index.php?route=account/serial_keys show a blank page, how to fix it? it is possible to show serial key instead link to serial keys ?, how to edit it on xml?

cheers !

Attachments

screenshot1.png

screenshot1.png (6.83 KiB) Viewed 7065 times


Newbie

Posts

Joined
Wed Jul 01, 2015 10:48 am

Post by dmonco » Tue Jul 14, 2015 6:16 pm

It's all opencart statuses. For a guest, he should use ONLY online payment method (PayPal, Skrill, etc). If a guest pays instantly, payment gateway returns complete status and a guest receives a letter with order details and keys in order letter.
If status is not complete instantly (it's pending or whatever), even if you change to complete manually, you have to send a key manually. Just go to Orders, select an order to edit, input the key into comment field, check the notify customer and click to update. A guest receives additional letter with his key.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by dmonco » Tue Aug 04, 2015 10:23 pm

New version is released.
Serial keys, pins and codes sale extension - version 4.2.1 for Opencart 2.0.3.1
See description in the first post, it was updated.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by yuan0304 » Mon Nov 09, 2015 5:43 pm

Hi
Could I change the serialkeys_sale_module.xml?
from

Code: Select all

<file name="catalog/model/checkout/order.php">
.....
				// to-do: add checks is there enough serialkeys amount
				if ($order_product_serials_query->num_rows) {
					$serials = $order_product_serials_query->rows;
					for ($i=0;$i<$order_product['quantity'];$i++) {
to

Code: Select all

					//add by Ed stop re send pin
				$ckexitkey = $this->db->query("SELECT serialkey FROM ".DB_PREFIX."order_serialkey 
											WHERE order_id = ".(int)$order_id);

				
				$productquantity=$order_product['quantity'];
				if($ckexitkey->num_rows&&($order_product['quantity']>$ckexitkey->num_rows))
					$productquantity=(int)$order_product['quantity']-$ckexitkey->num_rows;

				if ($order_product_serials_query->num_rows && ($order_product['quantity']>$ckexitkey->num_rows) ){
					$serials = $order_product_serials_query->rows;
					for ($i=0;$i<$productquantity;$i++) {//end add by Ed 2015/11/09
I think change that can prevent the system re-send the keys after I edit the orders.

Newbie

Posts

Joined
Mon Nov 09, 2015 5:33 pm

Post by dmonco » Mon Nov 09, 2015 10:51 pm

If you need quick fix you can try. Today/tomorrow we will update the extension with fixed issue for 2.1.0.1

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by agilisAT » Thu Jan 07, 2016 10:20 am

I´ve just bought your module, but now my shop is broken, I cant access my products anymore because of this error. please see attachment.

What can I do?
Please help me, as our shop should go online today! :(

Attachments

Screenshot_2016.01.07_004.png

Screenshot_2016.01.07_004.png (28.1 KiB) Viewed 6557 times


Newbie

Posts

Joined
Thu Jan 07, 2016 10:15 am

Post by dmonco » Fri Jan 08, 2016 9:24 pm

Hi! It says that the table already exists.
I do not know how did you install it. The manual says that tables are created automatically.
If you still have problem with it, send me admin and ftp access to my email support@foridev.com I will check your installation.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by Randem » Mon Jan 11, 2016 4:08 am

dmonco ,

Just wanted to let you know that I had to fix a couple of bugs in the v2.1.0.1 version of serial keys to get it to not crash system. It should be updated in your release also...

NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by dmonco » Mon Jan 11, 2016 9:02 am

What kind of bugs? We tested on fresh install and it works without errors if you installed correct version.
Please, write the version of extension you use and what bugs you found?

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by Randem » Mon Jan 11, 2016 9:19 am

Using serialkeyssalemodule-v.4.3-2.1.0.1
Statuses are stored different than before. On a new order we got errors until this was changed. file location: catalog\model\account

Code: Select all

    public function getTotalSerialkeys() {

//        $sql="SELECT COUNT(*) AS total FROM " . DB_PREFIX . "order_serialkey od LEFT JOIN `" . DB_PREFIX . "order` o ON (od.order_id = o.order_id) WHERE o.customer_id = '" . (int)$this->customer->getId() . "' AND o.order_status_id = '" . $this->config->get('config_complete_status')[0] . "'";

// RJ - 20160108 - Change for v2.1.0.1

		  $complete_statuses = $this->config->get('config_complete_status');
        $sql="SELECT COUNT(*) AS total FROM " . DB_PREFIX . "order_serialkey od LEFT JOIN `" . DB_PREFIX . "order` o ON (od.order_id = o.order_id) WHERE o.customer_id = '" . (int)$this->customer->getId() . "' AND o.order_status_id = '" . $complete_statuses[0] . "'";

        $query = $this->db->query($sql);



        return $query->row['total'];

    }

}


NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by Randem » Mon Jan 11, 2016 9:35 am

Second:

Code: Select all

//RJ - 20160108 - Check to see if variable exists before attempting to work on it

				 if (isset($product_info_aute)) {
				 

				    foreach($product_info_aute as $product_info_1) {

				        if(count($product_info_aute) > 1) {

				            $message_text .= $i . '. ' . $product_info_1['name'] . '<br />';

	                            $i++;

				        } else {

				            $subject_text = 'Out of stock on: ' .  $product_info_1['name'];

	                            $message_text .= $product_info_1['name'] . '<br />';

				        }

				        $send_notify = true;

				    }
			    }



			}

Both changes were handled in the XML file.

NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by Randem » Mon Jan 11, 2016 9:36 am

Third: Also handled in the XML file.

Code: Select all

//				$downloadlinks = $this->db->query("SELECT downloadlink FROM " . DB_PREFIX . "order_downloadlink WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '".(int)$product_id."' AND language_id='".(int)$language_id."'");

// RJ - 20160108 - There is no language_id in the downloadlink table ???


				$downloadlinks = $this->db->query("SELECT downloadlink FROM " . DB_PREFIX . "order_downloadlink WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '".(int)$product_id."'");


NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by dmonco » Mon Jan 11, 2016 6:19 pm

With PHP 5.4 it became possible to directly dereference the array returned as a result of calling a function or method. Previously, you had to use temporary variables.
So, from the first code you posted I assume you use lowere than PHP 5.4
It's not a bug. Most of people use PHP 5.4 and 5.5 for correct work of Openart 2.1

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by Randem » Mon Jan 11, 2016 6:27 pm

So you are saying you broke compatibility because you could? Why intentionally make something not work or force users onto a certain platform without notice? Backwards compatibility is a measure of good software. It should just work... The version I used works for all versions, why would you like yours to do any less?

NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by dmonco » Mon Jan 11, 2016 6:33 pm

We update our extensions with latest versions. If someone has an issue, we help to resolve.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine

Post by Randem » Mon Jan 18, 2016 4:51 pm

Using serialkeyssalemodule-v.4.3-2.1.0.1
Here is another issue that I have found in Order History

Code: Select all

       if ( $serials_product->num_rows ) {
		$fff = count($serials_product->rows);
        }
	$this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity='" . (int)$fff . "' WHERE product_id='" . (int)$product_info['product_id'] . "'");

Should read

Code: Select all

          if ( $serials_product->num_rows ) {
			$fff = count($serials_product->rows);
 		        $this->db->query("UPDATE `" . DB_PREFIX . "product` SET quantity='" . (int)$fff . "' WHERE product_id='" . (int)$product_info['product_id'] . "'");
               }
	

NEVER take serious; anyone who gives negative impact statements with no ABSOLUTE proof!
OpenCart Helpful Information * Upgrade 1.5 to 2.1 * Upgrade 2.1 to 2.2
"Why do people NEVER have enough time to do it right but ALWAYS enough time to do it over?"
DO NOT EVER GIVE SOMEONE YOU DON"T KNOW ADMIN ACCESS TO ANYTHING!
I am NOT affiliated with OpenCart


User avatar
Active Member

Posts

Joined
Sat Sep 27, 2014 9:17 am

Post by dmonco » Mon Jan 18, 2016 5:03 pm

You have an error or something doesn't work or why you decided it should be like this?

Do not confuse people here who uses extension. The extension works fine.

If you think it has many problems, you can write your own in that case.

At the moment we are creating the new release, with new functionality.
I do not see the point of this conversion at all.

The extension grows, and thanks to us that we wish to prolong the developing of serialkey extension to make it better with more features.

New member

Posts

Joined
Sun Jun 12, 2011 8:05 am
Location - Ukraine
Who is online

Users browsing this forum: No registered users and 1 guest