مستندات API

راهنمایی کوتاه، روشن و قابل اجرا

اگر فنی هستید و یا جزئی از تیم‌های فنی اینجا مستندات نحوه اتصال و ارتباط و ساخت پرداخت با ارزدیجیتال در دسترس شماست تا در کمترین زمان ممکن درگاه خود را داشته باشد.

ساختار ثابت

درخواست‌ها و پاسخ‌ها ساده و قابل‌پیش‌بینی هستند.

امنیت

احراز هویت با Bearer token و کنترل دسترسی سمت سرور انجام می‌شود.

اتصال سریع

نمونه‌ها کوتاه هستند و به‌راحتی وارد پروژه می‌شوند.

احراز هویت

هر درخواست باید توکن معتبر داشته باشد.

Authorization: Bearer YOUR_TOKEN

ایجاد پرداخت

از این endpoint برای ساخت پرداخت و دریافت `payment_url` استفاده می‌شود.

POST /api/v1/payment/create
{
  "amount": 100,
  "currency": "BTC",
  "network": "BTC",
  "order_id": "order_123",
  "callback_url": "https://yoursite.com/callback",
  "description": "خرید محصول X"
}
201 Created
{
  "payment_id": "PAY_ABC123XYZ",
  "payment_url": "https://bitpal.pro/pay/PAY_ABC123XYZ",
  "payment": {
    "payment_id": "PAY_ABC123XYZ",
    "address": "1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa",
    "status": "pending"
  }
}

Webhook و امضا

بعد از تایید پرداخت، سیستم رویداد را به `callback_url` شما می‌فرستد. این درخواست را در سمت سرور اعتبارسنجی کنید.

نکته: به payload بدون اعتبارسنجی اعتماد نکنید. امضا و منبع درخواست را بررسی کنید.
Webhook payload
{
  "payment_id": "PAY_ABC123XYZ",
  "order_id": "order_123",
  "status": "confirmed",
  "amount": "0.00150000",
  "currency": "BTC",
  "tx_hash": "0xabc123..."
}

امکانات کلیدی

HD Wallet

برای هر پرداخت آدرس جدا ساخته می‌شود.

Ledger

ثبت حسابداری شفاف برای پیگیری داخلی.

AML

برای سناریوهای حساس، کنترل و بررسی ریسک وجود دارد.

Liquidity

مدیریت نقدینگی و عملیات تسویه به‌صورت ساختاریافته.

نمونه کد

PHP
<?php
$response = Http::withHeaders([
    'Authorization' => 'Bearer ' . $apiKey,
])->post('https://api.bitpal.pro/v1/payment/create', [
    'amount' => 100,
    'currency' => 'BTC',
    'network' => 'BTC',
    'order_id' => 'order_123',
    'callback_url' => 'https://yoursite.com/callback',
]);
JavaScript
const response = await fetch('https://api.bitpal.pro/v1/payment/create', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${apiKey}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    amount: 100,
    currency: 'BTC',
    network: 'BTC',
    order_id: 'order_123',
    callback_url: 'https://yoursite.com/callback',
  }),
});