###POST /oak/v2/clients/{clientId}/deposits/{deposit}/chargeCard * **شرح: ** سرویس شارژ بن‌کارت، این سرویس با استفاده از حساب کاربر، بن کارت(بانک آینده) را شارژ می نماید * **اسکوپ: ** ```oak:card-charge:execute``` * **رویکرد: ** ```Authorization_Code``` ```````````````` {address}/oak/v2/clients/{clientId}/deposits/{deposit}/chargeCard?trackId={trackId} ```````````````` <div class="sandboxaddress sandbox" id="sandbox" style="float:right" style="display: none" > https://sandboxapi.finnotech.ir<b><span class="finnotech-sandbox-address-text"> :address </span></b> </div> <div class="production-address production" style="float:right" style="display: block"> https://apibeta.finnotech.ir <b> :address </b> </div> <br><br> ** سرویس مکمل**: <br> * ** <a href="#inquiryChargeCard">پیگیری شارژ بن‌کارت</a> ** <br> * ** [استعلام تغییرات شماره بن‌کارت](/v2/oak-card-getValid.html?sandbox=+sandbox)** #### Notes * این سرویس از ساعت ۱۱ شب تا ۴ صبح غیرفعال است. * شارژ بن‌کارت از مبدا حساب هایی که برای اپلیکیشن شما تایید شده است امکان پذیر است * لزوما پس از هر مرتبه فراخوانی سرویس شارژ بن کارت ، سرویس پیگیری شارژ بن کارت جهت اطلاع از وضعیت نهایی تراکنش شارژ بن کارت فراخوانی شود #### Headers مقادیر زیر باید در هدر قرار بگیرد ```````````````` Authorization : Bearer {Token} Content-Type : application/json ```````````````` #### URI Parameters * **clientId: ** (اجباری) شناسه کلاینت * **deposit :** (اجباری) شماره حسابی که قصد برداشت از آن را دارید. لازم است این حساب جز حساب های تایید شده اپلیکیشن شما باشد. #### Query Parameters * **trackId :** (اجباری) &#x202b; رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید. * example: ```charge-card-109``` #### Body ##### Example: ```````````````` { "amount": 20000, "card" : "6362144202902795" } ```````````````` * **amount: ** مبلغ شارژ * **card: ** شماره بن کارت مقصد (بن کارت بانک آینده که با شماره ۶۳۶۲۱۴۲ یا ۶۳۶۲۱۴۴ شروع می شود). بن کارت هایی که برای اپلیکیشن شما تایید شده است، مجاز می‌باشند. ####Results Format #### Successful result format (status code 200) ```````````````` { "result": { , "message": "تراکنش با موفقیت انجام شد" , "card": "2795" , "amount": "20000" , "deposit": "0206754653002" , "tracker": 10110 , "chargeState": "DONE" } , "status": "DONE" , "trackId": "charge-card-109" } ```````````````` * **result:** آبجکتی از پاسخ سرویس شامل: * **message: ** نتیجه عملیات پرداخت را نشان می دهد. * **card: ** چهار رقم آخر بن کارت شارژ شده * **amount: ** مبلغ شارژ واریز شده به کارت * **deposit: ** حساب مبدا انتقال * **tracker: ** کد رهگیری که از سرویس دریافت میشود (برای پیگیری وضعیت شارژ بن کارت به این فیلد نیاز دارید) * **chargeState: ** وضعیت شارژ * **status: ** وضعیت فراخوانی سرویس * DONE: فراخوانی موفق سرویس * FAILED: فراخوانی ناموفق سرویس * **error:** جزییات خطا (در صورت بروز خطا) * **trackId: ** کد پیگیری است که با استفاده از آن میتوانید با استفاده از سرویس های فینوتکی کارمزد را استعلام کنید #### UnSuccessful result format * در زیر دو نمونه از پاسخ خطا را مشاهده می‌کنید. ```````````````` { "status": "FAILED" , "trackId": "TrackID" , "error": { "code": "ERROR Title" , "message": "Unsuccessful Message" } } ```````````````` * در صورتی که شرایط برداشت حساب شما (در هنگام انتقال وجه مثل سرویس واریز و شارژ بن‌کارت) رعایت نشده باشد: (status code 400) ```````````````` { "status": "FAILED" , "trackId": "TrackId" , "error": { "code": "VALIDATION_ERROR" , "message": "account conditions not passed" } } ```````````````` ```````````````` { "result": { , "code": "A107" , "message": "Unsuccess" , "description": "حساب فاقد کد تفصیلی است." , "deposit": "0202672527005" , "card": "3152" , "chargeState": "UNKNOWN" } , "status": "DONE" , "trackId": "charge-card-119" } ```````````````` <div id="inquiryChargeCard"></div> <br> * **result:** آبجکتی از پاسخ سرویس شامل: * **code: ** کد خطا. جدول توضیحات خطا در پایین همین صفحه موجود است. * **message: ** شرح خطا * **description: ** شرح فارسی خطا * **card:** چهار رقم آخر شماره کارت * **chargeState:** ضعیت تراکنش * **status: ** وضعیت فراخوانی سرویس * DONE: فراخوانی موفق سرویس * FAILED: فراخوانی ناموفق سرویس * **error:** جزییات خطا (در صورت بروز خطا) * **trackId: ** کد پیگیری است که با استفاده از آن میتوانید با استفاده از سرویس های فینوتکی کارمزد را استعلام کنید * توضیح بیشتر در مورد کدهای خطا در انتهای همین مستند وجود دارد. ###POST /oak/v2/clients/{clientId}/inquiryChargeCard <div id="inquiry" ; style="float:right; font-size: 15px"; > پیگیری شارژ بن‌کارت</div> <br><br> * **شرح:** این سرویس با استفاده از اطلاعاتی که در پاسخ تراکنش شارژ دریافت کرده‌اید (و یا فقط با دریافت trackId که همراه درخواست ارسال کرده‌اید) وضعیت شارژ بن کارت را استعلام می‌کند. ```````````````` /oak/v2/clients/{clientId}/inquiryChargeCard?trackId={trackId} ```````````````` #### Query Parameters * **trackId :** (اجباری) &#x202b; رشته ای با طول حداکثر ۴۰ کاراکتر شامل حرف و عدد. پیشنهاد ما برای trackId تولید کردن UUID است. در صورت نیاز به نتیجه یک فراخوانی میتوانید با trackId آن را فیلتر کنید. در گزارش فراخوانی سرویس فراخوانی مورد نظر را با همین کد پیگیری پیدا میکنید. * example: ```inquiry-charge-card-109``` #### Body ##### Example: ```````````````` { "trackId": "charge-card-109" } ```````````````` * **trackId: ** فیلد trackId که برای شارژ ارسال کردید برای پیگیری ### Results Format #### Successful result format (status code 200) ```````````````` { "inquiry": { "message": "Unsuccess" , "code": "G101" , "description": "وضعیت استعلام تراکنش ناموفق است" , "transactionStatus": Unknown , "tracker": null , "trackId": "charge-card-109" }, , "status": "DONE" , "trackId": "inquirycharge-card-109" } ```````````````` * **result:** آبجکتی از پاسخ سرویس شامل: * **message: ** نتیجه استعلام که یکی از مقادیر Success یا Unsuccess یا Unknown است. و Success به معنی شارژ موفق و Unsuccess به معنی شارژ ناموفق و Unknown به معنی نامشخص است. تا زمانی که وضعیت تراکنش Unknown است، تراکنش را تکرار نکنید. * **code: ** کد خطا. جدول توضیحات خطا در پایین همین صفحه موجود است. * **description: ** توضیح کد * **transactionStatus: ** وضعیت تراکنش شارژ بن کارت * **tracker: ** کد رهگیری تراکنش * **trackId: ** کد پیگیری سرویس شارژ بن‌کارت * **status: ** وضعیت فراخوانی سرویس پیگیری وضعیت شارژ بن کارت * DONE: فراخوانی موفق سرویس * FAILED: فراخوانی ناموفق سرویس * **error:** جزییات خطا (در صورت بروز خطا) * **trackId: ** کد پیگیری که در فراخوانی سرویس فرستاده شده است ### Error Code description <table> <thead> <tr> <th>کد نتایج</th> <th>توضیحات</th> </tr> </thead> <tbody> <tr><td>A00</td><td>وضعیت تراکنش موفق است‬</td></tr> <tr><td>A100</td><td>ناموفق، نام کاربری یا کلمه عبور اشتباه است.‬</td></tr> ‪<tr><td>A101</td><td>ناموفق، اختلاف زمانی بین خادم و مخدوم بیش از ده دقیقه است.</td>‬</tr> ‪<tr><td>A102‬‬</td><td>ناموفق، Hash نامعتبر است.</td></tr> ‪<tr><td>A103</td><td>ناموفق، کارت از نوع بن کارت نمی‌باشد. کارت‌هایی که با ۶۳۶۲۱۴۲ یا ۶۳۶۲۱۴۴ شروع می‌شود.</td></tr> ‪<tr><td>A104‬‬</td><td>ناموفق، شماره سفارش تکراری است</td></tr> ‪<tr><td>A105‬‬</td><td>ناموفق، امکان دسترسی به اطلاعات کارت مقصد موجود نیست.</td></tr> ‪<tr><td>A106‬‬</td><td>نامشخص، خطا غیر منتظره در زمان انتقال وجه از کارت تنخواه به کارت مشتری (لطفا تا زمان اطمینان از وضعیت تراکنش از ارسال مجدد آن خودداری شود.) </td></tr> ‪<tr><td>A107‬‬</td><td>حساب فاقد کد تفصیلی است.</td></tr> ‪<tr><td>A111</td><td>محدودیت در مبلغ تارکنش‌های یک کارت</td></tr> ‪<tr><td>A112</td><td>محدودیت در مبلغ هر تراکنش</td></tr> ‪<tr><td>A113</td><td>محدودیت‌ در مبلغ تراکنش‌های روزانه</td></tr> ‪<tr><td>A114</td><td>محدودیت در مبلغ تراکنش‌های ماهانه</td></tr> ‪<tr><td>A115</td><td>محدودیت‌های تراکنش‌های حساب مشتری</td></tr> ‪<tr><td>A116</td><td>محدودیت تراکنش‌های روزانه حساب</td></tr> ‪<tr><td>A117‬‬</td><td>محدودیت‌های تراکنش‌های ماهانه حساب</td></tr> ‪<tr><td>A118</td><td>محدودیت زمان تراکنش</td></tr> ‪<tr><td>A123</td><td>وضعیت تراکنش نامشخص است</td></tr> ‪<tr><td>A107‬‬</td><td>حساب فاقد کد تفصیلی است.</td></tr> ‪<tr><td>A210</td><td>ناموفق، عدم دریافت کد رهگیری برای ادامه‌ی فرآیند شارژ.‬</td></tr> ‪<tr><td>A211</td><td>نامشخص، خطا غیر منتظره در سامانه. (لطفا تا زمان اطمینان از وضغیت تراکنش از ارسال مجدد آن خودداری شود.)</td>‬</tr> ‪<tr><td>A220‬‬</td><td>ناموفق، عدم دریافت اطلاعات کارت تنخواه‬</td></tr> ‪<tr><td>B01</td><td>احراز هویت ناموفق (نام کاربری، کلمه عبور یا آدرس آی پی اشتباه است)</td></tr> ‪<tr><td>B02</td><td>دسترسی کافی جهت اجرای سرویس را ندارید</td></tr> ‪<tr><td>B04</td><td>شماره کارت نامعتبر است</td></tr> ‪<tr><td>B05</td><td>شماره قبض نامعتبر است</td></tr> ‪<tr><td>B06</td><td>شماره پین دوم نامعتبر است</td></tr> ‪<tr><td>B07</td><td>شماره سی وی ۲ نامعتبر است‬</td></tr> ‪<tr><td>B08</td><td>تاریخ انقضای کارت اشتباه است</td></tr> ‪<tr><td>B09</td><td>شناسه پرداخت قبض اشتباه است</td></tr> ‪<tr><td>B10</td><td>مبلغ وارد شده نامعتبر است</td></tr> ‪<tr><td>B11</td><td>خطای عمومی</td></tr> ‪<tr><td>B12</td><td>شماره پیگیری مشتری نامعتبر است (طول رشته یا کاراکترهای رشته قابل قبول نیست)</td></tr> ‪<tr><td>B14</td><td>شماره کارت نامعتبر است</td></tr> ‪<tr><td>B20</td><td>شماره merchanti id نامعتبر است</td></tr> ‪<tr><td>B26</td><td>درخواست خرید با ای دی مورد نظر جهت ابطال پیدا نشد</td></tr> ‪<tr><td>B75</td><td>کارت مذکور سه بار رمز را اشتباه وارد کرده است</td></tr> ‪<tr><td>B78</td><td>بن کارت موردنظر غیرفعال می باشد</td></tr> ‪<tr><td>C10</td><td>موجودی حساب ناکافی است</td></tr> ‪<tr><td>D01</td>‬‬<td>با بانک صادر کننده کارت تماس حاصل فرمایید</td></tr> <tr><td>D03</td><td>پذیرنده کارت فعال نیست. در پرداخت قبض به این معنی است که سازمان مربوطه در سیستم پرداخت قبض پشتیبانی نمی‌شود</td>‬</tr> ‪<tr><td>D12</td><td>تراکنش معتبر نمی‌باشد‬</td>‬</tr> ‪<tr><td>D13</td><td>مبلغ تراکنش معتبر نمی‌باشد</td></tr> ‪<tr><td>D14</td><td>شماره کارت صحیح نمی‌باشد</td></tr> ‪<tr><td>D25</td><td>رکورد پیدا نشد</td></tr> ‪<tr><td>D30</td><td>فرمت پیام دارای اشکال است</td>‬</tr> ‪<tr><td>D33</td><td>کارت منقضی شده است</td></tr> ‪<tr><td>D41‬</td><td>کارت مفقوده می‌باشد‬</td></tr> ‪<tr><td>D43</td><td>کارت مسروقه است</td></tr> ‪<tr><td>D44‬</td><td>اطلاعات قبض در سیستم یافت نشد‬</td>‬</tr> ‪<tr><td>D48‬‬</td><td>قبض قبلا پرداخت شده است</td></tr> ‪<tr><td>D51‬‬</td><td>موجودی حساب کافی نمی‌باشد</td></tr> ‪<tr><td>D55</td><td>رمز وارده صحیح نمی‌باشد‬</td></tr> ‪<tr><td>D56</td><td>شماره کارت صحیح نمی‌باشد یا CVV اشتباه است‬</td>‬</tr> ‪<tr><td>D57</td><td>دارنده کارت مجاز به انجام این تراکنش نمی‌باشد / ورود شماره شناسیایی فردی (PIN) از حد مجاز گذشته است</td></tr> ‪<tr><td>D58</td><td>پذیرنده کارت مجاز به انجام این تراکنش نمی‌باشد</td></tr> ‪<tr><td>D61</td><td>مبلغ تراکنش از حد مجاز بالاتر است</td></tr> ‪<tr><td>D65</td><td>تعداد دفعات تراکنش از حد مجاز بیشتر است‬</td></tr> ‪<tr><td>D79</td><td>شماره حساب نامعتبر است</td></tr> ‪<tr><td>D80</td><td>تراکنش موفق عمل نکرده است</td></tr> ‪<tr><td>D84</td><td>سوییچ صادرکننده کارت فعال نیست</td></tr> ‪<tr><td>D88</td><td>سیستم دچار اشکال شده است</td></tr> ‪<tr><td>D90</td><td>ارتباط بطور موقت قطع می‌باشد</td></tr> ‪<tr><td>D91‬</td><td>‫پاسخ در زمان تعیین شده به دست سیستم نرسیده است</td></tr> ‪<tr><td>D100</td><td>وضعیت تراکنش نامشخص است</td></tr> ‪<tr><td>F00</td><td>استعلام کارت با موفقیت انجام شد</td></tr> ‪<tr><td>F101</td><td>استعلام کارت با موفقیت انجام نشد</td></tr> ‪<tr><td>F123</td><td>استعلام کارت به دلیل خطای نامشخص با موفقیت انجام نشد</td></tr> ‪<tr><td>F102</td><td>شماره کارت یافت نشد</td></tr> ‪<tr><td>F103</td><td>در ارتباط با سرور بانک خطایی رخ داده است</td></tr> ‪<tr><td>G100</td><td>استعلام تراکنش به دلیل خطای نامشخص با موفقیت انجام نشد</td></tr> ‪<tr><td>G101</td><td>وضعیت استعلام تراکنش ناموفق است</td></tr> ‪<tr><td>G102</td><td>وضعیت استعلام تراکنش ناموفق است</td></tr> ‪<tr><td>G103</td><td>وضعیت استعلام تراکنش ناموفق است</td></tr> ‪<tr><td>G104</td><td>وضعیت استعلام تراکنش ناموفق است</td></tr> </tbody> </table> در اینجا میتوانید لیست خطاهای سرویس ها را مشاهده کنید [لیست خطاها](/v2/generic-errors.html)