مقدمه

API های وندار بر اساس استاندارد REST ایجاد شده اند.

تمامی پاسخ API های ما بصورت JSON-encoded پاسخ داده خواهند شد.

بوسیله ارسال توکن در هر درخواست، احراز هویت نیز انجام می شود. (ممکن است در برخی از سرویس ها نحوه احراز هویت متفاوت باشد)

محدودیت های درخواست به API

برای متد POST در هر ۳ ثانیه ۳۰ درخواست

و برای باقی متد ها در هر ۳ ثانیه ۱۰۰ درخواست قابل پذیرش است.

توجه داشته باشید که در حال حاضر برخی از مسیرها با base url روبرو تعیین نشده است.

آیا این بخش مفید بود؟بلی خیر
BASE URL

https://api.vandar.io

احراز هویت

برای دریافت توکن و رفرش توکن اولیه مالک یا مدیر کسب و کار می تواند وارد داشبورد وندار شود و کسب و کار خود را انتخاب کند. و از منوی تنظیمات بخش تنظیمات مدیریت حساب، توکن ها را انتخاب کنید. و با زدن دکمه افزودن توکن جدید، و وارد کردن یک نام برای توکن و وارد کردن رمز عبور حساب کاربری خود یک توکن و رفرش توکن در یافت کنید.

از آنجاییکه عمر توکن ها محدود است و مقدار آن در فیلد expires_in (بر مبنای ثانیه) همراه توکن ارسال شده است،‌ باید قبل از منقضی شدن توکن با ارسال رفرش توکن، توکن جدید را دریافت کنید.

پارامترها
refreshtokenrequiredstring

مقداری که از فراخوانی متد قبل دریافت کرده‌اید

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'POST',
  url: '/v3/refreshtoken',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    refreshtoken: '{refreshtoken}'
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "token_type": "Bearer",
  "expires_in": 432000,
  "access_token": "bPJO9cJLGRqClDadEua7ztoCLC5E***********",
  "refresh_token": "def50200c4d2462d2de167da1*******"
}

خطاها

API های وندار از قواعد HTTP response پیروی می‌کند.

بطور کلی در رنج 2xx پاسخ های موفق را دریافت می‌کنید.

رنج 4xx زمانی بوجود می‌آید که اطلاعات اشتباهی از سمت شما به API ها ارسال شده است.

خطاهایی در رنج 5xx نشان دهنده مشکلاتی از سمت API های وندار بوده که می توانید آن را با پشتیبانی مطرح کنید.

آیا این بخش مفید بود؟بلی خیر
HTTP STATUS CODE SUMMARY

200 - OKEverything worked as expected.
400 - Bad RequestThe request was unacceptable, often due to missing a required parameter.
401 - UnauthorizedNo valid API key provided.
402 - Request FailedThe parameters were valid but the request failed.
403 - ForbiddenThe API key doesn't have permissions to perform the request.

درگاه پرداخت IPG

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

نکته

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

قبل از شروع پیاده سازی بهتر است یک بار فرایند پرداخت را با هم مرور کنیم
  • مرحله اول: ارسال اطلاعات تراکنش و دریافت توکن پرداخت.
  • مرحله دوم: انتقال کاربر به صفحه پرداخت با توکنی که از مرحله اول دریافت کردید.
  • مرحله سوم (اختیاری): قبل از تایید تراکنش اطلاعات تراکنش را دریافت می‌کنید.
  • مرحله چهارم: بعد از فرایند پرداخت کاربر به آدرسی بازگشتی که در مرحله اول ارسال کردید، بر‌میگردد. و شما برای نهایی شدن تراکنش حتما باید متد وریفای تراکنش رو صدا بزنید. و نتیجه نهایی تراکنش را دریافت کنید. پایان تراکنش

این چهار مرحله کلی مقدمه چهار نکته مهم است که توجه شما را به این نکات جلب می‌کنم

تعداد زیادی از کسب و کارها قبل از تایید یک تراکنش و نهایی کردن اون ممکنه به اطلاعات تراکنش نیاز داشته باشند. به عنوان مثال اگر بخواهید شماره کارت پرداخت کننده را قبل از نهایی کردن تراکنش صحت سنجی کنید مرحله سوم که دریافت اطلاعات شماره کارت است رو فراخوانی می‌کنید و پارامتر "cid" که هش "SHA256" شماره کارت است را با شماره کارتی که پرداخت کننده از قبل نزد شما ثبت کرده است، تطابق می‌دهید. اما اگر به این صحت سنجی نیاز نداشته باشید. فراخوانی این سرویس اختیاری است.

اگر کسب و کار و درگاه پرداخت شما تایید نشده است و در مراحل تایید است. و قصد پیاده سازی درگاه را دارید از همکاران پشتیبان وندار بخواهید شما را به کسب و کاری با نام "سند باکس" عضو کنند و "api_key" تست دریافت کنید. بعد از پیاده سازی و تایید شدن درگاه تنها لازم است که کلید جدید را جایگزین کلید تست کنید.

این ورژن آخرین ورژن درگاه پرداخت وندار است. ورژن های قدیمی وندار پابرجا است. اما با توجه به تغییرات انجام شده سرعت انجام تراکنش در این ورژن بالاتر است. و این ورژن قابلیت های درگاه پرداخت دومرحله ای و تک مرحله ای را همزمان داراست. به هیچ عنوان در ورودی و خروجی ها تغییر داده نشده است. پس فقط با تغییر آدرس می‌توانید به ورژن ۳ مهاجرت کنید.

در صورتیکه تمایل به استفاده از قابلیت سوئیچینگ هوشمند درگاه پرداخت دارید این موضوع را به پشتیبانی وندار اطلاع دهید تا برای شما فعال کنند.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST https://ipg.vandar.io/api/v3/send

GET https://ipg.vandar.io/v3/:token

POST https://ipg.vandar.io/api/v3/transaction

POST https://ipg.vandar.io/api/v3/verify

تسویه

با استفاده از سرویس تسویه می‌توانید مبلغ موردنظر از کیف پول کسب و کار خود به مقصد شبای دلخواه (تمامی شباهای سامانه بانکی کشور) واریز نمائید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/settlement/store

GET /v2.1/business/:business/settlement

DELETE /v2.1/business/:business/settlement/:transaction_id

GET /v3/business/:business/settlement/banks

تسویه گروهی

با استفاده از سرویس تسویه گروهی می‌توانید تسویه های خود به صورت دسته ای (گروهی) یکجا ثبت نمائید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST https://batch.vandar.io/api/v2/business/:business_name/batches-settlement

GET https://batch.vandar.io/api/v2/business/:business_name/batches

GET https://batch.vandar.io/api/v2/business/:business_name/batch-settlements/:batch_id

تسویه در نوبت

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business_name/settlement/queued

GET /v3/business/:business_name/settlement/queued

GET /v3/business/:business_name/settlement/queued/:settlement_queued_id

POST /v3/business/:business_name/settlement/queued/cancel

ابزار واریز بانکی

ابزار «واریز بانکی» یا به اصطلاح ،cash in یکی از بهترین روش‌های شارژ کیف پول کسب‌وکار ها است. کسب‌ و کارهایی که مبالغ زیادی از حساب آن‌ها برداشته می‌شود، با استفاده از این ویژگی می‌توانند مبلغی را از حساب بانک آینده خود به کیف پول خود در وندار اضافه کرده و پس از آن تعیین کنند که چه مقدار وجه از کیف پول‌شان خارج شود.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/cash-in/account

POST /v3/business/:business/cash-in/account/deposit

POST /v3/business/:business/cash-in/account/balance

پرداخت خودکار

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

آیا این بخش مفید بود؟بلی خیر

بانک‌ها

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

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v3/business/:business/subscription/banks/actives

مجوز پرداخت از حساب

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/subscription/authorization/store

GET https://subscription.vandar.io/authorizations/:token

PATCH /v3/business/:business/subscription/authorization/:id/verify

GET /v3/business/:business/subscription/authorization

GET /v3/business/:business/subscription/authorization/:id

DELETE /v3/business/:business/subscription/authorization/:id

پرداخت از حساب

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/subscription/withdrawal/store

GET /v3/business/:business/subscription/withdrawal/:id

GET /v3/business/:business/subscription/withdrawal/track-id/:track_id

GET /v3/business/:business/subscription/withdrawal

GET /v3/business/:business/subscription/withdrawal?q=:authorization_id

PUT /v3/business/:business/subscription/withdrawal/:id

معامله امن «میاندو»

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

آیا این بخش مفید بود؟بلی خیر

مشتریان

مشتریان در میاندو به اشخاصی اطلاق می‌شود که به عنوان طرفین معامله (خریدار، فروشنده) به خرید و فروش می‌پردازند.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/customers

GET /miando/api/v1/customers

GET /miando/api/v1/customers/:id

معاملات

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/agreements

POST /miando/api/v1/agreements/:tracking_code

POST /miando/api/v1/agreements/:tracking_code/finalize

POST /miando/api/v1/agreements/:tracking_code/cancel

GET /miando/api/v1/agreements

GET /miando/api/v1/agreements/:tracking_code

تیکت

اگر در روند معامله مشکلی پیش آمد می‌توانید با ثبت تیکت مشکل خود را بیان کنید.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /miando/api/v1/tickets

مشتریان

در این بخش سرویس‌های ثبت مشتری، فیلدهای اختصاصی مشتری، مشاهده لیست مشتریان، ویرایش اطلاعات مشتری، حذف مشتری و مشاهده اطلاعات یک مشتری ارائه می‌شوند.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/customers

POST /v2/business/:business/customers

PUT /v2/business/:business/customers/:customer_uuid

DELETE /v2/business/:business/customers/:customer_uuid

GET /v2/business/:business/customers/:customer_uuid

فیلد اختصاصی

با استفاده از این سرویس می‌توانید فیلدهای اختصاصی برای کسب و کار ثبت نمایید.

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/business/customers/fields

POST /v2/business/:business/customers/fields

PUT /v2/business/:business/customers/fields/:fields

DELETE /v2/business/:business/customers/fields/:fields

GET /v2/business/:business/customers/fields/:fields

کیف پول

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

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/customers/:customer_uuid/wallet

POST /v2/business/:business/customers/:customer_uuid/wallet/deposit

POST /v2/business/:business/customers/:customer_uuid/wallet/withdraw

تراکنش‌ها

در این بخش اطلاعات تراکنش‌های مشتریان قابل مشاهده می‌باشد.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v2/business/:business/customers/:customer_uuid/transactions

شبا

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer_uuid/ibans

GET /v3/business/:business/customers/:customer_uuid/ibans

DELETE /v3/business/:business/customers/:customer_uuid/ibans

POST /v3/business/:business/customers/:customer_uuid/ibans/:iban/inquiry

POST /v3/business/:business/customers/:customer_uuid/ibans/:iban/set-default

POST /v3/business/:business/customers/:customer_uuid/cards/to-iban

کارت

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer_uuid/cards

GET /v3/business/:business/customers/:customer_uuid/cards

DELETE /v3/business/:business/customers/:customer_uuid/cards/:card

POST /v3/business/:business/customers/:customer_uuid/cards/:card/inquiry

POST /v3/business/:business/customers/:customer_uuid/cards/:card/set-default

احراز هویت

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

در حال حاضر وب سرویس احراز هویت مخاطبین به دو دسته کلی تقصیم شده است:

  • مخاطبینی که از قبل توسط پذیرنده ثبت نام شده اند.
  • مخاطبینی که ثبت نام نشده اند.

    برای احراز هویت کاربرانی که از قبل توسط پذیرنده ثبت نام شده اند احتیاجی به وارد کردن اطلاعات مخاطب نیست بلکه اطلاعات مخاطبین واکشی شده و در صورت وجود نقض یا مغایرت وب سرویس پیغام مناسب بر می گرداند.

برای احراز هویت مخاطبینی که از قبل توسط پذیرنده ثبت نام نشده اند وارد کردن اطلاعات مربوط به هر سرویس الزامی است.

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer_uuid/authentication/kyc

POST /v3/business/:business/customers/authentication/kyc

POST /v3/business/:business/customers/:customer_uuid/authentication/shahkar

POST /v3/business/:business/customers/authentication/shahkar

گزارشات

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v2/business/{business}/customers/{customer_uuid}/logs

شناسه پرداخت

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

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/:customer_uuid/cash-in-code

GET /v3/business/:business/customers/:customer_uuid/cash-in-code

استعلام ها

سرویس استعلام مشتریان

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/inquiry/national-code

POST /v3/business/:business/customers/inquiry/postal-code

POST /v3/business/:business/customers/national-code-iban-inquiry

استعلام هویت با هوش مصنوعی

استعلام هویت براساس هوش مصنوعی

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/inquiry/kyc/face-recognition-by-image

POST /v3/business/:business/customers/inquiry/kyc/face-recognition-by-video

POST /v3/business/:business/customers/inquiry/kyc/face-match-with-national-card

POST /v3/business/:business/customers/inquiry/kyc/random-gesture

استعلام با OCR

استعلام هویت براساس کدملی و تاریخ تولد

آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/customers/inquiry/kyc/ocr/national-card

POST /v3/business/:business/customers/inquiry/kyc/ocr/credit-card

POST /v3/business/:business/customers/inquiry/kyc/ocr/face-recognition

POST /v3/business/:business/customers/inquiry/kyc/ocr/civil-registration

POST /v3/business/:business/customers/inquiry/kyc/ocr/postal-code

صورت حساب

از وب‌سرویس صورت حساب وندار جهت مشاهده موجودی کیف پول، گزارش تراکنش ها و تسویه‌ انجام شده در وندار مورد استفاده قرار می‌گیرد

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business/balance

GET /v3/business/:business/transaction

کسب و کار

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

آیا این بخش مفید بود؟بلی خیر
endpoints

GET /v2/business/:business

GET /v2/business/:business/iam

اطلاعات کسب و کار

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

پارامترها
businessrequiredstring

نام انگلیسی کسب و کار

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'GET',
  url: '/v2/business/:business',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
 "status": 1,
    "data": [
            "id": 662,
            "active": 1,
            "business_name": "your business name",
            "business_name_fa": "مریم",
            "legal_business_name": null,
            "national_id":null,
            "business_type": "personal",
            "phone_number": "88****22",
            "postal_code": "0123456789",
            "city_id":"8-6",
            "mcc_code": "15200002",
            "address": "تهران میدان آزادی",
            "wallet": 1050,
            "deductible_amount": "10500",
            "blocked_amount": 0,
            "avatar": "businesses/avatars/iz3giCpBWyoj7CYoalqulFX3RyQ63CMkbxFvQ5Zn.png",
            "statusBox": {
                "payment_required": false,
                "national_card_photo":"accepted",
                "official_Newspaper": "accepted",
                "introduction_letter": "accepted"
            },
            "status": 1,
            "today_transactions": 0,
            "today_settlements": 0,
            "role_name": "مالک",
            "role": "owner",
            "permissions": [
                "business_setting",
                "add_iban",
                "remove_iban",
                "view_dashboard",
                "create_request_forms",
                "view_gateway_ipgs",
                "create_gateway_ipgs",
                "edit_gateway_ipgs",
                "view_transactions_report",
                "view_settlements",
                "add_settlements",
                "edit_settlements",
                "view_request_forms"
            ],
            "tools": {
                "ipg": {
                    "is_enabled":true,
                    "is_created": true
                },
                "subscription": {
                    "is_enabled": false,
                    "is_created": null
                },
                "requestMoney": {
                    "is_enabled": true,
                    "is_created": false
                },
                "api": {
                    "is_enabled": false,
                    "is_created": null
                },
                "customer": {
                    "is_enabled": false,
                    "is_created": null
                },
                "log": {
                    "is_enabled": true
                    "is_created": null
                }
            }
  ]
}

کاربران کسب و کار

در این بخش می توانید تمامی کاربران کسب و کار خود را مشاهده کنید با نمایش نقش آن ها و مواردی دیگر که در زیر توضیح داده می شود

پارامترها
businessrequiredstring

نام انگلیسی کسب و کار

پاسخ ها
statusinteger

مقدار 0 و 1 دارد که نشان دهنده موفقیت آمیز بودن درخواست است

namestring

نام کاربر در کسب و کار است .

avatarstring

عکس کاربر در کسب و کار است

rolestring

نقش کاربر در کسب و کار را میگوید.

statusstring

مقدار 0 و 1 دارد که نشان دهنده فعال یا غیر فعال بودن کاربر است.

role_idstring

id مورد نظر با نقش کاربر را میگوید.

آیا این بخش مفید بود؟بلی خیر

var request = require('request')
var options = {
  method: 'GET',
  url: '/v2/business/:business/iam?page=1&per_page=10',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  }
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "status": 1,
  "data": {
    "users": [
      {
        "name": "مریم نبیان",
        "avatar": "https://vandar.io/storage/users/default.png",
        "role": "مالک کسب و کار",
        "status": 1,
        "role_id": 0,
        "id": null
      }
    ]
  }
}

بازگشت وجه

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

شرایط لازم برای بازگشت وجه
  • فعال بودن ابزار بازگشت وجه
  • موفق بودن تراکنش
  • داشتن موجودی کافی در کیف‌ پول
آیا این بخش مفید بود؟بلی خیر
endpoints

POST /v3/business/:business/transaction/:transaction_id/refund