Skip to main content

Overview

Xendit Terminal device and dashboard interface
Xendit Payment Terminal enables businesses to accept in-person payments through our Android-based payment terminals. Whether you’re running a café, retail store, restaurant, or kiosk, our terminals let you seamlessly collect payments from cards, QR, and e-money wallets — all through one unified platform. With a single API integration, you can connect your existing Point of Sale (POS), ticketing, or kiosk software to Xendit’s terminals across multiple countries, including Indonesia, Thailand, Vietnam, and Malaysia (coming soon to the Philippines). Our partnership with local financial institutions ensures smooth onboarding, compliance, and support in each market.

Key Benefits

🌍 Multi-Country Reach with a Single Integration

Integrate once with the Xendit Terminal API and deploy in-person payments across Southeast Asia. The same API works in Indonesia, Thailand, Vietnam, and Malaysia — with upcoming support for the Philippines.

💳 Universal Payment Acceptance

Accept payments from Visa, Mastercard, JCB, UnionPay, American Express, local debit cards, and QR payments.

⚡ Fast Deployment and Go-Live

Our streamlined onboarding and close bank partnerships allow you to receive devices in multiple countries and go live in weeks, not months.

🧩 Flexible Integration Options

Connect your POS or software directly to the terminal through our API for self-serve kiosks, automated amount entry, transaction confirmation, and reconciliation.

🧑‍💼 Consultative Support

Our global operations and customer success teams collaborate closely with your Finance and Operations departments to optimize workflows, provide training, and ensure smooth payment acceptance.

Country Availability & Supported Payment Methods

CountryPayment MethodsPayment Channels
🇮🇩IndonesiaCredit CardsVisa, MasterCard, JCB
Debit CardsGPN
QR PaymentsQRIS
E-MoneyBrizzi
🇹🇭ThailandCredit CardsVisa, MasterCard, JCB, UnionPay, American Express (AMEX)
Debit CardsVisa, MasterCard
QR PaymentsThai QR PromptPay, TrueMoney Wallet, LINE Pay, ShopeePay, Alipay, Alipay+, WeChat Pay, MaxMe Wallet
InstallmentsBangkok Bank, Krungsri (Bank of Ayudhya), SCB (Siam Commercial Bank), Kasikornbank (KBank), Krungthai Bank (KTB), TTB (TMBThanachart Bank), Shopee SPaylater Coming soon: UOB
🇻🇳VietnamCredit CardsVisa, MasterCard, American Express (AMEX), JCB, UnionPay
Debit CardsNAPAS
QR PaymentsViet QR
🇲🇾MalaysiaCredit CardsVisa, MasterCard
Debit CardsMyDebit, Visa, MasterCard
QR PaymentsDuitNow QR (Coming Soon)
🇵🇭PhilippinesComing SoonComing Soon

How It Works

Xendit Terminals can be used with or without API integration.

POS-Integrated Payment Terminal

In this setup, your POS system communicates directly with Xendit Payment Terminal via our API. This enables automated payment workflows where transaction amounts are sent directly from your system to the terminal.
1

Create payment session

Your POS system creates a payment session through Terminal API with the transaction amount and terminal details.
2

Customer completes payment

The terminal prompts the customer to tap, insert, or swipe their payment card or scan QR code.
3

Receive real-time updates

Your system receives payment status updates through webhooks.
4

Complete transaction

Payment is confirmed, and you can print receipts or update your inventory system.

Standalone Payment Terminal

For merchants without a POS integration, payments can be accepted directly from the terminal by manually entering the amount on the device.
Transaction visibility varies by market: Some markets support real-time transaction notifications to Xendit, making transactions visible in your Dashboard immediately. Other markets use batch settlement files sent T+1 or later, meaning transactions appear in your Dashboard after the batch is processed. Contact your Xendit representative to understand the notification timing for your specific market.

Settlement

Funds are settled into your Xendit Balance within T+2 days after the transaction settlement is completed on the device. You can view all in-person transactions and settlements from your Xendit Dashboard, alongside your online payments, for a unified reconciliation experience.

Getting Started

Ready to start accepting in-person payments? Follow these three simple steps:
1

Apply for a Terminal

Reach out to our team at [email protected] to request your terminal(s).
2

Integrate with Xendit

Use our API documentation to connect your POS or custom software.
New to Xendit’s Payment Terminal? Start with our quickstart guide to get your first terminal payment processed in under 10 minutes.
3

Go Live and Accept Payments

Once approved, you’ll receive your device, complete onboarding, and start accepting in-person payments.

Integration Guide

Prerequisites

Before you begin integration, ensure you have:
  • Terminal API key from the Xendit In-Person Payment team (for API authentication)
  • Terminal Gateway client key from the Xendit In-Person Payment team (for SDK/app initialization)
  • Terminal Gateway set up (desktop app or Android/iOS SDK)
  • A terminal with Terminal ID and network connectivity
  • Your environment base URL:
    • Development: https://terminal-dev.xendit.co
    • Production: https://terminal.xendit.co
Two different keys: The Terminal API uses an API_KEY for authentication, while the Terminal Gateway SDK/app uses a CLIENT_KEY for initialization. Contact the Xendit In-Person Payment team to obtain both keys.
Terminal API uses HTTP Basic Auth with your Terminal API key as the username and an empty password. Always include a trailing colon when constructing the header.

Quick Start

Quick Start Guide

Follow our step-by-step quickstart guide to integrate Xendit payments and process your first transaction in under 10 minutes.

Payment Terminal Solutions

Xendit’s Payment Terminal consists of two main components that work together:

Integration Workflow

  1. Create a session with Terminal API for an amount, currency, and terminal.
  2. Execute on device through Terminal Gateway; the customer taps/inserts/swipes.
  3. Receive callbacks for real-time status updates.
  4. Query details for reconciliation or show receipts.
Don’t have a physical terminal yet? Start with our comprehensive quickstart guide which includes detailed simulation testing options that let you build and test your integration immediately without hardware.

Key Features

Explore the essential capabilities of Xendit’s Payment Terminal:

Platform-Specific Guides

Choose your development platform for detailed integration instructions:

Developer Resources

Everything you need to build with Xendit’s Payment Terminal:

Need Help?

Contact Terminal Support

Get personalized assistance from our Terminal API support team for integration questions, device setup, or technical issues.