• Resolved miclovin

    (@miclovin)


    I setup the plugin and printer. Status on plugin page shows connected with no errors. I placed a real test order through Woocommerce front end but the ticket never printed. The plugin shows nothing in the queue. Any suggestions?

Viewing 9 replies - 1 through 9 (of 9 total)
  • Plugin Contributor lawrenceowen

    (@lawrenceowen)

    @miclovin Are you using the plugin version from the WordPress repository or one of the sample releases that have been posted here? This issue is most probably related to the WooCommerce hook that is being used to trigger printing.

    • If you have the standard version from the WordPress repository, the printing is triggered by the WooCommerce “ThankYou” hook. This hook is used to display the “Thank You” message when an end user completes an order on your website. So, it will only fire for orders processed via the web site, and not via the WooCommerce admin interface. We have also found that it is not 100% reliable and so this will only be available as a legacy compatibility option in future versions of the plugin.
    • If you have one of the sample versions, then it is instead using a WooCommerce order status change hook. This is fully reliable, and means that orders will be printed when generated by the WooCommerce admin interface. This is a much better solution, but the plugin must choose which order status it is looking for. Therefore the versions released will trigger a print job when an order is assigned the “Processing” status (the default for new orders under WooCommerce). However, if your site has been configured to use a different status for new orders then also jobs will not print.

    If you ae currently using the base version, and want to test the sample release with new features and order status based print trigger, then I recommend this version.

    Thread Starter miclovin

    (@miclovin)

    Thank you. If you could please let me know on this forum thread when you publish the new plugin to the wp repository would be great as I will forget to go looking for it and I would like to receive regular plugin updates.

    So installed the sample version and it looks better. First thing I noticed is that it just printed a test order I created yesterday using the respository version.

    Next I tried a new order with custom fields from a free plugin. The good thing is that I saw it in the queue. But it did not print immediately. It wasn’t until I sent another order to the printer from my in store POS that the order from WC also printed. And when it did print it was absolutely huge and printed all kinds information which im assuming is metadata. But it was just way too much info. All I want to print is the item and the custom field stuff. Please if you could help me along with this issue to get it printing just right would be great as it is just so important to my restaurant right now, everyone wants to place orders online.

    Thread Starter miclovin

    (@miclovin)

    I unchecked Additional Order Fields and that fixed the printout of unnecessary info and it still printed the custom fields which is fantastic!

    Now the only issue is the timing. The order seems to sit in queue until the printer is triggered by my POS system. I would like it to print from WC as soon as the order is placed.

    Plugin Contributor lawrenceowen

    (@lawrenceowen)

    @miclovin It’s good to hear that you could get the output that you need.

    In general, CloudPRNT remote printing can co-exist with local POS software. But this depends entirely on how that POS software is written. Some POS applications will hold a claim to the printer which means that other applications (including CloudPRNT) are blocked from accessing the printer. In this case, my guess is that the POS software effectively claims the printer immediately after it has printed something, meaning that the CloudPRNT job from your site can only print immediately after the POS prints.

    There may be ways to work around this, cloud you let me know which printer model you have, and also what kind of system does your POS run on (i.e. is in Windows, Android iPad?) and how is your POS connected to the printer (i.e. is it also printing over the network, or conneced by USB, or maybe Bluetooth?).

    Thread Starter miclovin

    (@miclovin)

    I do not think the POS is blocking print jobs. Here is my setup and timeline for it:

    I purchased a Square POS Terminal and a Star SP742 kitchen printer also from Square. The printer came with an ethernet port but no CloudPRNT function. Square terminal is connected via wifi and the printer via ethernet, both on the same LAN.

    I then acquired a tablet from UberEats and although their app does not officially support the printer, it was able to print tickets, over the local wifi, to the printer and there was no delay or ‘block’ from the Square POS system. Both Square and UberEats are able to use the printer instantly at any time.

    I purchased a new interface card from Star, through a 3rd party vendor, that supports CloudPRNT and intalled it without issue. I believe the model of the card is IFBD-HI02X. I continued to use the ethernet to connect to our LAN.

    I really appreciate your help with this. Is it possible to call you? This Christmas season may be the last hope to drive some revenue to the restaurant and I would like to solve this asap. As you are likely aware, absolutely everyone is shopping online this year.You can send a message with number privately through the company website https://bit.ly/3nh42U4
    I Could also grant you access to WP if you want to go in and see it yourself.

    If we can solve this and display the results I think it would not only help me but a lot of other small businesses as the setup im using (Square, Uber, Woocommerce, Star) is really simple to use and acquire.

    Thanks again,
    Mike

    Plugin Contributor lawrenceowen

    (@lawrenceowen)

    @miclovin Thank you for the background, it helps to have more context.

    The internal locking system is absolutely necessary to avoid potential conflicts from multiple applications all trying to access the device. For example to ensure that print jobs from multiple sources do not get scrambled together if they are both being sent at the same time.

    Most POS applications are designed with exclusive access to the printer in mind, there are therefore several ways that they can conflict with each other (can be as simple as one application changing the device font or other settings when another application is not expecting that to change). Some applications can hold access to the printer open and this is my first guess explanation for the the CloudPRNT ticket only printing when the POS does. Alternatively, there may be issues with the way that print job completion is measured.

    Star can not, and does not guarantee that multiple applications can all cooperate well with a single printer unless those applications are intended to work together or have been pre-tested in that configuration. I do not know how the square software manages the printer connection so I can’t be sure of the timing that use to open/close the port or other potential conflicts.

    There are a few points that you can try:

    • make sure that your HI02X interface has up-to-date firmware. the current version is 1.9.1. From memory, I believe that some previous releases included changes that may be relevant.
    • Access your printer web interface, open the “System Configuration” page and try to enable “#9100 Multi Session” mode. This mode changes the way that connections from multiple applications, with a little luck it may help.

    Unfortunately, beyond this, the only guaranteed solution is to use a second printer for your remote orders.

    I work for the EU office, so can’t call you directly. But if you do want to discuss with a support engineer directly, then you can contact our North American office via https://www.starmicronics.com//pages/ContactUs. They will certainly have more experience than me with how Square software cooperates with other network applications and may have other suggestions.

    Thread Starter miclovin

    (@miclovin)

    Most POS applications are designed with exclusive access to the printer in mind, there are therefore several ways that they can conflict with each other (can be as simple as one application changing the device font or other settings when another application is not expecting that to change). Some applications can hold access to the printer open and this is my first guess explanation for the the CloudPRNT ticket only printing when the POS does. Alternatively, there may be issues with the way that print job completion is measured.

    I really do not think this is the problem. Like I mentioned earlier, UberEats orders print just fine and without delay. UberEats has nothing to do with Square, they are not communicating or coordinating and there is never any conflict of print jobs.

    The printer I have is not exclusive to Square, (it was not part of a package) and there is no indication that Square has exclusive access to the printer as you suggest.

    BTW, I tried updating firmware and enabling multi session mode with no luck

    Since you pointed me to the Sample version of the plugin which was updated to fix a print timing issue, I suspect this is where the problem lies. This is how the thread started, with the standard plugin not sending the print job to the printer at the right time. Sample was supposed to fix it but I believe it still needs work. My POS is not the problem. I can turn it off and completely remove it from the network to eliminate any question of conflicts. In fact, lets just work forward assuming the printers only job is to print from Woocommerce.

    • This reply was modified 3 years, 11 months ago by miclovin.
    • This reply was modified 3 years, 11 months ago by miclovin.
    • This reply was modified 3 years, 11 months ago by miclovin.
    Thread Starter miclovin

    (@miclovin)

    OMG, I just finished a call with Guillermo and he helped me solve this issue! Thank you Lawrence for getting us in contact, it was just what was needed.

    The solution was a bit random and we were not sure about why it worked but it did and we are happy with it:

    The solution was to change the polling time on the printer itself, @ Star Intelligent Network Utility>Configuration>CLoudPRNT>Polling Time

    We changed it from 120 seconds to 5 seconds and after saving that configuration it immediately printed orders in the plugins queue. Boom, prints just fine!

    Thanks guys.

    Plugin Contributor lawrenceowen

    (@lawrenceowen)

    @miclovin excellent news, thanks for letting me know.
    With hindsight, this makes complete sense, the polling time dictates how often the printer will contact your site to check for print jobs, so a 120s time would explain slow printing.
    It also explains why printing from your POS seemed to trigger a print job from the site. Since printing from the POS can change the printers status, and any change in status will also cause the printer to contact your web site.

Viewing 9 replies - 1 through 9 (of 9 total)
  • The topic ‘Everything looks good but orders not printing’ is closed to new replies.