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-keyYour API key.
x-timestampThe time the request is sent (unix seconds).
x-nonceSingle-use random value.
x-signatureHMAC-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

  1. 1Remove hash and secret_key fields from the body.
  2. 2Sort the remaining keys alphabetically.
  3. 3Serialize the sorted object with JSON.stringify.
  4. 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

  • POST
    /api/service/v1/deposit/create
    Opens a deposit request.
  • POST
    /api/service/v1/deposit/check
    Queries deposit status.
  • POST
    /api/service/v1/withdrawal/create
    Opens a withdrawal request.
  • POST
    /api/service/v1/withdrawal/check
    Queries withdrawal status.
  • POST
    /api/service/v1/company/balance
    Queries company balance and summary.

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"
}