← Back to Site ← بازگشت به سایت

API Documentation مستندات فنی وب‌سرویس

Welcome to the Crypto Payment Gateway developer reference. Our API is structured as a self-hosted, merchant-authenticated gateway utilizing the PayGate.to integration. You can create invoices in fiat (USD) and automatically receive payments in cryptocurrency.

به مستندات فنی درگاه پرداخت کریپتو خوش آمدید. وب‌سرویس ما یک درگاه پرداخت غیرمتمرکز، امن و مبتنی بر وب‌هووک است که به پذیرندگان اجازه می‌دهد فاکتورها را به دلار ایجاد کرده و پرداخت‌ها را به صورت کریپتوکارنسی دریافت کنند.

Bilingual: You can switch the documentation language anytime between English and Farsi using the toggle button on top. دوزبانه: شما می‌توانید در هر زمان با کلیک بر روی دکمه بالای صفحه، زبان مستندات را بین انگلیسی و فارسی تغییر دهید.

Authentication احراز هویت

All requests to protected API endpoints require an API Key supplied in the HTTP headers. You can generate API Keys from your gateway Admin Dashboard.

تمامی درخواست‌ها به متدهای سیستمی درگاه به کلید احراز هویت (API Key) نیاز دارند که باید در هدرهای HTTP درخواست شما ارسال گردد. این کلیدها از پنل مدیریت قابل دریافت هستند.

X-API-Key: mw_your_merchant_api_key
Security Note: Never share your API key or expose it in client-side code (like frontend Javascript). Always perform API operations from your backend server. نکته امنیتی: هرگز کلید API خود را با دیگران به اشتراک نگذارید یا آن را در کدهای سمت کلاینت (مانند جاوااسکریپت فرانت‌اند) قرار ندهید. همیشه درخواست‌های API را از سمت سرور خود ارسال کنید.

Create Invoice ایجاد فاکتور جدید

Initialize a checkout invoice session for a client. You supply the fiat USD amount, callback URL, and return URL. The API will respond with a unique checkout_url that you should redirect the user to.

برای شروع چرخه پرداخت مشتری، یک فاکتور جدید ثبت کنید. شما مبلغ فاکتور به دلار، آدرس بازگشت خریدار و آدرس وب‌هووک تاییدیه را ارسال می‌کنید و درگاه یک لینک یکتای checkout_url به شما باز می‌گرداند که باید کاربر را به آن هدایت کنید.

HTTP Request: POST /api/v1/invoices

Request Parameters:

پارامترهای ارسالی:

Field Type Required Description
amount_usd float Yes The invoice amount in USD (min: 0.10) مبلغ فاکتور به دلار (حداقل 0.10)
callback_url string (url) Yes Webhook URL to receive status updates. **MUST** contain unique identifier query string (e.g. ?order_id=12) آدرس کال‌بک وب‌هووک. **حتما** باید دارای یک پارامتر کوئری یکتا باشد (مانند order_id=12)
redirect_url string (url) No URL to redirect customer after payment completion آدرس هدایت کاربر پس از اتمام پرداخت در درگاه

Sample JSON Request:

نمونه بدنه درخواست (JSON):

{
    "amount_usd": 15.50,
    "callback_url": "https://mystore.com/api/payment-callback?order_id=7492",
    "redirect_url": "https://mystore.com/checkout/success"
}

Get Invoice Details دریافت جزئیات فاکتور

Retrieve details of a generated invoice. This is a public endpoint used to fetch transaction status, selected crypto coin, crypto amount, and address details.

دریافت جزئیات فاکتور ایجاد شده. این متد عمومی است و نیازی به توکن احراز هویت ندارد و برای استعلام وضعیت پرداخت، رمزارز انتخاب شده، مقدار معادل رمزارز و آدرس کیف پول پرداخت استفاده می‌شود.

HTTP Request: GET /api/v1/public/invoices/{invoice_id}


Callback Notifications (Webhooks) کال‌بک‌های وب‌هووک (ارسال خودکار وضعیت)

When an invoice transitions to a final status (such as `paid`, `partially_paid`, or `expired`), the gateway issues a POST callback request to the `callback_url` configured during initialization.

وقتی وضعیت فاکتور به حالت نهایی تغییر کند (مانند `paid` یا `expired` یا `partially_paid`)، درگاه پرداخت یک درخواست POST به صورت سرور-به-سرور به آدرس `callback_url` پذیرنده ارسال می‌کند.

Webhook Headers:

هدرهای ارسالی وب‌هووک:

Content-Type: application/json
X-Gateway-Signature: computed_hmac_sha256_hash

Webhook JSON Payload:

نمونه داده وب‌هووک ارسالی:

{
    "invoice_id": "019ec14f-6034-7323-ac1d-6b11769b6e30",
    "amount_usd": 15.50,
    "currency": "USDT",
    "network": "TRC-20",
    "crypto_amount": 15.50,
    "payment_address": "TUPD6kRECdwQK6eH2P1igx1nR4ofmsYH6Y",
    "status": "paid",
    "tx_hash": "63f82a938ea12d8a4d87...",
    "timestamp": 1781362800
}

Webhook Signature Verification اعتبارسنجی امضای وب‌هووک

To protect your application from fraudulent webhooks, calculate the HMAC SHA-256 signature of the raw request payload using your **API Secret** key and compare it with the `X-Gateway-Signature` header. Use timing-attack safe comparison.

برای محافظت از سرور خود در برابر وب‌هووک‌های جعلی، باید امضای دیجیتال هدر `X-Gateway-Signature` را اعتبارسنجی کنید. برای این کار بدنه خام درخواست دریافتی را با استفاده از **API Secret** خود هش کرده و مقایسه امن انجام دهید.

PHP Signature Example:

نمونه اعتبارسنجی در PHP:

$payload = file_get_contents('php://input');
$receivedSignature = $_SERVER['HTTP_X_GATEWAY_SIGNATURE'] ?? '';
$apiSecret = "ms_your_api_secret_key";

$expectedSignature = hash_hmac('sha256', $payload, $apiSecret);

if (hash_equals($expectedSignature, $receivedSignature)) {
    // Valid webhook - process status / امضا معتبر است، فاکتور را پردازش کنید
    http_response_code(200);
    echo "OK";
} else {
    // Verification failed / امضا نامعتبر است
    http_response_code(400);
    die("Invalid Signature");
}

Enter your API key to enable live request execution.

برای ارسال درخواست‌های تستی، توکن خود را در کادر بالا وارد کنید.

Initialize Checkout POST
Fetch Invoice details GET
HMAC SHA-256 Calculator
Enter parameters to calculate...
HTTP Response 200 OK