Silencer Posted December 23, 2005 Posted December 23, 2005 (edited) Need some community assistance with testing :) Download at: here. Contribution purpose: make osC suitable for "unique virtual" products selling - PINs, phonecards, etc. How to use: 0. Install. Don't forget to set "Download enabled" and "Check stock". 1. Go to Products Attributes. 2. Create new option "PIN" or smthng like that. 3. Create new option value "Instant delivery" or smthng like that. 4. Add this option/value to product you need and check "Is PIN code" checkbox. 5. Go to Catalog - PIN loader and click Upload. 6. Choose needed product and enter some codes into form field (separated by newlines, spaces, commas or semicolons) and click Update button. Little more explanations: "Update" button in "PIN loader" set products quantity for all products with "Is PIN" attribute according to number of records in products_pins table. "Minimum order status" in Configuration - Download is self explaining i hope. PINs will be showed to customer only if order status equal or greater that value of this option. If you use "instant payment" module - they will see PIN right on "Checkout success" page. Now important warning: ABSOLUTELY NOT FOR REAL USE! TESTING ONLY This mod was NOT passed thru nice testing. PIN codes = money, so you don't want customers get them for free, right? TO DO: 1. Images as PINs (phonecard scans for example). Some trick supposed, cuz they must be stored outside of htdocs. 2. PIN code in order confirmation e-mail. 3. You name it. Waiting for comments. Thanks. Edited December 23, 2005 by Johnson Quote There is always more than one way to do it. And always Keep It Simple, Stupid.
Silencer Posted December 24, 2005 Author Posted December 24, 2005 Bug found, update will be published soon. Don't install current version if you didn't already. Quote There is always more than one way to do it. And always Keep It Simple, Stupid.
Silencer Posted December 24, 2005 Author Posted December 24, 2005 Fixed version uploaded. Enjoy (if someone need this mod at all :) ). Quote There is always more than one way to do it. And always Keep It Simple, Stupid.
kandip Posted January 8, 2006 Posted January 8, 2006 nice mod yo. have installed on my site... lets see how it works out... thanx... let us know when its gonna be final so that we can use to REAL on our sites :D Quote
axioma Posted January 24, 2006 Posted January 24, 2006 can you provide a better instructions, because the instructions given on note path are a quite messy. thanks Quote
Guest Posted January 26, 2006 Posted January 26, 2006 YES, Yes, Yes...BRAVO...THIS WE NEED... Early 21stCentury business is based on PIN codes of various kinds. Prosim vas...How do we get your latest beta/build, please? Your download version is a month old...we _hope_ you stayed excited about this???? Our app is limited to PIN codes in osC generated email and in SMS (SMS ME contrib). Thank you very much...diky hodne moc grat B) Quote
Silencer Posted January 26, 2006 Author Posted January 26, 2006 can you provide a better instructions, because the instructions given on note path are a quite messy. thanks What exactly unclear in my instructions? Quote There is always more than one way to do it. And always Keep It Simple, Stupid.
Silencer Posted January 26, 2006 Author Posted January 26, 2006 YES, Yes, Yes...BRAVO...THIS WE NEED...Early 21stCentury business is based on PIN codes of various kinds. Prosim vas...How do we get your latest beta/build, please? Your download version is a month old...we _hope_ you stayed excited about this???? Our app is limited to PIN codes in osC generated email and in SMS (SMS ME contrib). Thank you very much...diky hodne moc grat B) There is no "latest build" at this time. I'm still awaiting more feedback to be sure that base code works as supposed. Quote There is always more than one way to do it. And always Keep It Simple, Stupid.
andes1 Posted January 30, 2006 Posted January 30, 2006 (edited) can you provide a better instructions, because the instructions given on note path are a quite messy. thanks Virtual Unique Products (PIN & Phonecard selling) Version 0.6 alpha ? 2005 <email address removed - bluenotemkvi> Work in progress, not for production use!!! ########### 0.6 * Bugfixes in checkout_process.php and admin area. + Now correctly works if customer buys 2 or more PINs. 0.5. Initial release. #############UPDATING################# Overwrite pin_loader.php with new one. Make to changes marked (UPD) below. ############# INSTALLATION ############## Set following options in admin area: Configuration - Download - Enable Download "true" Configuration - Stock - Check stock level "true" Configuration - Stock - Substract Stock "true" Configuration - Stock - Allow checkout "false" #FILE /admin/includes/database_tables.php #AND #FILE /includes/database_tables.php #ADD BEFORE closing ?> //PIN add define('TABLE_PRODUCTS_PINS', 'products_pins'); #FILE /admin/includes/filenames.php #ADD BEFORE closing ?> //PIN add define('FILENAME_PIN_LOADER', 'pin_loader.php'); #FILE /admin/includes/boxes/catalog.php (or where you want to) #FIND '<a href="' . tep_href_link(FILENAME_SPECIALS, '', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_CATALOG_SPECIALS . '</a><br>' . #ADD AFTER //PIN add '<a href="' . tep_href_link(FILENAME_PIN_LOADER, '', 'NONSSL') . '" class="menuBoxContentLink">' . BOX_CATALOG_PIN_LOADER . '</a><br>'. !!! If you have clean MS2 installation - you can copy files from "overwrite" folder !!! and jump to DATABASE OPERATIONS section. !!! Else copy files from /admin folder to your /admin folder and process everything below. #FILE /admin/products_attributes.php #FIND (~68) $products_attributes_filename = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_filename']); $products_attributes_maxdays = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxdays']); $products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']); #ADD AFTER //PIN add $products_attributes_is_pin = isset($HTTP_POST_VARS['products_attributes_is_pin'])?1:0; //PIN end #FIND (next lines usually) if (tep_not_null($products_attributes_filename)) { tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " values (" . (int)$products_attributes_id . ", '" . tep_db_input($products_attributes_filename) . "', '" . tep_db_input($products_attributes_maxdays) . "', '" . tep_db_input($products_attributes_maxcount) . "')"); #CHANGE TO //PIN change if (tep_not_null($products_attributes_filename) || $products_attributes_is_pin) { tep_db_query("insert into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " values (" . (int)$products_attributes_id . ", '" . tep_db_input($products_attributes_filename) . "', '" . tep_db_input($products_attributes_maxdays) . "', '" . tep_db_input($products_attributes_maxcount) . "', '$products_attributes_is_pin')"); #FIND (~120) $products_attributes_maxcount = tep_db_prepare_input($HTTP_POST_VARS['products_attributes_maxcount']); #ADD AFTER //PIN add $products_attributes_is_pin = isset($HTTP_POST_VARS['products_attributes_is_pin'])?1:0; //PIN end #FIND (next lines again) if (tep_not_null($products_attributes_filename)) { tep_db_query("replace into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " set products_attributes_id = '" . (int)$attribute_id . "', products_attributes_filename = '" . tep_db_input($products_attributes_filename) . "', products_attributes_maxdays = '" . tep_db_input($products_attributes_maxdays) . "', products_attributes_maxcount = '" . tep_db_input($products_attributes_maxcount) . "'"); #CHANGE TO //PIN change if (tep_not_null($products_attributes_filename) || $products_attributes_is_pin) { tep_db_query("replace into " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " set products_attributes_id = '" . (int)$attribute_id . "', products_attributes_filename = '" . tep_db_input($products_attributes_filename) . "', products_attributes_maxdays = '" . tep_db_input($products_attributes_maxdays) . "', products_attributes_maxcount = '" . tep_db_input($products_attributes_maxcount) . "', products_attributes_is_pin='$products_attributes_is_pin'"); #FIND (~758) if (tep_db_num_rows($download_query) > 0) { $download = tep_db_fetch_array($download_query); $products_attributes_filename = $download['products_attributes_filename']; $products_attributes_maxdays = $download['products_attributes_maxdays']; $products_attributes_maxcount = $download['products_attributes_maxcount']; #ADD AFTER //PIN add $products_attributes_is_pin = $download['products_attributes_is_pin']; //PIN end #FIND (~780) <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td> #ADD AFTER <!-- //PIN add --> <td class="smallText"><?php echo TABLE_TEXT_IS_PIN; ?></td> <td class="smallText"><?php echo tep_draw_checkbox_field('products_attributes_is_pin', '', $products_attributes_is_pin,1); ?> </td> <!-- //PIN end --> #FIND (~871) <td class="smallText"><?php echo tep_draw_input_field('products_attributes_maxcount', $products_attributes_maxcount, 'size="5"'); ?> </td> #ADD AFTER <!-- //PIN add --> <td class="smallText"><?php echo TABLE_TEXT_IS_PIN; ?></td> <td class="smallText"><?php echo tep_draw_checkbox_field('products_attributes_is_pin', '', $products_attributes_is_pin,1); ?> </td> <!-- //PIN end --> #FILE /checkout_process.php #FIND (~125) $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename #CHANGE TO //PIN change $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename, pad.products_attributes_is_pin #FIND (~146) if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) { #CHANGE TO //PIN change if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename']) || ($stock_values['products_attributes_is_pin']==1) ) { #FIND (~180) $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename #CHANGE TO //PIN change $attributes_query = "select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix, pad.products_attributes_maxdays, pad.products_attributes_maxcount , pad.products_attributes_filename, pad.products_attributes_is_pin #FIND (~206) if ((DOWNLOAD_ENABLED == 'true') && isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) { #CHANGE TO //PIN change if ((DOWNLOAD_ENABLED == 'true') && ((isset($attributes_values['products_attributes_filename']) && tep_not_null($attributes_values['products_attributes_filename'])) or $attributes_values['products_attributes_is_pin'])) { #(UPD) ADD AFTER //PIN add for($pincycle=0;$pincycle<$order->products[$i]['qty'];$pincycle++) { if($attributes_values['products_attributes_is_pin']) { $pin_query=tep_db_query("SELECT products_pin_id, products_pin_code FROM ".TABLE_PRODUCTS_PINS." WHERE products_id = '".$order->products[$i]['id']."' AND products_pin_used='0' LIMIT 1"); if(tep_db_num_rows($pin_query)=='0') { // We have no PIN for this product // insert some error notifying here $pin=PIN_NOT_AVAILABLE; } else { $pin_res=tep_db_fetch_array($pin_query); $pin=$pin_res['products_pin_code']; tep_db_query("UPDATE ".TABLE_PRODUCTS_PINS." SET products_pin_used='".$insert_id."' WHERE products_pin_id = '".$pin_res['products_pin_id']."'"); } } //PIN #FIND (~226) 'download_count' => $attributes_values['products_attributes_maxcount']); #CHANGE TO 'download_count' => $attributes_values['products_attributes_maxcount'], 'download_is_pin' => $attributes_values['products_attributes_is_pin'], 'download_pin_code' => $pin ); #FIND (next line) tep_db_perform(TABLE_ORDERS_PRODUCTS_DOWNLOAD, $sql_data_array); #(UPD) ADD AFTER } #FILE /includes/modules/downloads.php #FIND (~25) $downloads_query = tep_db_query("select date_format(o.date_purchased, '%Y-%m-%d') as date_purchased_day, opd.download_maxdays, op.products_name, opd.orders_products_download_id, opd.orders_products_filename, opd.download_count, opd.download_maxdays from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " opd where o.customers_id = '" . (int)$customer_id . "' and o.orders_id = '" . (int)$last_order . "' and o.orders_id = op.orders_id and op.orders_products_id = opd.orders_products_id and opd.orders_products_filename != ''"); #CHANGE TO $downloads_query = tep_db_query("select date_format(o.date_purchased, '%Y-%m-%d') as date_purchased_day, opd.download_maxdays, op.products_name, opd.orders_products_download_id, opd.orders_products_filename, opd.download_count, opd.download_maxdays, opd.download_pin_code,opd.download_is_pin from " . TABLE_ORDERS . " o, " . TABLE_ORDERS_PRODUCTS . " op, " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . " opd where o.customers_id = '" . (int)$customer_id . "' and o.orders_id = '" . (int)$last_order . "' and o.orders_id = op.orders_id and op.orders_products_id = opd.orders_products_id and (opd.orders_products_filename != '' or opd.download_is_pin='1') and o.orders_status>='".DOWNLOADS_AVAILABLE_STATUS."'"); #FIND (~51) // The link will appear only if: // - Download remaining count is > 0, AND #ADD BEFORE //PIN add if ($downloads['download_is_pin']==1) { //PIN processing $pinstring=$downloads['download_pin_code']; echo '<td class="main">'.$downloads['products_name'].'</td><td class="main">'.$pinstring.'</td><td class="main"> </td>'; } else { //usual stuff #FIND (~74) $downloads['download_count'] . TABLE_HEADING_DOWNLOAD_COUNT . '</td>' . "\n" . ' </tr>' . "\n"; } #ADD AFTER } #DATABASE OPERATIONS INSERT INTO `configuration` (`configuration_id`, `configuration_title`, `configuration_key`, `configuration_value`, `configuration_description`, `configuration_group_id`, `sort_order`, `last_modified`, `date_added`, `use_function`, `set_function`) VALUES (NULL, 'PIN Show status', 'DOWNLOADS_AVAILABLE_STATUS', '2', 'Order must have this or better status', 13, 4, NULL, NOW(), NULL, ''); ALTER TABLE `products_attributes_download` ADD `products_attributes_is_pin` TINYINT( 1 ) NULL DEFAULT '0'; ALTER TABLE `orders_products_download` ADD `download_is_pin` TINYINT( 1 ) NULL DEFAULT '0', ADD `download_pin_code` VARCHAR( 250 ) NULL ; CREATE TABLE products_pins ( products_pin_id int(11) NOT NULL auto_increment, products_id int(11) NOT NULL, products_pin_code char(250) NOT NULL, products_pin_used tinyint(4) NOT NULL default '0', PRIMARY KEY (products_pin_id) ) #LANGUAGE CONSTANTS #ADMIN AREA define('TABLE_TEXT_IS_PIN','Is PIN code'); define('BOX_CATALOG_PIN_LOADER','PIN loader'); #CUSTOMER AREA define('PIN_NOT_AVAILABLE', 'Products out of stock during checkout. Personnel notified.'); that were the instruccions... i know the text on word path is a little weird to read edit - removed email address by request - bluenotemkvi Edited January 31, 2006 by BlueNoteMKVI Quote
Zurik Posted February 9, 2006 Posted February 9, 2006 Hello, I need HELP! PLEASE! I've installed this system and it is working, but I can't seem to get the pin numbers after the order has gone through. I didn't receive the download page, it wasn't in my order confirmation and It wasn't on any screen after the order was processed. I just got thrown back to the main catalog page. Is anyone else having this same issue or am I doing something wrong. website is www.marinemomscards.com I would really like to get the PIN along with the access number in an email. I check the system after the test order and I still had the same amount of PINs in the PIN Loader. I also had the same amount in stock. So the order went through, but I never got my pin. :huh: Can anyone help me? Quote
doni Posted March 16, 2006 Posted March 16, 2006 Great Contribution - thanks a lot. Current status for your info. I have installed the contribution, and so far everything works fine. 1. I have uploaded the PINs in then admin panel, purchased them, run them down to zero, and at zero, the correct message is given to the customer. 2. I have uploaded news PIN, once stock is out, and the system picks up the new ones fine. 3. I will do some further more robust testing on this and let you know how I get one. 4. Nest steps might be (as you suggested), to see how to link the checkout-success email to the customers informing them of the PIN. Well done ... Quote
Guest Posted March 16, 2006 Posted March 16, 2006 Ladies and Gentlemen, In the interests of everyone being on the same 'development page' here, so to speak, and because of the overwhelmingly important financial security aspects of such a contribution for individual members of the osC community who build and or operate eshops, could someone please put up a link to a clean full copy of the latest working copy of this contribution, please? Otherwise, we seriously risk different teams 'reinventing the wheel' and making well-intentioned but still imperfect work-arounds to problems that may have been already acceptably solved by another team. It is gratifying to hear that people are happy with what they have installed, but we must all be working from the same coding solution set, please, or there will be a lot of duplicative and hence potentially wasted personal work, time and effort into redoing each other's solutions. Granted, there are serious issue of coding style and approach, but the idea in the Open Source Community is on effective collaborative work, of course. Our thanks to Silencer, once again, for getting this ball finally rolling! Many thanks to all who have pounded keys working to make this one work well! ... B) Quote
doni Posted March 17, 2006 Posted March 17, 2006 Perhaps searching for "Virtual Unique Products" in the Contributions section of this website might help you! Quote
doni Posted March 17, 2006 Posted March 17, 2006 Otherwise, we seriously risk different teams 'reinventing the wheel' and making well-intentioned but still imperfect work-arounds to problems that may have been already acceptably solved by another team. What other contributions are there? Quote
Guest Posted April 22, 2006 Posted April 22, 2006 (edited) Hi Everybody... Still cranking along, tyring to get things to work... Has anyone found a good way to display the PIN prices in a table, of some type? Drop down table...or searchable table... Everybody here knows what I am talking about, I think. Obviously it will not be inside this module(I assume), but it is related and anybody using this nice contribution, probably wants this, too....obviously...probably a specialized info box would be good. Anyone with more experience....out there..what do you recommend PLEASE for eating a simple spreadsheet with 2-3 columns Big Thanks to everybody else out there testing things, too...! (...given time, teamwork and uncounted hours, this will all work great!) Edited April 22, 2006 by CPRG Quote
svetur Posted April 26, 2006 Posted April 26, 2006 (edited) Hi, i'm testing it on sandbox.paypal. After payment has been made and i returned to merchant website ( my osscommerce page ) i got this error 1054 - Unknown column 'pad.products_attributes_is_pin' in 'field list' SELECT products_quantity, pad.products_attributes_filename, pad.products_attributes_is_pin FROM products p LEFT JOIN products_attributes pa ON p.products_id=pa.products_id LEFT JOIN products_attributes_download pad ON pa.products_attributes_id=pad.products_attributes_id WHERE p.products_id = '28' [TEP STOP] I think i followed all the instructions and i uploaded some pins. Unless i have to add more info to upload pins besides the pins themselves??? thanks Edited April 26, 2006 by svetur Quote
svetur Posted April 26, 2006 Posted April 26, 2006 (edited) hHi, disregard the last post, it doesn't let me delete. I fix it, i was missing products_attributes_is_pin in the database. But now i can finish the payment process but i do not get any pins? My pin_loader is full nothing was deducted. Please help. Thank you. Edited April 26, 2006 by svetur Quote
svetur Posted May 16, 2006 Posted May 16, 2006 Hi, still having problems - my pins are not being deducted from the loader. Any ideas? Quote
strictlypc Posted May 18, 2006 Posted May 18, 2006 Hi There, Couple of suggestions that I have would be: (1) Ability to view and edit the Pin Codes that was uploaded (2) Ability for the customer to "recharge" that Pin Code that was purchased earlier (3) Ability for the customer to do pinless dialing (4) And of course, the ability for the customer to receive the PIN code in their email Thanks for this great contribution, StrictlyPC Quote
svetur Posted June 2, 2006 Posted June 2, 2006 Bug!!!!! My Pin loader wasn't deducting pin number so i found a flaw ( i think ) here it is: It was giving all pins because it wasn't checking if they were sold!!!! file : admin/pin_loader.php added twice in this file WHERE products_pin_used='0'. case 'update': $pins_query=tep_db_query("SELECT products_id,COUNT(*) AS pcount FROM ".TABLE_PRODUCTS_PINS." WHERE products_pin_used='0' GROUP BY products_id"); while($pin_res=tep_db_fetch_array($pins_query)) { tep_db_query("UPDATE products SET products_quantity='".$pin_res['pcount']."' WHERE products_id='".$pin_res['products_id']."'"); } $messageStack->add(PINS_QUANTIY_UPDATED,'success'); ------- <?php $pins_query=tep_db_query("SELECT products_id,COUNT(*) AS pcount FROM ".TABLE_PRODUCTS_PINS." WHERE products_pin_used='0' GROUP BY products_id"); while($pin_res=tep_db_fetch_array($pins_query)) { Quote
svetur Posted June 2, 2006 Posted June 2, 2006 This modification lets you send pin codes to customer email. That's how it looks: ------------------------------------------------------ Order Number: 23 Detailed Invoice: http://www.xxxx.com/catalog/account_histor...php?order_id=23 ------------------------------------------------------ Call access number xxxxxxxxxx Dial - country code + phone number No need for 011 If you have an problems contact us: xxxx@xxxxcom Date Ordered: Friday 02 June, 2006 Products ************************************ $10 Calling Card Pin code - 123455 $10 Calling Card Pin code - 223456 $10 Calling Card Pin code - 345678 $10 Calling Card Pin code - 132456 $20 Calling Card Pin code - 324567 $5 Calling Card Pin code - 123211 ************************************ 4 x $10 Calling Card () = $40.00 1 x $20 Calling Card () = $20.00 1 x $5 Calling Card () = $5.00 Total: $65.00 Billing Address ------------------------------------------------------ and etc..... -------------------------------- This is how it was done. I had to edit checkout_process.php and includes/languages/english/checkout_process.php includes/languages/english/checkout_process.php just add these lines: define('EMAIL_TEXT_PROMOTIONS', 'Call any access number' . "\n" . 'xxxxxxx'. "\n" . 'Dial - country code + phone number' . "\n" . 'No need for 011' . "\n" . 'If you have any problems contact us: [email protected]' . "\n"); define('EMAIL_SEPARATOR_2', '************************************'); catalog/checkout_process.php Find these lines and change the lines in the bold font: (These lines add $10 xxxx, pin code - xxxxx ) if(tep_db_num_rows($pin_query)=='0') { // We have no PIN for this product // insert some error notifying here $pin=PIN_NOT_AVAILABLE; } else { $pin_res=tep_db_fetch_array($pin_query); $pin=$pin_res['products_pin_code']; tep_db_query("UPDATE ".TABLE_PRODUCTS_PINS." SET products_pin_used='".$insert_id."' WHERE products_pin_id = '".$pin_res['products_pin_id']."'"); $products_ordered .= $order->products[$i]['name'] . "\n"; $products_ordered .= 'Pin code - '; $products_ordered .= $pin . "\n"; Find these lines and change $product_add line in the bold font: ( This line cleans up and displays your order summary ) $total_weight += ($order->products[$i]['qty'] * $order->products[$i]['weight']); $total_tax += tep_calculate_tax($total_products_price, $products_tax) * $order->products[$i]['qty']; $total_cost += $total_products_price; $products_add .= $order->products[$i]['qty'] . ' x ' . $order->products[$i]['name'] . ' (' . $order->products[$i]['model'] . ') = ' . $currencies->display_price($order->products[$i]['final_price'], $order->products[$i]['tax'], $order->products[$i]['qty']) . "\n"; Find these lines and add lines in the bold font: ( These lines display the dialing instructions and pins for customer's email ) $email_order = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $insert_id . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_href_link(FILENAME_ACCOUNT_HISTORY_INFO, 'order_id=' . $insert_id, 'SSL', false) . "\n" . EMAIL_SEPARATOR . "\n\n" . EMAIL_TEXT_PROMOTIONS . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . strftime(DATE_FORMAT_LONG) . "\n\n"; if ($order->info['comments']) { $email_order .= tep_db_output($order->info['comments']) . "\n\n"; } $email_order .= EMAIL_TEXT_PRODUCTS . "\n" . EMAIL_SEPARATOR_2 . "\n" . $products_ordered . EMAIL_SEPARATOR_2 . "\n" . $products_add ; That's is it. Enjoy. Any questions, problems - post it. Quote
wetzel Posted July 12, 2006 Posted July 12, 2006 Great contribution! I have gotten it working well on my site. I am going to take it live soon for selling access codes for some premium content. It's not high stakes, so I feel pretty comfortable with the contribution. (It is academic content, so it won't be like criminals will be breaking down the door!) One thing I noticed. When I went through with some test customers, it seems that I am receiving two identical emails to the store as part of checkout process now, where before I was receiving one. I've combed through checkout_process.php and can't seem to locate where this might be coming from. Any ideas? (My site is pretty heavily modded) Thanks again for a great contribution. It is exactly what I need! Cheers! Quote
svetur Posted July 13, 2006 Posted July 13, 2006 Hi, in my case i get 2 Order process ( the same email that customer gets ) and one from paypal. The first one is sent to Send Extra Order Emails To [email protected] I do not get the one to my main email address for some reason. My site is modified a lot too. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.