API های وندار بر اساس استاندارد REST ایجاد شده اند.
تمامی پاسخ API های ما بصورت JSON-encoded پاسخ داده خواهند شد.
بوسیله ارسال توکن در هر درخواست، احراز هویت نیز انجام می شود. (ممکن است در برخی از سرویس ها نحوه احراز هویت متفاوت باشد)
API های وندار بر اساس استاندارد REST ایجاد شده اند.
تمامی پاسخ API های ما بصورت JSON-encoded پاسخ داده خواهند شد.
بوسیله ارسال توکن در هر درخواست، احراز هویت نیز انجام می شود. (ممکن است در برخی از سرویس ها نحوه احراز هویت متفاوت باشد)
https://api.vandar.io
برای دریافت توکن و رفرش توکن اولیه مالک یا مدیر کسب و کار می تواند وارد داشبورد وندار شود و کسب و کار خود را انتخاب کند. و از منوی تنظیمات بخش تنظیمات مدیریت حساب، توکن ها را انتخاب کنید. و با زدن دکمه افزودن توکن جدید، و وارد کردن یک نام برای توکن و وارد کردن رمز عبور حساب کاربری خود یک توکن و رفرش توکن در یافت کنید.
از آنجاییکه عمر توکن ها محدود است و مقدار آن در فیلد expires_in (بر مبنای ثانیه) همراه توکن ارسال شده است، باید قبل از منقضی شدن توکن با ارسال رفرش توکن، توکن جدید را دریافت کنید.
مقداری که از فراخوانی متد قبل دریافت کردهاید
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 های وندار بوده که می توانید آن را با پشتیبانی مطرح کنید.
200 - OK | Everything worked as expected. |
400 - Bad Request | The request was unacceptable, often due to missing a required parameter. |
401 - Unauthorized | No valid API key provided. |
402 - Request Failed | The parameters were valid but the request failed. |
403 - Forbidden | The API key doesn't have permissions to perform the request. |
برای فروشگاههای اینترنتی که خدمات یا محصولاتی را در وبسـایت خود ارائه میکنند، از درگاه پرداخت وندار استفاده کنید.
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
در مرحله اول باید پارامترهای موجود در جدول زیر را با متد POST به آدرسی که مشخص شده ارسال کنید. به نوع دادهها و نام فیلد توجه کنید. اگر برای فیلد شماره موبایل، شماره موبایل کاربر را به درگاه ارسال نمایید، کاربر به صورت خودکار به صفحه پرداخت درگاه موبایلی هدایت میشود، به این معنی که در صفحهی درگاه پرداخت بر مبنای شماره موبایل کاربر فهرست کارتهای ذخیره شدهاش در PSP نمایش داده میشود.
این کلید بعد از ساخت درگاه پرداخت صادر میشود. برای دریافت این کلید به داشبورد وندار مراجعه کنید
مبلغ تراکنش به صورت ریالی و بزرگتر یا مساوی 1000
باید با آدرس درگاه پرداخت تایید شده در وندار بر روی یک دامنه باشد
شماره موبایل (اختیاری، جهت نمایش کارت های خریدار به ایشان و نمایش درگاه موبایلی)
شماره فاکتور شما
توضیحات (حداکثر 255 کاراکتر)
کد ملی معتبر (در صورت ارسال کد ملی، کاربر فقط با کارتهای بانکی تحت مالکیت آن کد ملی قابلیت پرداخت خواهد داشت. برای بررسی کدملی در درگاه پرداخت ارسال شماره موبایل مرتبط با کد ملی نیز الزامی است.)
شماره کارت معتبر (درصورتی که پذیرنده خواستار الزام خریدار به استفاده از یک یا چند کارت خاص باشد، کارت یا کارت های خریدار را به صورت آرایه و حداکثر تا 10 شماره کارت در این کلید قرار میدهد)
یک یادداشت که در داشبورد شما روی تراکنش نمایش داده می شود
در صورتی که نیاز به استفاده از پورت خاصی دارید می توانید با استفاده از این پارامتر پورت را انتخاب کنید این گزینه می تواند SAMAN
و یا BEHPARDAKHT
باشد
var request = require('request')
var options = {
method: 'POST',
url: 'https://ipg.vandar.io/api/v3/send',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'کلید درگاه پرداخت دریافتی از پنل',
amount: 1000,
callback_url: 'https://example.com/callback',
mobile_number: '09123456789',
factorNumber: '12345',
description: 'توضیحات دلخواه',
valid_card_number: ['شماره کارت معتبر']
})
}
request(options, function (error, response) {
if (error) throw new Error(error)
console.log(response.body)
})
{
"status": 1,
"token": "توکن پرداخت است و باید سمت پذیرنده نگهداری شود"
}
اگر در مرحله ارسال اطلاعات، اطلاعات ارسالی صحیح باشد و دو مقدار status
و token
را دریافت کرده باشید. باید کاربر را به شیوهی زیر به درگاه redirect
کنید. برای این کار باید عددی که در مرحله اول در متغیر {token}
دریافت کردید را در آخر آدرس قرار دهید و کاربر را به URL
ایجاد شده redirect
کنید تا بلافاصله کاربر به درگاه پرداخت هدایت شده و سپس مرحله سوم را انجام دهید.
توکن پرداخت که از طریق API دریافت شده است
var request = require('request')
var options = {
method: 'GET',
url: 'https://ipg.vandar.io/v3/:token'
}
request(options, function (error, response) {
if (error) throw new Error(error)
console.log(response.body)
})
با فراخوانی این سرویس همانطور که قبلا توضیح داده شده، شما اطلاعات تراکنش را دریافت میکنید و در صورت نیاز این اطلاعات را قبل تایید و نهایی شدن تراکنش صحت سنجی میکنید.
این کلید بعد از ساخت درگاه پرداخت صادر میشود. برای دریافت این کلید به داشبورد وندار مراجعه کنید
همان توکن پرداختی که در مرحله یک دریافت کردید و در این مرحله از به صورت انتهای آدرس بازگشتی اضافه شده است.
مقدار 0 و 1 دارد که نشان دهنده موفقیت آمیز بودن درخواست است
مبلغ تراکنش که ممکن است با مبلغ تراکنشی که در مرحله اول ارسال کرده باشید متفاوت باشد. اگر کارمزد تراکنش بر عهده پرداخت کننده باشد. مبلغ کارمزد هم به مبلغ تراکنش ارسالی از سمت شما اضافه شده است.
شناسه یکتای پرداخت که برای پیگیری تراکنش از وندار مورد استفاده قرار میگیرد.
رسید دیجیتال یکتا در شبکه پرداخت کشور.
کد رهگیری به همراه تاریخ انجام تراکنش یکتا است.
شماره فاکتوری که شما در مرحله اول ارسال کردید.
توضیحاتی که شما در مرحله اول ارسال کردید.
ماسکه شده شماره کارت پرداخت کننده.
هش شماره کارت که با الگوریتم SHA256 هش شده است.
تاریخ و زمان ایجاد تراکنش.
تاریخ و زمان انجام تراکنش.
0
|
1
|
2
|
3
|
4
|
وضعیت تراکنش
var request = require('request')
var options = {
method: 'POST',
url: 'https://ipg.vandar.io/api/v3/transaction',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'کلید درگاه پرداخت دریافتی از پنل',
token: 'توکن پرداختی که در مرحله یک دریافت کردید'
})
}
request(options, function (error, response) {
if (error) throw new Error(error)
console.log(response.body)
})
{
"status": 1,
"amount": "10000",
"transId": 155058785697,
"refnumber": "GmshtyjwKSuZXT81+6o9nKIkOcW*****PY05opjBoF",
"trackingCode": "23***6",
"factorNumber": null,
"mobile": null,
"description": "description",
"cardNumber": "603799******6299",
"CID": "ECC1F6931DDC1B8A0892293774836F3FFAC4A3C9D34997405F340FCC1BDDED82",
"createdAt": "2019-02-19 18:19:55",
"paymentDate": "2019-02-19 18:21:50",
"code": 1,
"message": "Confirm requierd"
}
آخرین مرحله و تمام کننده یک چرخه پرداخت در شبکه پرداخت وندار تایید تراکنش است. مهمترین نکته این مرحله این است که این سرویس به ازای هر تراکنش و برای جلوگیری از تکرار تراکنش فقط و فقط یک بار پاسخ میدهد.
این کلید بعد از ساخت درگاه پرداخت صادر میشود. برای دریافت این کلید به داشبورد وندار مراجعه کنید
همان توکن پرداختی که در مرحله یک دریافت کردید و در این مرحله از به صورت انتهای آدرس بازگشتی اضافه شده است.
مقدار 0 و 1 دارد که نشان دهنده موفقیت آمیز بودن درخواست است
مبلغ تراکنش که ممکن است با مبلغ تراکنشی که در مرحله اول ارسال کرده باشید متفاوت باشد. اگر کارمزد تراکنش بر عهده پرداخت کننده باشد. مبلغ کارمزد هم به مبلغ تراکنش ارسالی از سمت شما اضافه شده است
مبلغی که بر اساس این تراکنش کیف پول شما بالا رفته است
کارمزد تراکنش
شناسه یکتای پرداخت که برای پیگیری تراکنش از وندار مورد استفاده قرار میگیرد.
شماره فاکتوری که شما در مرحله اول ارسال کردید.
شماره موبایل پرداخت کننده که در حرحله اول ارسال کردید.
توضیحاتی که شما در مرحله اول ارسال کردید.
ماسکه شده شماره کارت پرداخت کننده.
تاریخ انجام تراکنش.
هش شماره کارت که با الگوریتم SHA256 هش شده است.
وضعیت تراکنش
var request = require('request')
var options = {
method: 'POST',
url: 'https://ipg.vandar.io/api/v3/verify',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
api_key: 'کلید درگاه پرداخت دریافتی از پنل',
token: 'توکن پرداختی که در مرحله یک دریافت کردید'
})
}
request(options, function (error, response) {
if (error) throw new Error(error)
console.log(response.body)
})
{
"status": 1,
"amount": "1000.00",
"realAmount": 500,
"wage": "500",
"transId": 159178352177,
"factorNumber": "12345",
"mobile": "09123456789",
"description": "description",
"cardNumber": "603799******7999",
"paymentDate": "2020-06-10 14:36:30",
"cid": null,
"message": "ok"
}
با استفاده از سرویس تسویه میتوانید مبلغ موردنظر از کیف پول کسب و کار خود به مقصد شبای دلخواه (تمامی شباهای سامانه بانکی کشور) واریز نمائید.
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
با استفاده از سرویس تسویه گروهی میتوانید تسویه های خود به صورت دسته ای (گروهی) یکجا ثبت نمائید.
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
با استفاده از سرویس تسویه در نوبت میتوانید هنگامی که کیف پول شما به اندازه کافی موجودی ندارد، تسویه های خود ثبت نمائید و پس از اینکه کیف پول شما افزایش پیدا کرد این تسویهها به بانک ارسال میشود.
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 یکی از بهترین روشهای شارژ کیف پول کسبوکار ها است. کسب و کارهایی که مبالغ زیادی از حساب آنها برداشته میشود، با استفاده از این ویژگی میتوانند مبلغی را از حساب بانک آینده خود به کیف پول خود در وندار اضافه کرده و پس از آن تعیین کنند که چه مقدار وجه از کیف پولشان خارج شود.
GET /v3/business/:business/cash-in/account
POST /v3/business/:business/cash-in/account/deposit
POST /v3/business/:business/cash-in/account/balance
سرویس پرداخت خودکار یا دایرکت دبیت سرویسی است که یک فرد وجوهی را از حساب بانکی شخص دیگری خارج می کند در واقع شما به بانک اجازه می دهید که مبلغی را مستقیما از حسابتان کسر و در قبال آن خدماتی را به شما ارایه دهد. به طور کلی دایرکت دبیت برداشت مستقیم پول برای انجام معاملات مالی در صورت صدور مجوز توسط پرداخت کننده می باشد. این کار بیشتر زمانی انجام می شود که شما بخواهید اشتراک خود را تمدید کنید.
جهت دسترسی به حساب در سرویس پرداخت خودکار، نیاز به ایجاد یک مجوز در بانک وجود دارد. بر اساس این مجوز، کسبوکار شما اجازه برداشت از حساب کاربر را خواهد داشت.
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
در این سرویس میتوانید از حساب کاربران خود یکبار یا به صورت دورهای بر اساس مجوزی که از کاربر گرفتهاید، وجهی را برداشت نمایید.
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
پیش نویسی است که پس از تایید طرفین به یک قرارداد بین فروشنده و خریدار در میاندو ثبت میشود.
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
در این بخش سرویسهای ثبت مشتری، فیلدهای اختصاصی مشتری، مشاهده لیست مشتریان، ویرایش اطلاعات مشتری، حذف مشتری و مشاهده اطلاعات یک مشتری ارائه میشوند.
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
با استفاده از این سرویس میتوانید فیلدهای اختصاصی برای کسب و کار ثبت نمایید.
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
در این بخش مدیریت کیف پول مشتریان که شامل واریز، برداشت و مشاهده موجودی کیف پول مشتری میباشد، صورت میگیرد.
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
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
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
این سرویس جهت احراز هویت طرفحسابهای پذیرندگان وندار ارائه شده است که توسط آن، پذیرندگان میتوانند اطلاعات هویتی مخاطبان خود را مورد سنجش قرار دهند.
در حال حاضر وب سرویس احراز هویت مخاطبین به دو دسته کلی تقصیم شده است:
برای احراز هویت مخاطبینی که از قبل توسط پذیرنده ثبت نام نشده اند وارد کردن اطلاعات مربوط به هر سرویس الزامی است.
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
این سرویس جهت ایجاد شناسه پرداخت و انتصاب آن به طرفحسابهای پذیرندگان وندار ارائه شده است که توسط آن، پذیرندگان میتوانند به ازای هر مشتری یک شناسه پرداخت منحصر به فرد ایجاد کنند.
POST /v3/business/:business/customers/:customer_uuid/cash-in-code
GET /v3/business/:business/customers/:customer_uuid/cash-in-code
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
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