مستندات یکپارچه‌سازی پرداخت

مقدمه

این مستندات نحوه یکپارچه‌سازی سرویس پرداخت را توضیح می‌دهد. برای استفاده از این سرویس، ابتدا باید کلید API خود را از ربات @FlyPay_robot دریافت کنید.

دریافت کلید API

  1. به ربات @FlyPay_robot مراجعه کنید
  2. مراحل ثبت‌نام را طبق دستورالعمل ربات انجام دهید
  3. callback-url خود را به درستی تنظیم کنید

درخواست لینک پرداخت

برای دریافت لینک پرداخت زرین‌پال، درخواست زیر را ارسال کنید:

آدرس درخواست

POST https://api.digiarvan.org/payment/request?key={KEY}

پارامترهای درخواست

{
    "amount": 1000,
    "description": "توضیحات"
}
پارامتر توضیحات
amount مبلغ به تومان
description توضیحات تراکنش

پاسخ موفق کد 200

{
    "payment_url": "https://sandbox.zarinpal.com/pg/StartPay/test",
    "authority": "test"
}

پاسخ خطا

کد 400:

{
    "result": false,
    "message": "خطا در درخواست پرداخت"
}

کد 500:

{
    "result": false,
    "message": "⚠️ خطای غیرمنتظره ای رخ داده است به پشتیبانی پیام دهید!"
}

دریافت نتیجه پرداخت

پس از اتمام پرداخت توسط کاربر، نتیجه به آدرس callback-url شما ارسال می‌شود. این درخواست شامل دو پارامتر زیر است:

  • Authority: کد پیگیری تراکنش
  • Status: وضعیت پرداخت

تایید پرداخت

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

آدرس درخواست

GET https://api.digiarvan.org/verify?key={KEY}&Authority={Authority}

پاسخ موفق کد 200

{
    "wages": null,
    "code": 100,
    "message": "Paid",
    "card_hash": "0866A6EAEA5CB085E4CF6EF19296BF19647552DD5F96F1E530DB3AE61837EFE7",
    "card_pan": "999999******9999",
    "ref_id": 2626301,
    "fee_type": "Merchant",
    "fee": 15750,
    "shaparak_fee": 1200,
    "order_id": null
}

پاسخ ناموفق کد 200

{
    "data": {},
    "errors": {
        "message": "Session is not valid, session is not active paid try.",
        "code": -51,
        "validations": []
    }
}

خطای Authority نامعتبر کد 400

{
    "result": false,
    "message": "⚠️ تراکنشی با این مشخصات یافت نشد"
}

نکات مهم

  1. حتماً callback-url را به درستی تنظیم کنید
  2. مبلغ را به تومان وارد کنید
  3. برای امنیت بیشتر، توصیه می‌شود از HTTPS استفاده کنید
  4. در صورت بروز هرگونه مشکل با پشتیبانی تماس بگیرید