Ensuring Stripe Terminal JavaScript SDK Functionality on macOS 15

Overview

With the latest macOS 15 (Sequoia) update, Apple has introduced changes affecting local network connections. Specifically, for applications like the Stripe Terminal JavaScript SDK which require local network access, users will need to grant explicit permissions for their browser apps to detect and communicate with devices on the local network. This guide outlines the steps necessary to ensure the Stripe Terminal connects as expected.

Common Issue

Upon upgrading to macOS 15, users may experience issues with the Stripe Terminal JavaScript SDK unable to connect to readers on the local network. This is due to new privacy settings requiring explicit permission for local network access.

Resolution Steps

1) Allow Access on First Prompt:

  1. When you first launch a browser app (e.g., Google Chrome) that attempts to communicate with a local network device, you will receive a prompt like the one below:

google chrome allow image.png

  1. Action: Click Allow to grant local network access.

Note: If “Don’t Allow” is selected, the Stripe Terminal JavaScript SDK will not function as expected.

2) Granting Access Manually:

If you clicked “Don’t Allow” initially or need to grant access at a later time, follow these steps:

  1. Open System Settings on your macOS device.
  2. Navigate to Privacy & Security.
  3. Select Local Network from the options.
  4. Find your browser application (e.g., Google Chrome) in the list and toggle the switch to allow local network access.

Screenshot_2024-10-21_at_9.19.37aAM.png

Additional information

The Stripe JS Terminal SDK is encountering missing certificate errors when connecting to an Internet Reader

Stripe Terminal Smart readers network requirements

My point-of-sale application cannot connect to the Terminal smart reader using Terminal SDKs