POS API Overview
The Paysera POS (Point of Sale) External API enables seamless integration with point-of-sale systems, allowing businesses to programmatically manage cash registers, process orders, generate invoices, and access financial documents. This API is designed for retail businesses, restaurants, and service providers who need to integrate their POS systems with Paysera's payment infrastructure.
Environments​
The POS API is available in both demo and production environments:
- Production:
https://pos.paysera.com/eapi/v1/- Real POS operations with actual transactions - Demo:
https://pos-demo.paysera.com/eapi/v1/- Testing environment with simulated data
Getting Started​
To start using the POS API, follow these steps:
-
Create a Paysera account - Register at paysera.com and set up your POS system.
-
Access POS system - Log in to your Paysera POS dashboard at pos.paysera.com.
-
Generate API token:
- Navigate to User Settings (
/user/settings) - Generate a Personal Access Token
- Securely store your token (see Security best practices)
- Navigate to User Settings (
-
Configure API client - Set up your application to communicate with the POS API using the Bearer token authentication.
-
Test in demo environment - Use the demo server to test your integration before moving to production.
API Capabilities​
HATEOAS Support​
The API follows HATEOAS (Hypermedia as the Engine of Application State) principles, providing navigation links in responses:
{
"links": {
"first": "/eapi/v1/orders?page=1",
"last": "/eapi/v1/orders?page=10",
"next": "/eapi/v1/orders?page=3",
"prev": "/eapi/v1/orders?page=1",
"self": "/eapi/v1/orders?page=2"
}
}
Pagination​
All list endpoints support pagination with metadata:
{
"itemsTotal": 250,
"pagesTotal": 10,
"data": [...]
}
Filtering​
Flexible filtering options for:
- Date ranges (from/to)
- Document types (receipt, return, collection)
- Order status (pending, completed, canceled)
- Invoice numbers and prefixes
- Fiscal day periods
Data Format​
All API requests and responses use JSON format with UTF-8 encoding:
Request Headers:
Authorization: Bearer {your-token}
Content-Type: application/json
Accept: application/json
Response Format:
{
"data": { ... },
"links": { ... },
"itemsTotal": 100,
"pagesTotal": 5
}
Error Handling​
The API uses standard HTTP status codes and provides detailed error messages:
| Status Code | Description |
|---|---|
| 200 | Successful request |
| 201 | Resource created successfully |
| 400 | Invalid request parameters |
| 401 | Missing or invalid authentication |
| 403 | Access denied to resource |
| 404 | Resource not found |
| 409 | State conflict (e.g., order already processed) |
| 422 | Semantic validation error |
| 429 | Rate limit exceeded |
| 500 | Internal server error |
Rate Limiting​
The POS API implements rate limiting to ensure fair usage and system stability:
- Standard tier: 100 requests per minute
- Premium tier: 500 requests per minute
When limits are exceeded, the API returns HTTP 429 with retry-after information.
Versioning​
The current API version is v1. All endpoints are prefixed with /eapi/v1/.
Future versions will be released with new URL paths to maintain backward compatibility.
Next Steps
- Learn about Authentication and token management
- Review Security requirements
- Explore API Endpoints for complete API reference
- View Examples for common integration patterns
Support​
Need help with complex integrations?
Contact: tech_support@paysera.com