Overview
The Terminal API enables you to process in-person payments using Xendit’s terminal devices. This API provides comprehensive functionality for creating payment sessions, managing terminal operations, and handling real-time payment callbacks.New to Terminal API? Start with our quickstart guide to get
your first terminal payment processed in under 10 minutes.
Key Features
The Terminal API provides these core capabilities:- Payment Session Management: Create and manage payment sessions for terminal transactions
- Terminal Operations: Push commands to terminal devices for various operations
- Real-time Callbacks: Receive instant notifications for payment events and status changes
- Error Handling: Comprehensive error management for different payment scenarios
- Multi-device Support: Manage multiple terminal devices from a single integration
Prerequisites
Essential Requirements
- Xendit Account: Active account with Terminal API access
- API Credentials: In-Person Payment API key from Xendit team
For Physical Terminal Integration
- Terminal Gateway: App or SDK installed on your terminal devices
- Network Access: Terminal devices must have internet connectivity
For Simulation Testing (No Terminal Required)
- Nothing else needed! Start integrating immediately using simulation mode
Don’t have a physical terminal yet? Perfect! You can begin integration right away using our simulation capabilities. Test payment flows, error handling, and webhook integrations without waiting for terminal delivery. All you need is your API key.
API Endpoints
Choose the appropriate endpoint for your environment:Development
Base URL:
https://terminal-dev.xendit.co Use this endpoint for testing
and development with sandbox data.Production
Base URL:
https://terminal.xendit.co Use this endpoint for live
transactions and production use.Authentication
The Terminal API uses HTTP Basic Authentication for all requests:- Username: Your Terminal API key
- Password: Empty string (leave blank)
cURL
Terminal Gateway Setup
The Terminal Gateway is required to manage your terminal devices:- Desktop App
- Mobile SDK
Available Platforms: Windows, macOSDownload and install the Terminal Gateway desktop application:
- Download the app from the Xendit dashboard
- Install and launch the application
- Configure your terminal devices
- Connect to the Xendit network
Verify the app shows “Connected” status before processing payments.
API Reference
Explore the complete Terminal API documentation:Create Payment Session
Create new payment sessions for terminal transactions.
Get Payment Session
Retrieve payment session details and status information.
Retry Payment Session
Retry payment session on terminal devices.
Get Payment Detail
Retrieve payment transaction details and status.
Void Payment
Cancel or void payment transactions when needed.
Push Operation Command
Send operational commands to terminal devices.
Payment Callbacks
Handle real-time payment notifications and status updates.
Error Handling
Understand error codes and troubleshooting common issues.
OpenAPI Specification
Download the complete OpenAPI 3.0 specification for integration with your
development tools and API clients. The specification is available in YAML
format and can be imported into tools like Postman, Insomnia, or any
OpenAPI-compatible client.
Download YAML
Download the complete OpenAPI 3.0 specification in YAML format
View in Browser
View the api directly in your browser
Changelog
New Features
- Payment Session Management: Create and retrieve payment session details
- Terminal Operations: Push operation commands to terminal devices
- Real-time Callbacks: Receive instant payment notifications
- Multi-device Support: Manage multiple terminals from single integration
API Endpoints
POST /v1/terminal/sessions- Create payment sessionsGET /v1/terminal/sessions/{id}- Get session detailsGET /v1/terminal/payments/{id}- Get payment details (authenticated)GET /public/v1/terminal/payments/{id}- Get payment details (public)POST /v1/terminal/payments/{id}/void- Void payment transactionsPOST /v1/terminal/commands- Push terminal commands
Need Help?
Contact Support
Get personalized assistance from our Terminal API support team for integration
questions or technical issues.