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

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

Auth: Bearer Token Format: JSON
pay.bash
# 1. Create a payment link
curl -s -X POST https://variza.ir/api/v1/pay \
    -H "Authorization: Bearer YOUR_API_KEY" \
    -d amount=500000 -d return_url=https://shop.com/ok

# 201 Created
{ "pay_url": "https://variza.ir/pay/aB3xY9", "amount": 500000, ... }

# 2. Buyer pays, you receive a webhook
POST https://shop.com/webhook
X-Webhook-Signature: sha256=<signature>
{ "event": "payment.paid", "amount": 500000, ... }

گردش کار

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

یک لینک با POST /api/v1/pay بسازید

خریدار مبلغ نمایش‌داده‌شده را واریز می‌کند

یک وب‌هوک امضاشده دریافت می‌کنید

احراز هویت

از پنل کاربری ← پروفایل ← کلید API یک کلید بسازید. کلید فقط همان لحظه نمایش داده می‌شود، آن را ذخیره کنید. هر درخواست باید آن را در هدر Authorization بفرستد:

Header
Authorization: Bearer YOUR_API_KEY

کلید معادل رمز حساب شماست؛ فقط سمت سرور نگه‌داری شود، هرگز در کد سمت کاربر قرار نگیرد.

مارکت‌پلیس

اگر اشتراک مارکت‌پلیس دارید، می‌توانید لینک را به نام یکی از اعضای تیم بسازید. کافیست member_phone را در درخواست ارسال کنید. لینک برای حساب آن عضو و با کارت‌های خودش ساخته می‌شود، اما callback_url و امضای وب‌هوک همچنان از مالک مارکت‌پلیس استفاده می‌شود و مقدار member_phone در بدنه وب‌هوک برمی‌گردد تا سفارش را به نماینده مربوطه نسبت دهید.

نماینده باید از قبل با دعوت‌نامه به مارکت‌پلیس شما اضافه شده و کارت بانکی خودش را ثبت کرده باشد. اعتبار از اشتراک مالک کسر می‌شود.

وب‌هوک پرداخت

به‌محض موفقیت پرداخت، رویداد payment.paid با متد POST به callback_url ثبت‌شده در پروفایل شما ارسال می‌شود.

هدر توضیح
X-Webhook-Signature امضای HMAC-SHA256 بدنه خام، به‌فرمت sha256=...
X-Delivery-Id شناسه یکتای ارسال، برای فیلتر درخواست‌های تکراری
X-Event نام رویداد، همیشه payment.paid
POST https://variza.ir/webhook
{
    "event": "payment.paid",
    "slug": "aB3xY9...",
    "attempt_code": "152688947983",
    "amount": 500128,
    "base_amount": 500000,
    "status": "paid",
    "sent_at": "2026-08-05T11:45:00+00:00",
    "member_phone": "09123456789" // or null
}

در حالت مارکت‌پلیس فیلد member_phone نیز در بدنه ارسال می‌شود (در غیر این صورت null).

امضا با کلید webhook_secret شما و روی بدنه خام دریافتی محاسبه می‌شود:

PHP
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_WEBHOOK_SIGNATURE'] ?? '';
$expected = 'sha256=' . hash_hmac('sha256', $payload, $secret);

if (! hash_equals($expected, $signature)) {
    http_response_code(400);
    exit;
}

برای تایید دریافت با HTTP 200 پاسخ دهید. در غیر این صورت، ارسال با فاصله‌های ۳۰ ثانیه تا ۱۰ دقیقه، حداکثر ۵ بار تکرار می‌شود.

کدهای خطا

کد شرایط
422 فیلدهای ارسالی معتبر نیستند
401 کلید API نامعتبر یا ناقص است
422 callback_url در پروفایل ثبت نشده
422 کارت مقصد معتبر یا فعال نیست
422 محدودیت اشتراک برای لینک فعال جدید
429 تعداد درخواست بیش از حد مجاز در بازه زمانی

SDK‌های رسمی

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

WooCommerce
WooCommerce variza-woocommerce-plugin

افزونه‌ی رسمی ووکامرس؛ فقط نصب و تنظیم کنید — بدون نیاز به کدنویسی. پرداخت کارت‌به‌کارت با تأیید کاملاً خودکار سفارش، صفحه‌ی تنظیمات فارسی و پشتیبانی از ووکامرس ۷.۰ به بالا.

GitHub افزونه ووکامرس
Laravel
Laravel variza-laravel

پکیج رسمی لاراول برای ساخت لینک پرداخت و مدیریت وب‌هوک — با Facade، Event و Middleware آماده، کاملاً یکپارچه با اکوسیستم لاراول.

GitHub Composer
PHP
PHP variza-php-sdk

کتابخانه رسمی PHP برای ساخت لینک پرداخت و تایید وب‌هوک — با مستندات کامل، تست واحد و پشتیبانی از PHP 8.1 به بالا.

GitHub Composer
npm
Node.js variza-node-sdk

کتابخانه رسمی Node.js برای ساخت لینک پرداخت و تایید وب‌هوک — بدون وابستگی، با تعریف کامل تایپ‌ها و پشتیبانی از Node.js 18 به بالا.

GitHub npm

SDK‌های بیشتری در راه‌اند

به‌زودی SDK های رسمی برای زبان‌های دیگر منتشر می‌شود. اگر به زبان خاصی نیاز دارید، با ما در میان بگذارید.

سوالات متداول

پاسخ سوالات شما

در صورتی که پاسخ سوال خود را پیدا نکردید، به سادگی با پشتیبانی ما در پنل ارتباط بگیرید.

برای تأیید خودکار پرداخت‌ها، ابتدا باید نرم‌افزار اندروید یا شرتکات آیفون واریزا را راه‌اندازی و به حساب خود متصل کنید. این ابزارها پیامک بانکی پرداخت را دریافت کرده و تایید را انجام میدهند.
آموزش کامل راه‌اندازی نرم‌افزار اندروید و شرتکات آیفون به‌صورت ویدیویی و متنی در سایت واریزا و صفحه اینستاگرام در دسترس است.
اعتبار، همان سهمیه تأیید پرداخت شماست. به‌سادگی می‌توان گفت هر بار که یک خریدار مبلغی به لینک پرداخت شما واریز کند، سامانه هوشمند پیامک بانکی را می‌خواند و پرداخت را به‌صورت خودکار و آنی تأیید می‌کند. به‌ازای هر پرداخت تأییدشده، یک واحد از اعتبار شما کسر می‌شود. به این ترتیب اعتبار، تعیین‌کنندهٔ تعداد پرداختی است که می‌توانید در بازهٔ اشتراک خود تأیید و مدیریت کنید. موجودی اعتبار فعلی و تاریخ انقضای آن را همیشه در داشبورد پنل می‌بینید.
در صورتی که صرفا لینک ساخته شود و پرداخت فعالی ثبت نشود، اعتبار مصرف نمیشود!
پس از ایجاد لینک پرداخت، خریدار مبلغ را به کارت مشخص‌شده واریز می‌کند. واریزا پیامک تراکنش بانکی را در چند ثانیه دریافت و اطلاعات موجود در پیامک را برای تطبیق پرداخت بررسی می‌کند. در صورت تطابق اطلاعات موردنیاز، پرداخت به‌صورت خودکار تأیید شده و نتیجه در پنل و تلگرام به شما اطلاع داده می‌شود. نیازی به بررسی دستی پیامک‌ها نیست.
تنها کافی است ثبت‌نام کنید؛ پس از ثبت‌نام به‌صورت خودکار پلن رایگان ۷ روزه با ۱۰ اعتبار برای شما فعال می‌شود. سپس یک حساب بانکی (شماره کارت عضو شبا) اضافه کنید و لینک پرداخت خود را بسازید. لینک را به خریدار دهید و از پرداخت خریدار مطلع شوید!
تعداد لینک‌های فعال همزمان به پلن شما بستگی دارد. در پلن‌های محدود، حداکثر چند لینک فعال می‌توانید داشته باشید؛ در پلن‌های بالاتر امکان ساخت لینک فعال نامحدود (در قالب اعتبار اختصاصی) فعال می‌شود. در صفحه پلن‌ها جزئیات کامل هر پلن را ببینید.
بلاگ

آخرین مقالات ما

مشاهده همه
7 روز اشتراک رایگان

همین حالا فروش خودتان را حرفه‌ای‌تر کنید

در کمتر از دو دقیقه، اولین لینک پرداخت خود را بسازید

بدون نیاز به دانش فنی 7 روز اشتراک رایگان