زمانی که میخواهیم یک درگاه به صورت inlineform پیاده سازی کنیم، باید یک فرم با استفاده جاوا اسکریپت پیاده سازی شود. برای این پیاده سازی باید متدهایی از پیش تعریف شده در Javascript پیاده سازی شود. چه متدهایی باید پیاده سازی شود و کاربرد آنها چیست؟
چه متدهایی برای پیادهسازی یک درگاه پرداخت به روش inline form در اودوو ۱۷ باید با جاواسکریپت پیاده سازی شود
1 پاسخ
برخی از درگاههای پرداخت که در خود اودوو پیاده سازی شدهاند به روش inlineform کار میکنند. بررسی این پیاده سازیها میتواند نشان دهد که چه متدهایی باید پیاده سازی شود. اما قبل از هر چیز دانستن بعضی از موارد در پیاده سازی درگاهها بسیار مهم است.
اول اینکه معادل با هر روش پرداخت یک radio button در نظر گرفته شده است. با استفاده از این موجودیت میتوان اطلاعات متفاوت پرداخت را به دست آورد. مثلا با ان می توان فرم ایجاد شده را پیدا کرد. نمونه کد زیر
const inlineForm = this._getInlineForm(radio);
جدول زیر درگاههای موجود در اودوو ۱۷ که به این روش پیاده سازی شدهاند و متدهایی که بازنویسی کرده اند را نمایش میدهد
Provider | _prepareInlineForm | _initiatePaymentFlow | _processDirectFlow |
adyen | |||
authorize | |||
razorpay | |||
strip |
_prepareInlineForm
زمانی که کاربر متد پرداخت مورد نظر را انتخاب میکند این تابع فراخوانی میشود تا فرم inline مورد نیاز را آماده کند.
_initiatePaymentFlow
زمانی که فرم توسط کاربر پر میشود و بعد دکمه ثبت زده میشود در اثر فرآیند پرداخت این متد فراخوانی میشود.
توصیه شده که از این متد به صورت مستقیم استفاده نشه. سه متد به صورت مستقیم از این متد فراخوانی میشوند که عبارتند از:
- _processRedirectFlow
- _processDirectFlow
- _processTokenFlow
در پیاده سازیها بهتر هست که از این سه متد استفاده شود.
_processDirectFlow
زمانی که پرداخت با inline form هست این متد زمانی که دکمه ثبت پرداخت زده شود فراخوانی میشود.
_processRedirectFlow
زمانی که پرداخت به صورت فرم ریدایرکت باشه، این متد باید پیاده سازی شود.
یک پیاده سازی پیش فرض برای این متد وجود دارد که در آن فرم ریدایرکت را به صورت خودکار پر کرده و کلید ثبت آن را میزند به این روش صفحه ری داریکت میشود.
در حالتهای که متد پست باشد این پیاده سازی مناسب است.