Developers
Live System Status & Performance
All Systems Operational
30-Day Uptime99.98%
API Base URLgateway.pratikpay.pro
Bank Wire / FASTActive & Monitored
9 Digital WalletsActive & Monitored
Auth headers
| x-api-key | Your API key. |
| x-timestamp | The time the request is sent (unix seconds). |
| x-nonce | Single-use random value. |
| x-signature | HMAC-SHA256 of the request body (hex). |
Content-Type: application/json
Required body fields
- api_key
- payment_method
- full_name
- username
- amount
- currency
- site_user_id
- site_transaction_id
- callback_url
- return_url
- Content type
- application/json
Signature generation
- 1Remove hash and secret_key fields from the body.
- 2Sort the remaining keys alphabetically.
- 3Serialize the sorted object with JSON.stringify.
- 4Compute HMAC-SHA256 with the secret key; put the hex result in the x-signature header.
Node.js
import crypto from "node:crypto";
const sorted = {};
for (const key of Object.keys(body).sort()) {
sorted[key] = body[key];
}
const signature = crypto
.createHmac("sha256", SECRET_KEY)
.update(JSON.stringify(sorted))
.digest("hex");Endpoints
- POSTOpens a deposit request.
/api/service/v1/deposit/create - POSTQueries deposit status.
/api/service/v1/deposit/check - POSTOpens a withdrawal request.
/api/service/v1/withdrawal/create - POSTQueries withdrawal status.
/api/service/v1/withdrawal/check - POSTQueries company balance and summary.
/api/service/v1/company/balance
Example request — deposit/create
BASE_URL="https://gateway.pratikpay.pro"
curl -X POST "$BASE_URL/api/service/v1/deposit/create" \
-H "Content-Type: application/json" \
-H "x-api-key: your_api_key" \
-H "x-timestamp: 1790000000" \
-H "x-nonce: 7f3a9c1e4b8a2c1d" \
-H "x-signature: 4a2b9d8e7c1f..." \
-d '{
"api_key": "your_api_key",
"payment_method": 0,
"full_name": "Ahmet Yılmaz",
"username": "ahmetyilmaz",
"amount": 150,
"currency": "TL",
"site_user_id": "usr_12345",
"site_transaction_id": "inv_1704102000_98765",
"callback_url": "https://yoursite.com/api/callback",
"return_url": "https://yoursite.com/payment/success",
"theme": 0,
"language": "auto"
}'Example response
JSON
{
"success": true,
"message": "Ödeme sayfası başarıyla oluşturuldu",
"data": {
"payment_id": "b1a2c3d4-e5f6-7890-1234-567890abcdef",
"redirect_link": "https://pay.pratikpay.pro/payment/session_token...",
"amount": 150,
"currency": "TL",
"payment_method": 0
}
}Callback
The result is POSTed to the callback_url given when the deposit is opened, signed with the X-Callback-Signature header; verify it with the same HMAC scheme.
HTTP / JSON
POST <callback_url>
Content-Type: application/json
X-Callback-Signature: <hex>
{
"transaction_type": "deposit",
"id": "b1a2c3d4-e5f6-7890-1234-567890abcdef",
"site_user_id": "usr_12345",
"site_transaction_id": "inv_1704102000_98765",
"username": "ahmetyilmaz",
"amount": 150,
"currency": "TL",
"status": "confirmed",
"status_code": 1,
"payment_method": 0,
"payment_method_string": "havale",
"is_modified": false,
"is_test": false,
"created_at": "2026-01-01T12:00:00.000Z"
}