Troubleshooting Stripe Terminal Connectivity

The Stripe Terminal SDK is encountering DNS errors when connecting to an Internet Reader

When a Stripe Terminal reader is assigned an IP address by your router’s DHCP server, the reader will connect to Stripe to obtain an SSL certificate associated with a hostname similar to The Stripe Terminal SDKs will use that hostname to communicate with the reader.

Stripe hosts a DNS server that resolves our reader-specific hostnames to IP addresses on your LAN; for example, the DNS server would resolve the above hostname to

Some DNS servers, usually set up by ISPs, block authoritative DNS listings that resolve to local IP addresses. This means that the Stripe Terminal SDKs will not be able to communicate with the reader, even if the reader is accessible on the local network. You might see this manifest as a DNS error or a connectivity error from the Terminal SDKs.
To test whether the reader is accessible on the local network, you can ping the reader’s IP address from the command line:

$ ping

To test whether your DNS provider can resolve Stripe Terminal device hostnames, you can run nslookup from the command line:

$ nslookup

If the nslookup command fails but the ping command succeeds, it means your DNS provider is blocking local IP addresses from resolving. To mitigate this, you can change the DNS provider either in your point of sale device’s network settings or in your router’s networking settings.

Some DNS providers block DNS resolution of local IP addresses. Stripe Terminal uses the partially qualified domain name *.[random-string] which resolves to the local IP address of your card reader. If your DNS provider blocks local IP resolution, you should change your network settings to use one of the following DNS providers:

Instructions for changing your DNS provider vary by device and router; please consult the user manual for your device to learn more.