سایت برتر

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

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

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

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

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

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

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

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

Session چیست

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

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

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

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

define( 'WP_SAMESITE_COOKIE', 'None' );

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

موفق باشید. 🙂

راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام میهن وردپرس عضو شوید.

اطلاعاتی دارید که تکمیل‌کننده این مقاله باشد؟ ارسال کنید.

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

سوال دارم

  1. U3948 ۱۸ فروردین ۱۴۰۰

    سلام
    وقت بخیر
    این مشکل با قرار دادن کد فوق در فایل wp-config.php حل شده بود اما بعد از اپدیت به وردپرس 5.6.1 با وجود این کد دوباره مشکل وجود دارد.
    آیا به تازگی این کد را تست کردید؟

  2. U34089 ۹ دی ۱۳۹۹

    ممنون بابت مقاله بسیار مفید و علمی‌تون.
    ولی یه سوال: آیا اگر این کد رو در فایل wp-config.php قرار بدیم مشکل امنیتی برای وبسایت ندارد؟

  3. U29102 ۱۴ آذر ۱۳۹۹

    در چنین مواردی که تو برگشت از درگاه پرداخت، سشن ها پاک میشه، وضعیت سفارش دقیقا چی میشه؟ لغو میشه یا در انتظار پرداخت میشه؟ یعنی می خوام بدونم مواقعی که درگاه به سایت بر نمیگرده، چه ریکوئستی به سایت ارسال میشه؟

  4. U29102 ۱۴ آذر ۱۳۹۹

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

    • تیم پشتیبانی تیم پشتیبانی ۱۵ آذر ۱۳۹۹

      باسلام
      خیر زرین پال مشکلی نداره با این موضوع و بدون مشکل کار میکنه. پرداخت ها در این وضعیت در انتظار پرداخت میشه

  5. U21232 ۲۱ آبان ۱۳۹۹

    سلام.
    ممنون از پست و تجربیاتی که به اشتراک میزارین.
    در سایت منم خیلی عجیبه که چرا کاربر چند بار تلاش میکنه و نمیتونه مثلا اکانتشو ویژه کنه. در حالی که خودم با همه مرورگرها تست کردم در وصل شدن به دراه بانکی مشکلی وجود نداره. ولی خب شاید مشکل منم به خاطر همین کوکی ها باشه.
    یک پیشنهاد هم داشتم برای میهن وردپرس در مورد بخش نظرات. این قسمت کاربرو آزار میده که اگر لاگین کرد به پیشخوان میره و به صفحه پیشفرضی که بوده ریدایرکت نمیشه. به نظرم به همون صفحه ای که بوده ریدایرکت بشه بهتره تا پیشخوان.