Terminal & POS Payments
Accept in-person card payments with ClapPay Terminal. Tap, dip, or swipe - all payments sync to your dashboard automatically.
What is ClapPay Terminal?
ClapPay Terminal lets you accept card payments in person - at your store, restaurant, market stall, or anywhere you meet customers face-to-face.
- Accept tap (contactless), chip, and swipe payments
- Works with Apple Pay and Google Pay
- All payments show up in your ClapPay Dashboard
- Same low fees as online payments
Choose Your Hardware
Card Reader
Small, portable reader. Connects to your phone or tablet via Bluetooth.
- • Best for: Mobile businesses, markets, delivery
- • Accepts: Tap, chip, swipe
- • Battery: 500+ transactions per charge
Smart Terminal
All-in-one device with screen. Works standalone or with your POS system.
- • Best for: Retail stores, restaurants
- • Accepts: Tap, chip, swipe + receipts
- • Screen: Shows amount, collects tips
Order hardware from your Dashboard under Settings → Terminal → Order Hardware.
Set Up Your Terminal
Step 1: Register the Device
- Go to Dashboard → Terminal → Readers
- Click Add Reader
- Enter the registration code from your device
- Give it a name (like "Front Counter" or "Mobile 1")
Step 2: Connect to WiFi
Your terminal needs internet to process payments. Connect it to your WiFi:
- On the terminal, go to Settings
- Select your WiFi network
- Enter the password
- Wait for connection
No WiFi?
Use a mobile hotspot from your phone, or get a terminal with built-in cellular connection.
Take a Payment
There are two ways to take payments - from the terminal itself, or from your own app/POS system.
Option 1: From the Terminal
- Enter the amount on the terminal keypad
- Customer taps, dips, or swipes their card
- Terminal shows "Approved" when done
- Optional: Print or email receipt
Option 2: From Your App (API)
// Create a payment intent
POST /v1/payments
{
"amount": 2500,
"currency": "USD",
"payment_method_types": ["card_present"],
"capture_method": "automatic"
}
// Then send to the terminal
POST /v1/terminal/readers/rdr_abc123/process_payment_intent
{
"payment_intent": "pi_xyz789"
}The terminal will prompt the customer to pay. When they do, you'll get a webhook notification.
Collect Tips
Let customers add a tip during checkout:
- Enable tipping in Settings → Terminal → Tipping
- Choose tip options (%, fixed amount, or custom)
- The terminal will show tip screen after amount entry
// Enable tipping via API
POST /v1/terminal/readers/rdr_abc123/process_payment_intent
{
"payment_intent": "pi_xyz789",
"tipping": {
"enabled": true,
"options": [15, 18, 20, 25]
}
}Process Refunds
Refund in-person payments the same way as online payments:
- Find the payment in your Dashboard
- Click Refund
- Enter the amount (full or partial)
- Click Confirm Refund
Refunds go back to the same card that was used. The customer doesn't need to be present.
Receipts
Give customers a receipt after payment:
- Print - Smart terminals have built-in printers
- Email - Ask for email and send digitally
- SMS - Text the receipt link
- No receipt - Customer can decline
Offline Mode
If your internet goes down, some terminals can accept payments offline:
- Payments are stored on the device
- They process automatically when internet returns
- There's a small risk - some cards may decline later
⚠️ Offline Risk
Offline payments aren't guaranteed. A card could be over limit or stolen. Use offline mode only when necessary.
POS Integration
Connect ClapPay Terminal to your point-of-sale system:
- JavaScript SDK - For web-based POS systems
- iOS SDK - For iPad POS apps
- Android SDK - For Android tablets
- Server-driven - Control from your backend
// JavaScript SDK - Connect to reader
const terminal = ClapPayTerminal.create({
onFetchConnectionToken: async () => {
const response = await fetch('/connection-token');
const data = await response.json();
return data.secret;
}
});
// Connect to a specific reader
await terminal.connectReader(reader);
// Collect payment
const result = await terminal.collectPaymentMethod(
paymentIntent.client_secret
);Troubleshooting
| Problem | Solution |
|---|---|
| Terminal not connecting | Check WiFi, restart terminal, re-register if needed |
| Card not reading | Clean chip slot, try tap instead, check for damage |
| Payment declined | Ask customer to try different card |
| Slow processing | Check internet speed, move closer to router |
| Reader offline | Check battery, WiFi connection, restart |