Overview
All Payments
| Track ID | Order | Amount | Status | Date | Actions |
|---|
Page 1
API Keys
| ID | Name | Type | Status | Rate | Created | Actions |
|---|
Permissions
| Key | Name | Permissions | Actions |
|---|
Audit Log
| Action | Resource | Details | Key | Time |
|---|
API Documentation
1. Authentication
All requests require your API key in the Authorization header:
Authorization: Bearer dk_your_api_key_here
2. Create a Payment
POST/api/v1/request
Request Body
{
"amount": 50000,
"user_id": "user_123",
"idempotency_key": "order-abc-12345",
"metadata": { "order_id": "optional" }
}
amount — Amount in Toman (min: 1,000). Surcharge added automatically.
user_id — Payer identifier.
idempotency_key — Unique key to prevent duplicates (min 10 chars).
Response
{
"track_id": "pay_xxxxx",
"amount": 50000,
"surcharge": 312,
"total_due": 50312,
"status": "pending"
}
3. Check Payment Status
POST/api/v1/verify
{ "payment_id": "pay_xxxxx" }
// or
{ "track_id": "pay_xxxxx" }
4. List Payments
GET/api/v1/payments?page=1&limit=20
Optional status filter: pending or confirmed.
5. Retry a Payment
POST/api/v1/payments/{id}/retry
Max 3 retries. Payments expire after 48 hours.
6. Limits
- Rate limit: 100 req/min
- Minimum payment: 1,000 Toman
- Max surcharge: 999 Toman
- Payment expiry: 48 hours
- Max retries: 3
7. Status Codes
200— Success401— Invalid API key403— Insufficient permissions404— Not found429— Rate limit exceeded