درگاه اتصال به بانک امکان پرداخت انلاین و مغایرت گیری خودکار را فراهم میکند.
در اتصال به سیستمهای پرداخت انلاین سرویسهای متفاوتی وجود دارد که در اودوو نیز باید پشتیبانی شود.
Basics
transaction
هر پرداخت شامل دو دسته اطلاعات می شود: اطلاعات داخلی اودوو، اطلاعات بانک.
اطلاعات داخلی اودوو نشان میدهد که پرداخت برای چه چیزی انجام شده و چه کسی آن را انجام باید بدهد.
مثلا یک پرداخت ممکن است مربوط به یک فاکتور فروش باشد.
اطلاعات بانک تعیین میکند که پرداخت مورد نظر ما در بانک با چه اطلاعاتی ایجاد شده. مثلا شماره تراکنش بانک و یا شماره پیگیری آن چیست. یا اینکه با کدام بانک پرداخت انجام شده است.
Notification
تمام اطلاعاتی که بین درگاه و اودوو رد و بدل میشود با یک ساختار داده به نام notification شناخته میشود.
Provider
واسط برنامه نویسی API را برای پرداخت انلاین فراهم میکند.
به صورت پیش فرض درگاههای زیر در اودوو وجود دارد:
- adyen
- alipay
- aps
- asiapay
- authorize
- buckaroo
- custom
- demo
- flutterwave
- mercado_pago
- mollie
- ogone
- paypal
- payulatam
- payumoney
- razorpay
- sips
- stripe
- xendi
مفاهیم بانکی
- Configuration: تنظیمهای عمومی درگاه
- name
- code
- state: desable, enable, test
- allow_tokenization
- capture_manually: انتقال پول منتظر ارسال محصول باشد
- allow_express_checkout:
- redirect_form_view_id: یک صفحه فرم طراحی میشود در خود اودوو که اطلاعات پرداخت را از مشتری بگیرید.
- inline_form_view_id: یک فرم (معادل نمونه قبلی) در خود اودوو باز میکند. در همان صفحه. اطلاعات پرداخت مشتری را میگیرد.
- token_inline_form_view_id: یک فرم برای انتخاب توکن پرداخت. این فرم زمانی کاربرد دارد که توکنایز کردن برای این درگاه فعال باشد.
- express_checkout_form_view_id:
- Availability: کنترل دسترسی به درگاه
- available_country_ids: لیست کشورهای مجاز
- available_currency_ids: لیست مجاز ارزها
- maximum_amount
- Message: تمام پیام هایی را تعیین میکند که در حالتهای متفاوت باید به مشتری نمایش داده شود.
- pending_msg: پیامی که حالت انتظار را نشان میدهد
- done_msg
- cancel_msg
- Feature
- support_tokenization: امکان ذخیره کردن اطلاعات کارت و استفاده در پرداختهای بعدی
- support_manual_capture: تایید و تکمیل پرداخت توسط بانک بعد از ارسال محصول توسط فروشنده
- support_express_checkout: استفاده از گوگل و اپل در پرداخت بدون وارد کردن اطلاعات مشتری
- support_refund: امکان برگشت پول و کنسل شدن فروش
- support_tokenization: امکان ذخیره کردن اطلاعات کارت و استفاده در پرداختهای بعدی
چطور پیاده سازی کنیم
فرآیند پرداخت بانک به صورت زیر است
پس هر پیاده سازی درگاه باید حداقل دو متد پیاده سازی کند:
- ساختن یک تراکنش جدید
- تایید یک تراکنش
در قسمت JS هم باید معادل این کارها را انجام دهد.
خود اودوو امکانات اولیهای برای این پیاده سازیها ایجاد کرده که در هر نسخه متفاوت است. باید بر اساس امکانات ایجاد شده متدها را پیاده سازی کنیم.
اتصال به بانکهای ایرانی در اودوو