مفاهیم
جریان اتصال سایت شما به واریزیار همان الگوی آشنای درگاههای ایرانی است:
سایت شما واریزیار مشتری
│ POST /v1/payments ───────────────►│ (کارت + مبلغ یکتا) │
│ ◄── { id, checkoutUrl } ──────────│ │
│ redirect ─────────────────────────┼──────────────────────────────►│ صفحهی پرداخت
│ │ ◄── پیامک واریز از گوشی فروشنده │
│ ◄── webhook payment.confirmed ────│ │
│ │── redirect به callbackUrl ────►│
│ POST /v1/payments/{id}/verify ───►│ │
واژهها
| واژه | معنی |
|---|---|
| پروژه | یک سایت/کسبوکار با کلید API و کارتهای خودش. حالت live یا sandbox |
| کلید API | keyId عمومی (pk_live_…) و secret محرمانه (sk_live_…). برای sandbox: pk_test_ و sk_test_ |
| پرداخت | یک درخواست دریافت پول با amountRequested (چیزی که خواستهاید) و amountFinal (چیزی که مشتری باید دقیقاً واریز کند) |
| callback | آدرسی در سایت شما که مشتری بعد از نتیجه به آن برمیگردد |
| verify | تأیید نهایی سمت سرور شما؛ تنها چیزی که باید به آن اعتماد کنید |
| وبهوک | POST امضاشده به سرور شما هنگام تغییر وضعیت |
اعتماد
- وضعیت داخل URL بازگشت قابل اعتماد نیست (مشتری میتواند دستکاری کند). سفارش را فقط وقتی تحویل دهید که
verifyبگویدverified: true، یا وبهوک با امضای معتبرpayment.confirmedبدهد. - هر دو را پیاده کنید: وبهوک برای وقتی مشتری صفحه را بسته، verify برای وقتی برگشته.
واحد پول
همهی مبالغ ریال و رشته هستند ("1000000" = ۱۰۰٬۰۰۰ تومان).