English

پرداخت ناموفق در گوگل کروم و حل مشکل Session در نسخه ۸۴

پرداخت ناموفق در گوگل کروم و حل مشکل Session در نسخه ۸۴

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

فقط در نسخه جدید گوگل کروم!

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

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

بررسی تغییرات نسخه جدید گوگل کروم

در نتیجه تصمیم گرفتیم به سراغ Changelog گوگل کروم برویم و ببینیم در نسخه‌های جدید کروم چه قابلیت‌ها و تغییراتی اضافه شده. به موضوعی برخوردیم که مربوط به امنیت بیشتر گوگل کروم بود. بله دوستان گوگلی قابلیتی به گوگل کروم اضافه کرده بودند که باعث می‌شد برای امنیت کاربر، اگر شما کاربری را به سایت دیگری منتقل کنید و آن وب‌سایت بیش از ۲۰ ثانیه کاربر را نگه‌دارد، بعد‌که کاربر به سمت سایت شما آمد، تمام سشن‌ها از نو نوشته می‌شود.

Session چیست

Session در واقع متغیری خاص از کوکی است که در مرورگر ذخیره می‌شود تا بررسی کنیم که این کاربر مهمان که روی سایت ما خرید انجام داد، با این session خاص که در مرورگرش ذخیره شده همان شخصی است که قبلا از سایت ما به درگاه پرداخت ارجاع داده شده. وقتی کاربر در سایت ما لاگین نکرده باشد، با کوکی و سشن می‌توانیم مقادیری را برای شناسایی آن کاربر در نظر بگیریم.

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

حل مشکل پرداخت ناموفق در گوگل کروم

برای حل این مشکل کافیست این قابلیت گوگل کروم را برای سایت خود غیر فعال کنیم. البته غیرفعال کردن این قابلیت نیاز به تغییر Rule های وب سرور شما دارد که این‌کار باید توسط هاستینگ انجام شود. اما راه دیگری در وردپرس است که به آن Define کردن می‌گوییم. کافیست کد زیر را در خط ۲ فایل wp-config.php قرار دهید تا مشکل برای همیشه حل شود.

define( 'WP_SAMESITE_COOKIE', 'None' );

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

موفق باشید. 🙂

نظر شما در این مورد چیه؟

⚠️ دسترسی محدود

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