Unable to communicate with the reader
-
I’ve got my reader all set up in the Stripe Terminal plugin. I am able to connect my reader without issue, and I see the reader is online in my Stripe account but when I test the checkout process with the reader I get the message “unable to communicate with the reader.”
I have tried disconnecting and reconnecting the reader several times but I can’t seem to get this to work. I’m not sure what I’m doing wrong at this point. It appears that I’ve got everything configured properly.
-
Hi Brown Box Tees,
Sorry to hear about your problem. Are you getting 1 or 2 errors? It’s possible you might get 2 alerts (one immediately prior which provides additional error data). If you’re getting another message please provide that info as it should indicate either an API error message or API connectivity error.
This error is thrown when the “create payment intent” function fails, which is leveraged from the Stripe Gateway and WooCommerce plugins, so here are some things to check:
Check your WooCommerce and Stripe Gateway plugin versions. If either are using an outdated version (ie. WC below 3.0), they must be upgraded. Be sure that you’re using the correct API keys; since you’ve added the terminal, we know they’ve worked before but you should verify that you haven’t changed from sandbox to live keys and vice versa, after having added it.
Be sure that the Stripe Terminal gateway checkbox is enabled on your WooCommerce settings (see installation video).
Be sure that your website and reader are on the same network with strong stable performance. Also be sure that your website host is fast; timeouts can occur on slow environments.
Check your PHP error logs. It’s possible you could have something else interrupting PHP execution.
Hi There,
Just following up to see if you’ve managed to resolve your issue. We would love to hear about any resolution!
We’ll circle back tomorrow and mark it resolved if we don’t hear from you.
Thanks!
Hi Again,
Circling back on this. I’m guessing y’all have figured it out. Hope you enjoy the plugin!
Unfortunately, I still have not been able to get the plugin and the reader to work. After setting this up numerous times without success I am leaning towards this being a hardware issue. I have also registered the device to the stripe API from outside of your plugin and am running into the same issues. I do not believe this issue is related to your plugin. Thanks for all the replies, I appreciate it. Off to Stripe support I go!
Bummer. Thanks for the update, though.
Knowing Stripe’s support, you might want to test the hardware yourself before you get spun around and end up returning it, so here are some things to check out:
https://stripe.com/docs/terminal/readers/verifone-p400#troubleshooting
Typing 0-8-6-2-4 will test the connectivity.Press and hold 1-5-9 at the same time to bypass Stripe and go to the Verifone sysmode interface. From there you can enter the maintenance screen (default password is Z66831) which has a “diagnostics” menu you can run tests on. Unfortunately Stripe doesn’t allow supervisor role access (we’ve pressed them about this), so you’re somewhat hamgstrung by what you can do here.
If you’re not able to get the support you need through Stripe, consider our PRO Services software which includes free installation from our staff: https://store.arcanestrategies.com/products/stripe-terminal-for-woocommerce
We’ve pushed an update which we hope resolves this. If you could please test and notify us of the results that would be appreciated.
It seems this is happening when the reader’s “setReaderDisplay” method is failing. This is what makes the reader show the contents of the car to the customer. When this fails, payment intent creation fails. This is likely because something in your cart is an invalid value (ie. invalid tax setup, currency type, etc). This also could be caused by an SDK or hardware failure disallowing the display to change.
In order to rectify this, we are allowing payment intents to be created regardless of failed reader displays. That said, we don’t know why your setReaderDisplay isn’t working, so we cannot verify that PI’s will be created but at least you should be able to get past that step and either succeed or get a different error message.
Thank you very much for all the reader specific info! That is extremely helpful! I’m going to dive into that this evening. As for the new update, I do get a different error now. I am seeing “Connection cancelled or timed out.” This error takes about 2 seconds to pop up, so I am pretty sure it is not timing out.
I contacted Stipe support and they are “looking into it” so I’ll have to wait to see what they say.
At this point, I feel like I should buy your pro services regardless of if I need them because you’ve been so helpful!
Thanks for the update and the vote of confidence! I’m certainly glad you feel that way. Let’s see if this helps and then I’ll give Stripe a moment to respond.
Most likely the problem is in connecting to the reader. The error you are describing only occurs when Stripe is returning to us the message “No established connection to the Reader”. More often than not this is because of performance issues, so you may want to try a few tests. Make sure that your reader and computer are both (a) online with a stable connection then (b) delete and re-register the reader from the plugin’s settings. It should happen at one of 3 steps:
(1) Upon reaching the checkout page, prior to initiating payment, “discoverReaders()” fails with Stripe returning “No established connection to the Reader”: https://stripe.com/docs/terminal/js-api-reference#discover-readers
(2) Upon clicking the terminal button to prompt the card request, we try to collect the payment intent and use it with Strips collectPaymentMethod function but that fails with “No established connection to the Reader”: https://stripe.com/docs/terminal/js-api-reference#collect-payment-method
(3) Upon presenting a card and attempting to process the order we attempt to run “processPayment”: https://stripe.com/docs/terminal/js-api-reference#process-payment
In all 3 of these cases that this alert is thrown, we will throw the alert you’ve received strictly in the event that Stripe indicates “No established connection to the Reader”. Any other response from Stripe will be logged in console, so if you check your browser inspector (hit f12 on PC), you should see a different error logged there.
Well, I finally have success with my reader using your plugin! Your suggestion of using the console to look at what was actually happening was very helpful. I kept getting an error that *.device.stripe-terminal-local-reader.net could not be resolved, which seemed weird since I can see the reader on my network. Just for fun, I thought I would switch our networks dns provider from Google (8.8.8.8) over to CloudFlare (1.1.1.1) and instantly it worked!! I have no idea what the deal was with using Google’s dns, but now it is working without issue. Thanks again for your help on this, I really appreciate your time! I would’ve never worked this one out without your assistance!
Glad to hear it and thanks for keeping us in the loop so we can help others in the future!
- The topic ‘Unable to communicate with the reader’ is closed to new replies.