مقدمه

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

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

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

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

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

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

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

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

https://api.vandar.io

تمدید توکن

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

در حال حاضر عمر توکن‌ها ۵ روز و عمر رفرش توکن ۱۰ روز می‌باشد و لازم است قبل از منقضی شدن توکن اقدام به تمدید توکن نموده و توکن و رفرش توکن جدید را جایگزین نمایید.

پارامترها
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*******"
}

کالکشن Postman

جهت تست و توسعه سرویس‌ها از کالکشن پستمن وندار استفاده نمایید.

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

نام انگلیسی کسب‌وکار در داشبورد وندار، بخش تنظیمات،اطلاعات پایه و در فیلد نام انگلیسی برند موجود می‌باشد.

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

خطاها

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

بطور کلی در رنج 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.

کسب و کار

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

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

GET /v2/business/:business

GET /v2/business/:business/iam

صورت حساب

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

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

GET /v2/business/:business/balance

GET /v3/business/:business/transaction

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

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

نکته

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

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

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

همگام‌سازی آدرس درگاه پرداخت و callback_url

در مرحله اول، باید پارامتری به نام callback_url را همراه با درخواست خود ارسال کنید. توجه داشته باشید که از این پس، آدرس callback_url باید حتماً با دامنه‌ای که برای آن ترمینال شاپرکی دریافت کرده‌اید، مطابقت داشته باشد. به عنوان مثال، اگر دامنه ثبت‌شده در شاپرک vandar.io است، آدرس callback_url نیز باید یکی از مشتقات این دامنه باشد، مانند:

https://vandar.io/:path

https://subdomain.vandar.io/:path

همگام‌سازی آدرس درگاه پرداخت و HTTP Referer

یکی دیگر از موارد بسیار مهم زمانی است که کاربر شما به صفحه درگاه پرداخت منتقل می‌شود. در این انتقال، درخواست ریدایرکت به همراه هدر Referer ارسال می‌شود. از این پس، آدرس Referer باید دارای دو ویژگی زیر باشد:

پر بودن: هدر Referer نباید خالی باشد.

مطابقت با دامنه ترمینال شاپرکی: آدرس Referer باید با دامنه‌ای که ترمینال شاپرکی برای آن صادر شده است، همخوانی داشته باشد.

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

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

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

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

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

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

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

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

بازگشت وجه

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

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

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

تسویه

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

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

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

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

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

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

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

تسویه گروهی

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

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

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

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

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

تسویه در نوبت

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

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

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

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

GET /v3/business/:business/settlement/queued/:id

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

آوند

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

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

عملیات حساب

امکان دریافت موجودی حساب‌ها، مشاهده لیست تراکنش‌ها، و ثبت تسویه برای حساب‌های شما فراهم است.

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

GET /v3/business/:business/settlement/account/:iban/last-balance

GET /v3/business/:business/settlement/account/statement

واریز شناسه‌دار

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

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

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

GET /v3/business/:business/cash-in/pic/transactions

GET /v3/business/:business/cash-in/suspicious-payment

POST /v3/business/:business/cash-in/suspicious-payment/:id

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

ابزار «واریز بانکی» یا به اصطلاح ،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/:authorization_id/verify

GET /v3/business/:business/subscription/authorization/:authorization_id/search

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

GET /v3/business/:business/subscription/authorization/:authorization_id/calculation

DELETE /v3/business/:business/subscription/authorization/:authorization_id

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

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

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

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

GET /v3/business/:business/subscription/withdrawal/: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/:withdrawal_id

بازگشت وجه

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

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

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

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

POST /v3/business/:business/subscription/refunds

GET /v3/business/:business/subscription/refunds/:refund_id

GET /v3/business/:business/subscription/refunds

مشتریان

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

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

GET /v2/business/:business/customers

POST /v2/business/:business/customers

PUT /v2/business/:business/customers/:customer

DELETE /v2/business/:business/customers/:customer

GET /v2/business/:business/customers/:customer

فیلد اختصاصی

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

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

GET /v2/business/business/customers/fields

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

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

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

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

کیف پول

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

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

GET /v2/business/:business/customers/:customer/wallet

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

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

تراکنش‌ها

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

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

POST /v2/business/:business/customers/:customer/transactions

احراز هویت

نکته

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

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

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

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

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

شناسه واریز

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

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

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

شبا

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

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

POST /v3/business/:business/customers/:customer/ibans

GET /v3/business/:business/customers/:customer/ibans

DELETE /v3/business/:business/customers/:customer/ibans

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

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

کارت

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

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

POST /v3/business/:business/customers/:customer/cards

GET /v3/business/:business/customers/:customer/cards

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

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

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

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

گزارشات

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

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

GET /v2/business/:business/customers/:customer/logs

استعلام ها

سرویس های استعلامی

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

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

POST /v3/business/:business/customers/inquiry/kyc

POST /v3/business/:business/customers/inquiry/shahkar

POST /v3/business/:business/customers/inquiry/nid

POST /v3/business/:business/customers/inquiry/nid-image

POST /v3/business/:business/customers/inquiry/fida

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

POST /v3/business/:business/customers/inquiry/company-information

POST /v3/business/:business/customers/inquiry/company-signature

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

POST /v3/business/:business/customers/inquiry/match-mobile-card

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

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

روند

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

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

تنظیمات کسب و کار

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

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

POST /v1/business/:business/ravand/set-config

دریافت اطلاعات استاتیک

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

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

GET /v1/business/:business/ravand/provinces

GET /v1/business/:business/ravand/cities

GET /v1/business/:business/ravand/guilds

GET /v1/business/:business/ravand/educations

GET /v1/business/:business/ravand/occupations

صدور کارت

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

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

POST /v1/business/:business/ravand/provider/:provider/cardholder

PUT /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/video-caption

POST /v1/business/business/ravand/provider/:provider/cardholder/:cardholder_id/upload

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/finalize

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/inquiry

فعالسازی کارت

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

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

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/card/activate/token

GET /v1/redirect/card/activate/:token

تغییر رمز اول کارت

بعد از فعالسازی کارت، جهت تغییر رمز اول کارت می توانید از این سرویس ها استفاده کنید.

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

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/card/change-pin/token

GET /v1/redirect/card/change-pin/:token

مسدود سازی کارت

بعد از فعالسازی کارت، در صورت نیاز به مسدود سازی کارت می توانید از این سرویس ها استفاده کنید.

در صورت مسدود سازی کارت امکان فعال سازی مجدد وجود ندارد.

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

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/card/block/token

GET /v1/redirect/card/block/:token

عملیات کارت

جهت انجام عملیات کارت می توانید از این سرویس ها استفاده کنید.

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

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/card/status?card_number=:card_number

عملیات بانکی

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

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

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/accounts-info

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/balance

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/bank-statement

GET /v1/business/:business/ravand/reasons

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/retry-otp

POST /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/confirm-otp

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/inquiry

GET /v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/inquiry/paya-satna

دریافت اطلاعات حساب ها

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

پاسخ ها
dataobject

در این کلید پارامتر های مربوط به هر حساب که شامل شماره حساب، شماره کارت، شماره شبا، شناسه متقاضی در بانک، وضعیت کارت و اطلاعات موجودی حساب می باشد برگشت داده می شود.

messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/accounts-info',
  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)
})

{
  "data": [
    {
      "account_number": "11111",
      "card_number": "11111",
      "iban_number": "IR000000",
      "cardholder_id_in_bank": "1245785",
      "status": "ACTIVE",
      "balance": {
        "current_amount": 1000,
        "available_amount": 1000,
        "freeze_amount": 1000,
        "updated_at": "1403/06/11 15:46:28"
      }
    }
  ],
  "message": "اطلاعات با موفقیت دریافت شد."
}

بروزرسانی موجودی حساب

با استفاده از این سرویس می توان آخرین موجودی حساب را بروزرسانی کرد.

پارامترها
account_numberrequiredstring

شماره حساب متقاضی کارت

پاسخ ها
dataobject

در این کلید پارامتر های مربوط به موجودی حساب برگشت داده می شود که شامل شناسه متقاضی کارت، شماره حساب، موجودی حساب، موجودی قابل برداشت و مبلغ بلوکه شده حساب می باشد.

messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/balance',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "cardholder_id": "ff8e14f9-b9e7-4949-8a63-650964635bd5",
    "account_number": "11111",
    "current_amount": 100000,
    "available_amount": 10000,
    "freeze_amount": 100
  }
}

دریافت صورتحساب

با استفاده از این سرویس می توان صورتحساب هر حساب را دریافت کرد.

پارامترها
account_numberrequiredstring

شماره حساب متقاضی کارت

from_daterequiredstring

تاریخ شروع شمسی با فرمت (Y/m/d)

to_daterequiredstring

تاریخ پایان شمسی با فرمت (Y/m/d)

per_pageoptionalinteger

تعداد رکورد در هر فراخوانی که به صورت پیش فرض 10 و ماکسیمم 50 می باشد

pageoptionalinteger

شماره صفحه که به صورت پیش فرض 1 می باشد

پاسخ ها
dataobject

در این کلید دو پارامتر has_more و transactions برگشت داده می شود:

has_more:

در صورتی که عناصر بیشتری از مجموعه وجود داشته باشد این مقدار برابر با true می باشد. در غیر اینصورت مقدار false برگشت داده می شود.

transactions:

در این کلید لیستی از تراکنش های حساب برگشت داده می شود:

amount: مبلغ تراکنش

balance: مانده پس از تراکنش

type: نوع تراکنش که شامل دو مقدار deposit و withdraw می باشد

bank_tracking_code: کد رهگیری تراکنش در بانک

transaction_at: تاریخ و ساعت تراکنش

description: شرح تراکنش

meta:

در این کلید پارامتر های اضافی برگشتی از بانک برگشت داده می شود:

cheque_number: شماره چک

messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/bank-statement',
  qs: {
    account_number: "11111",
    from_date: "1403/01/01",
    to_date: "1403/01/02",
    per_page: 10,
    page: 1,
  },
  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)
})

{
  "message": "اطلاعات با موفقیت دریافت شد.",
  "data": {
    "has_more": false,
    "transactions": [
      {
        "amount": 100000,
        "balance": 1000000,
        "type": "withdraw",
        "bank_tracking_code": "123000456",
        "transaction_at": "1403/01/01 12:48:00",
        "description": "انتقال داخلی(API)-تست",
        "meta": {
          "cheque_number": ""
        }
      },
      {
        "amount": 200000,
        "balance": 2100000,
        "type": "deposit",
        "bank_tracking_code": "789000111",
        "transaction_at": "1403/01/01 13:46:00",
        "description": "دریافت داخلی(API)-تست",
        "meta": {
          "cheque_number": ""
        }
      },
      {
        "amount": 300000,
        "balance": 3100000,
        "type": "deposit",
        "bank_tracking_code": "222000111",
        "transaction_at": "1403/01/01 14:26:00",
        "description": "انتقال از طريق اينترنت بانک بانک آينده از کارت 11111 ش م 2222 ش پ 3333",
        "meta": {
          "cheque_number": ""
        }
      }
    ]
  }
}

دریافت کد بابت

با استفاده از این سرویس می توان کدهای بابت را دریافت نمود که در api های انتقال وجه پایا، ساتنا و پل کاربرد دارد.

پاسخ ها
dataobject

لیستی از آبجکت ها که شامل شناسه و عنوان می باشد.

messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/reasons',
  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)
})

{
  "message": "اطلاعات با موفقیت دریافت شد.",
  "data": [
    {
      "id": 1,
      "title": "پرداخت قرض و تادیه دیون (قرض‌الحسنه،بدهی)"
    },
    {
      "id": 2,
      "title": "واریز حقوق"
    },
    {
      "id": 3,
      "title": "امور بیمه خدمات"
    }
  ]
}

انتقال وجه

با استفاده از این سرویس می توان عملیات انتقال وجه از حساب خود به دیگری را انجام داد.

پارامترها
account_numberrequiredstring

شماره حساب مبدا دارنده کارت

track_idrequiredstring

شناسه پیگیری که از جنس uuid و یکتا می باشد

amountrequiredinteger

فیلد مبلغ که بر اساس نوع انتقال وجه دارای محدودیت های زیر می باشد:

انتقال وجه داخلی (internal): حداقل 10,000 ریال و حداکثر 100,000,000,000 ریال

انتقال وجه پایا (paya): حداقل 10,000 ریال و حداکثر 1,000,000,000 ریال

انتقال وجه ساتنا (satna): حداقل 500,000,000 ریال و حداکثر 100,000,000,000 ریال

انتقال وجه پل (pol): حداقل 10,000 ریال و حداکثر 100,000,000 ریال

مقدار فیلد مبلغ باید با توجه به محدودیت هر حساب مبدا ارسال شود. در صورت ارسال مبلغ بیشتر از حد مجاز حساب، خطای account_number_limited برگشت داده می شود.

destination_ibanrequiredstring

شماره شبا مقصد

typerequiredstring
reason_idrequired_ifinteger

کدِ بابت، که از api کدهای بابت (در قسمت قبل)، می توان دریافت نمود و فقط برای انتقال وجه پایا، ساتنا و پل اجباری می باشد

payment_numberoptionalstring

شناسه پرداخت که اختیاری بوده و باید بین 1 تا 30 کاراکتر عددی باشد

descriptionoptionalstring

توضیحات که اختیاری بوده و حداکثر تا 255 کاراکتر می باشد

پاسخ ها
dataobject

در این کلید پارامتر های شناسه پیگیری و وضعیت انتقال برگشت داده می شود.

transfer_statusstring
messagestring

پیام موفق یا ناموفق بودن درخواست.

نکته

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

نکته

تراکنش ساتنا روزهای شنبه تا چهارشنبه، ساعت 8 تا 14 و روز پنجشنبه ساعت 8 تا 12:30 انجام می شود. پس از آن و در روزهای تعطیل تراکنش ساتنا مجاز نیست.

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

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
    track_id: "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    amount: 100000,
    destination_iban: "IR000000",
    type: "internal",
    reason_id: 1,
    payment_number: "123",
    description: "test"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "PENDING_OTP"
  }
}
{
  "message": "حساب مبدا دارای محدودیت می باشد",
  "data": {
    "track_id": "7d2ff139-a467-4a74-9c92-663332fdaa0b",
    "transfer_status": "FAILED"
  },
  "code": "account_number_limited",
  "errors": []
}

تایید تراکنش

با استفاده از این سرویس می توان عملیات انتقال وجه را تایید نمود.

پارامترها
account_numberrequiredstring

شماره حساب مبدا دارنده کارت

track_idrequiredstring

شناسه پیگیری که در ای پی ای transfer برگشت داده می شود

otprequiredstring

رمز یکبار مصرف که توسط پیامک به صاحب حساب مبدا ارسال می شود

پاسخ ها
dataobject

در این کلید پارامتر های شناسه پیگیری، وضعیت انتقال، شماره مرجع تراکنش در بانک و زمان انتقال وجه، برگشت داده می شود.

transfer_statusstring
messagestring

پیام موفق یا ناموفق بودن درخواست.

نکته

در صورت عدم دریافت رمز یکبار مصرف یا منقضی شدن آن می توان از ای پی ای retry-otp استفاده نمود.

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

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/confirm-otp',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
    track_id: "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    otp: "1111"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "track_id": "9aabdc8e-8ba5-4716-9918-8868ea326efd",
    "transfer_status": "SUCCEED",
    "reference_id": "12345",
    "transfer_at": "1403/05/30 15:48:00"
  }
}
{
  "message": "تراکنش انتقال وجه یافت نشد",
  "data": [],
  "code": "transfer_not_found",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه منقضی شده است",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "FAILED"
  },
  "code": "transfer_expired",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه در وضعیت نهایی قرار دارد",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "FAILED"
  },
  "code": "transfer_finalize_error",
  "errors": []
}
{
  "message": "رمز یکبار مصرف اشتباه می باشد",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "PENDING_OTP"
  },
  "code": "otp_wrong",
  "errors": []
}
{
  "message": "رمز یکبار مصرف منقضی شده است",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "PENDING_OTP"
  },
  "code": "otp_expired",
  "errors": []
}
{
  "message": "موجودی کافی نمی باشد",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "FAILED"
  },
  "code": "insufficient_balance",
  "errors": []
}

ارسال مجدد رمز یکبار مصرف

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

پارامترها
account_numberrequiredstring

شماره حساب مبدا دارنده کارت

track_idrequiredstring

شناسه پیگیری که در ای پی ای transfer برگشت داده می شود

پاسخ ها
dataobject

در این کلید پارامتر های شناسه پیگیری و وضعیت انتقال برگشت داده می شود.

transfer_statusstring
messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'POST',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/retry-otp',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
    track_id: "18b139ec-c9df-442a-ac4d-a0c7ac3632ed"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "عملیات با موفقیت انجام شد.",
  "data": {
    "track_id": "9aabdc8e-8ba5-4716-9918-8868ea326efd",
    "transfer_status": "SUCCEED"
  }
}
{
  "message": "تراکنش انتقال وجه یافت نشد",
  "data": [],
  "code": "transfer_not_found",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه منقضی شده است",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "FAILED"
  },
  "code": "transfer_expired",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه در وضعیت نهایی قرار دارد",
  "data": {
    "track_id": "e37048b8-e358-44bc-b20a-132c184b4856",
    "transfer_status": "FAILED"
  },
  "code": "transfer_finalize_error",
  "errors": []
}

پیگیری تراکنش ها

با استفاده از این سرویس می توان نتیجه نهایی تمامی تراکنش ها را دریافت کرد.

نکته

توجه داشته باشید که تا 3 روز امکان تغییر وضعیت تراکنش های پایا و ساتنا با توجه به وضعیت حساب مقصد وجود دارد.

پارامترها
account_numberrequiredstring

شماره حساب مبدا دارنده کارت

track_idrequiredstring

شناسه پیگیری که در ای پی ای transfer برگشت داده می شود

پاسخ ها
dataobject

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

transfer_statusstring
messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/inquiry',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
    track_id: "18b139ec-c9df-442a-ac4d-a0c7ac3632ed"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "اطلاعات با موفقیت دریافت شد.",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "SUCCEED",
    "reference_id": "140308150782181111",
    "transfer_at": "1403/08/15 00:00:00",
    "rejection_code": null,
    "rejection_message": null
  }
}
{
  "message": "موجودی کافی نمی باشد",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "FAILED"
  },
  "code": "insufficient_balance",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه یافت نشد",
  "data": [],
  "code": "transfer_not_found",
  "errors": []
}

پیگیری تراکنش های پایا و ساتنا

با استفاده از این سرویس می توان نتیجه نهایی تراکنش های انتقال وجه پایا و ساتنا را دریافت کرد.

نکته

توجه داشته باشید که تا 3 روز امکان تغییر وضعیت تراکنش های پایا و ساتنا با توجه به وضعیت حساب مقصد وجود دارد.

پارامترها
account_numberrequiredstring

شماره حساب مبدا دارنده کارت

track_idrequiredstring

شناسه پیگیری که در ای پی ای transfer برگشت داده می شود

پاسخ ها
dataobject

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

transfer_statusstring
messagestring

پیام موفق یا ناموفق بودن درخواست.

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

var request = require('request')
var options = {
  method: 'GET',
  url: '/v1/business/:business/ravand/provider/:provider/cardholder/:cardholder_id/transfer/inquiry/paya-satna',
  headers: {
    Accept: 'application/json',
    Authorization: 'Bearer token',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    account_number: '11111',
    track_id: "18b139ec-c9df-442a-ac4d-a0c7ac3632ed"
  })
}
request(options, function (error, response) {
  if (error) throw new Error(error)
  console.log(response.body)
})

{
  "message": "اطلاعات با موفقیت دریافت شد.",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "SUCCEED",
    "reference_id": "140308150782181111",
    "transfer_at": "1403/08/15 00:00:00",
    "rejection_code": null,
    "rejection_message": null
  }
}
{
  "message": "اطلاعات با موفقیت دریافت شد.",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "RETURNED",
    "reference_id": "140308150782181111",
    "transfer_at": "1403/08/15 00:00:00",
    "rejection_code": "account_is_closed",
    "rejection_message": "حساب بسته است"
  }
}
{
  "message": "تراکنش انتقال وجه یافت نشد",
  "data": [],
  "code": "transfer_not_found",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه از نوع پایا یا ساتنا نمی باشد",
  "data": [],
  "code": "transfer_is_not_paya_or_satna_error",
  "errors": []
}
{
  "message": "تراکنش انتقال وجه در وضعیت مناسب برای استعلام پایا یا ساتنا قرار ندارد",
  "data": {
    "track_id": "18b139ec-c9df-442a-ac4d-a0c7ac3632ed",
    "transfer_status": "INIT"
  },
  "code": "transfer_not_appropriate_status_for_paya_satna_inquiry_error",
  "errors": []
}