Stripe Terminal Gateway
The Stripe Terminal gateway allows you to accept in-person payments using Stripe Terminal hardware readers directly within WooCommerce POS. This gateway supports both physical card readers and simulator mode for testing.
Features
- Hardware Integration: Connect physical Stripe Terminal readers via internet connection
- Simulator Mode: Test payments without hardware using Stripe's simulator
- Multiple Payment Methods: Support for various card types and payment methods
- Real-time Processing: Instant payment processing and confirmation
- Secure Transactions: PCI-compliant payment processing through Stripe
- Web-based SDK: Uses Stripe's JavaScript SDK for web application compatibility
Installation
Step 1: Download and Install
- Visit the Stripe Terminal for WooCommerce releases page
- Download the latest stripe-terminal-for-woocommerce.zip file
- In your WordPress admin, go to
Plugins > Add New > Upload Plugin - Upload the zip file and activate the plugin
Step 2: Configure Stripe Settings
- Navigate to
WP Admin > WooCommerce > Settings > Payments - Find Stripe Terminal in the payment methods list
- Click on Stripe Terminal to access settings
- Enter your Stripe Secret Key (you can get this from your Stripe Dashboard)
- Save the settings
You do not need to enable the Stripe Terminal gateway in WooCommerce settings. It will be enabled specifically for the POS in the next step.
Step 3: Enable in WooCommerce POS
- Go to
WP Admin > WooCommerce POS > Settings > Checkout - Find the Stripe Terminal gateway in the list
- Enable the gateway for use in the POS
- Save your settings
Usage
Connecting a Reader
When you select the Stripe Terminal gateway during checkout in the POS:
- Choose Connection Method: You can either connect a physical reader or use the simulator
- Physical Reader: Follow the on-screen instructions to connect your Stripe Terminal device
- Simulator: Select simulator mode to test various payment scenarios without hardware
Processing Payments
- Add Items: Add products to your cart in the POS
- Select Gateway: Choose "Stripe Terminal" as the payment method
- Connect Reader: Connect your reader or choose simulator mode
- Process Payment: Follow the prompts to complete the transaction
- Confirmation: The order will be automatically completed upon successful payment
Testing with Simulator
The simulator allows you to test various payment methods and scenarios:
- Card Payments: Test different card types (Visa, Mastercard, etc.)
- Contactless Payments: Simulate tap-to-pay transactions
- Error Scenarios: Test declined payments and other error conditions
- Different Amounts: Test various transaction amounts
Requirements
- Stripe Account: Active Stripe account with Terminal enabled
- API Keys: Stripe secret key from your dashboard
- WooCommerce POS: Free or Pro version installed and activated
- HTTPS: Your site must use SSL/HTTPS for security
Hardware Compatibility
This implementation uses Stripe's JavaScript SDK, which means it works through web applications but requires internet-connected terminals only. Bluetooth terminals are not currently supported.
Supported Terminals (Internet-Connected)
- Stripe Reader S700 ✅ - Ethernet/WiFi connected terminal
- WisePOS E ✅ - WiFi connected terminal
Unsupported Terminals (Bluetooth)
- BBPOS Chipper 2X BT ❌ - Bluetooth only
- BBPOS WisePad 3 ❌ - Bluetooth only
- Verifone P400 ❌ - Bluetooth only
Bluetooth terminal support will be added to the iOS and Android applications in Q1 2026. This will enable support for all Stripe Terminal certified readers including the M2 and WisePad 3.
Troubleshooting
Common Issues
Reader Won't Connect
- Ensure you're using a supported internet-connected terminal (S700 or WisePOS E)
- Verify the terminal is connected to WiFi/Ethernet and online
- Check that your Stripe account has Terminal enabled
- Confirm the terminal is registered in your Stripe Dashboard
Payment Declined
- Check that your Stripe account is active and in good standing
- Verify the card being used is valid
- Ensure sufficient funds are available
SSL Certificate Errors
- Stripe Terminal requires HTTPS - ensure your site has a valid SSL certificate
- Check that your SSL certificate is properly configured
Getting Help
For technical support:
- Visit the GitHub repository to report issues
- Check the Stripe Terminal documentation for hardware-specific guidance
- Contact Stripe support for account-related issues
Screenshots
Screenshots will be added in a future update to show:
- Gateway configuration in WooCommerce payment settings
- POS checkout interface with Stripe Terminal selection
- Simulator testing interface with various payment methods