یکی از مشکلات اصلی پرداخت آنلاین، بازگشت به سایت و تراکنش ناقص است که سبب نارضایتی بسیاری از کاربران شده است، خطای تراکنش های ناقص تقریبا از مرداد ماه افزایش یافت و دارندگان سایت هایی که زبان برنامه نویسی آن ها وردپرس، جوملا و … بود با این مشکل رو به رو شدند. لازم به ذکر است که این مشکل قابل حل بوده و جای هیچ نگرانی نیست، در ادامه با پی فا همراه باشید تا پس از بررسی علت به وجود آمدن مشکل بازگشت از درگاه بانکی، راه حل رفع آن را به شما آموزش دهیم.
مشکل بازگشت از درگاه بانکی
همان طور که اشاره شد، مشکل بازگشت از درگاه بانکی اخیرا و از ماه مرداد، تشدید شده و سایت های زیادی با این مشکل مواجه هستند. اغلب این سایت ها، سایت هایی هستند که از زبان های برنامه نویسی جوملایی، وردپرس و…است. با بررسی های انجام گرفته و بروزرسانی مرورگرها مشخص شد که تغییراتی در زمینه کوکی های مرورگر کروم و مرورگر فایرفاکس به وجود آمده است که منجر به بروز چنین مشکلاتی شده است. چگونگی رخ دادن این مشکل به این صورت بود که زمانی که کاربران از یک سایت برای ورود به درگاه پرداخت ارجاع داده می شدند و سپس اقدام به پرداخت می کردند، به هنگام بازگشت از درگاه به سایت مبدا، تراکنش انجام گرفته تایید و یا به اصطلاح وریفای نمی شد. حتی سایت هایی که کاربران در آن ها لاگین شده بودند نیز لاگ اوت شده و در نهایت تراکنش به صورت ناقص انجام شده و مبلغ پرداخت شده به حساب کاربران باز میگشت. این مشکل در ابتدا از مرورگر کروم آغاز شده و سپس در مرورگر فایرفاکس نیز اتفاق افتاد. مرورگر کروم در متنی که در وبلاگ خود به اشتراک گذاشت اعلام کرد که در بروز سانی نسخه ۸۰ به بعد این مرورگر، یک سیستم طبقه بندی کوکی های ایمن و پیش فرض اجرا خواهد شد. به این صورت که به طور خودکار SameSite=Lax را اعمال می کند و تنها کوکی هایی که به صورت SameSite=None; Secure آماده شده باشند به صورت امن در دسترس هستند و سایر آن ها حذف خواهند شد. لازم به ذکر است که مرورگر موزیلا فایرفاکس نیز در نسخه جدید خود از این سیستم استفاده کرده و به احتمال زیاد کاربران با این مرورگر هم با مشکل بازگشت از درگاه بانکی مواجه خواهند شد.
روش های رفع مشکل بازگشت از درگاه بانکی
برای حل این مشکل نیاز است که در برنامه نویسی وب سایت خود تغییراتی ایجاد کنید، به این شکل که نیاز است کوکی ها را به صورت SameSite=None; Secure تنظیم کنید، اما تغییر این مورد در زبان های مختلف برنامه نویسی و فریم ورک ها با یکدیگر تفاوت داشته، ولی یک راه ساده تر نیز وجود دارد. برای اعمال حالت جدید کوکی ها می توانید آن را در .htaccess تعریف کنید تا نیازی به تغییر کد های سایت نباشد، این مشکل به حدی بزرگ و همه گیر شده که در انجمن های گیت هاب به آن اشاره شده و تنها راه حل آن را اضافه کردن کد زیر به اول فایل .htaccess می دانند.
کد رفع مشکل:
Header append Set-Cookie ;SameSite=None;Secur
اگر با استفاده از کد بالا مشکل سایت شما رفع نشد، می توانید از کد زیر استفاده نمایید:
<ifmodule mod_headers.c>
Header always edit Set-Cookie ^(.*)$ $1;SameSite=None;Secure
</ifmodule>
لازم به ذکر است که مشکل یاد شده بلافاصله پس از اضافه کردن این کد رفع نمی شود و نیاز است که به مرور کوکی ها در مرورگر سیستم کاربران سایت شما به روز شود و این مشکل از بین برود. ذکر این نکته ضروری است که در موارد نادری، این مشکل با قرارگیری این کدها نیز رفع نمی شود که در این صورت باید ماژول های پرداخت را به روزرسانی کرده تا مشکل وریفای نشدن حل شود. امیدواریم این مطالب جهت رفع مشکل بازگشت از درگاه بانکی و تراکنش ناقص شما اثر گذار باشد. در صورت داشتن سوالات دیگر در این خصوص می توانید با تیم پشتیبانی پی فا که در تمامی ساعات شبانه روز پاسخگوی شما هستند تماس بگیرید.