Overview
The Cheqpay API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.Base URLs
Sandbox
Production
Authentication
Authenticate your API requests by including your API key in the Authorization header:Request Format
All POST requests should include:Response Format
All responses are returned as JSON:HTTP Status Codes
| Code | Meaning | Description |
|---|---|---|
200 | OK | Request succeeded |
201 | Created | Resource created successfully |
400 | Bad Request | Invalid request parameters |
401 | Unauthorized | Invalid or missing API key |
404 | Not Found | Resource not found |
409 | Conflict | Duplicate resource or conflicting state |
422 | Unprocessable Entity | Payment declined or business logic error |
429 | Too Many Requests | Rate limit exceeded |
500 | Internal Server Error | Server error (rare) |
503 | Service Unavailable | Temporary service disruption |
Key Endpoints
Payment Orders
Create and manage payment orders for card payments, SPEI transfers, and batch processing.Payment Orders Guide
Learn about payment orders
Card Payments Guide
Process card payments
Refunds
Refunds Guide
Learn how to process refunds
Customers
Customers Guide
Learn about customer management
3D Secure Validation
3D Secure Guide
Learn about 3DS authentication
Common Fields
Amounts
Amounts are always specified in cents (minor currency units):| Amount | Represents |
|---|---|
| 100 | $1.00 MXN |
| 1000 | $10.00 MXN |
| 10000 | $100.00 MXN |
| 999999 | $9,999.99 MXN |
Currency
ISO 4217 currency codes:MXN- Mexican PesoUSD- US Dollar
Dates
ISO 8601 format with timezone:IDs
Two types of IDs for most resources:externalId to link Cheqpay resources with your system and enable idempotency.
Payment Order Statuses
| Status | Description |
|---|---|
PENDING | Payment is being processed |
PROCESSING | Payment in progress |
COMPLETED | Payment successful |
FAILED | Payment declined |
PAYER_AUTHENTICATION_DEVICE_DATA_REQUIRED | 3DS data collection needed |
PAYER_AUTHENTICATION_CHALLENGE_REQUIRED | 3DS verification needed |
PARTIALLY_REFUNDED | Partial refund issued |
REFUNDED | Fully refunded |
Idempotency
UseexternalId to safely retry requests without creating duplicates:
- Successful payment → Returns existing payment (no duplicate)
- Failed payment → Creates new payment (allows retry)
Rate Limits
API requests are rate limited to ensure system stability:- Default limit: 100 requests per minute per API key
- Burst limit: 10 requests per second
Contact [email protected] if you need higher rate limits.
Pagination
List endpoints support pagination:| Parameter | Type | Default | Description |
|---|---|---|---|
limit | integer | 20 | Number of results (max 100) |
offset | integer | 0 | Pagination offset |
Versioning
The API is versioned using the URL path:Testing
Use the sandbox environment for testing:Complete Testing Guide
Learn about test cards and scenarios
SDKs and Libraries
Official SDKs coming soon. Currently use the REST API directly with your preferred HTTP client.OpenAPI Specification
Full OpenAPI specification coming soon. This will enable automatic API client generation for your preferred language.API Endpoints Reference
View detailed endpoint documentation