SHET23
English

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

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

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

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

چرا پرداخت در گوگل کروم ناموفق می‌شه؟

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

نشانه‌های رایج مشکل سشن این‌ها هستن: سبد خرید بعد از برگشت خالی می‌شه، فروشگاه سفارش رو پیدا نمی‌کنه، سفارش روی «در انتظار پرداخت» می‌مونه یا پیام ناموفق‌بودن پرداخت نمایش داده می‌شه؛ درحالی‌که مبلغ از حساب مشتری کم شده.

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

سشن و کوکی چه نقشی در پرداخت دارن؟

سشن یا Session رو می‌تونید مثل یک پرونده موقت برای بازدید کاربر در نظر بگیرید. اطلاعات اصلی سشن معمولاً سمت سرور نگه‌داری می‌شه و مرورگر ممکنه یک شناسه رو داخل کوکی ذخیره کنه تا سرور بفهمه هر درخواست به کدوم کاربر و سبد خرید مربوطه.

کوکی یک داده کوچیکه که مرورگر برای یک دامنه نگه می‌داره. فروشگاه با کمک کوکی می‌تونه سبد خرید و وضعیت ورود کاربر رو تشخیص بده. اگه کوکی در مسیر برگشت از درگاه ارسال نشه، فروشگاه ممکنه مشتری رو مثل یک بازدیدکننده تازه ببینه.

ویژگی SameSite مشخص می‌کنه کوکی در درخواست‌هایی که از یک سایت دیگه شروع می‌شن چطور فرستاده بشه. Secure هم یعنی کوکی فقط روی اتصال امن HTTPS ارسال بشه. اگه یک کوکی به SameSite=None نیاز داشته باشه، باید Secure هم داشته باشه و سایت از HTTPS درست استفاده کنه.

بررسی‌های سریع قبل از تغییر تنظیمات سایت

  1. یک خرید آزمایشی در پنجره ناشناس کروم انجام بدید. اگه مشکل رفع شد، کش، کوکی یا یکی از افزونه‌های مرورگر می‌تونه در خطا نقش داشته باشه.
  2. بازکردن پنجره ناشناس کروم
    بازکردن پنجره ناشناس کروم
  3. همون پرداخت رو در فایرفاکس و یک مرورگر موبایل امتحان کنید. نتیجه هر آزمایش رو جدا بنویسید.
  4. کش و کوکی‌های دامنه فروشگاه رو پاک کنید و دوباره مراحل خرید رو از اول انجام بدید.
  5. مطمئن بشید صفحه محصول، سبد خرید، تسویه‌حساب و آدرس برگشت همگی با HTTPS باز می‌شن. اگه هنوز انتقال کامل رو انجام ندادید، راهنمای ریدایرکت‌کردن HTTP به HTTPS می‌تونه کمکتون کنه.
  6. متن دقیق خطا، ساعت آزمایش، شماره پیگیری و وضعیت سفارش رو ثبت کنید. اطلاعات بانکی حساس یا شماره کامل کارت رو جایی منتشر نکنید.

پیداکردن علت پرداخت ناموفق در وردپرس

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

بررسی ووکامرس و افزونه درگاه پرداخت

  • وردپرس، ووکامرس و افزونه درگاه رو بعد از تهیه نسخه پشتیبان به نسخه سازگار و پایدار ارتقا بدید.
  • اطلاعات پذیرنده، حالت آزمایشی یا واقعی و آدرس برگشت ثبت‌شده در تنظیمات درگاه رو بررسی کنید.
  • از بخش «ووکامرس ← وضعیت ← گزارش‌ها» گزارش مرتبط با درگاه و زمان تراکنش رو باز کنید. جای این گزینه ممکنه با توجه به نسخه افزونه کمی فرق داشته باشه.
  • گزارش‌های ووکامرس برای انتخاب گزارش افزونه درگاه و بررسی رویدادهای هم‌زمان با تراکنش
    گزارش‌های ووکامرس برای انتخاب گزارش افزونه درگاه و بررسی رویدادهای هم‌زمان با تراکنش
  • سفارش رو پیدا کنید و یادداشت‌های سفارش رو بخونید. این یادداشت‌ها معمولاً مشخص می‌کنن پاسخ درگاه به فروشگاه رسیده یا نه.

بررسی ایزی دیجیتال دانلودز و افزونه درگاه

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

بررسی تداخل افزونه‌ها و قالب

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

صفحه افزونه‌های وردپرس برای غیرفعال‌کردن موقت افزونه‌های مشکوک در محیط تست و فعال‌کردن دوباره اون‌ها به‌صورت مرحله‌ای
صفحه افزونه‌های وردپرس برای غیرفعال‌کردن موقت افزونه‌های مشکوک در محیط تست

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

صفحه پوسته‌های وردپرس برای فعال‌کردن موقت یک قالب استاندارد و آزمایش تداخل قالب با فرایند پرداخت
فعال‌کردن موقت یک قالب استاندارد و آزمایش تداخل قالب با فرایند پرداخت

بررسی کوکی‌های پرداخت در گوگل کروم

  1. صفحه تسویه‌حساب رو در کروم باز کنید. کلید F12 یا ترکیب Ctrl+Shift+I رو بزنید تا ابزار توسعه‌دهنده باز بشه.
  2. به بخش Application برید و از قسمت Storage → Cookies دامنه فروشگاه رو انتخاب کنید.
  3. ستون‌های Domain، Path، Expires، SameSite و Secure رو بررسی کنید. دامنه یا مسیر اشتباه می‌تونه باعث بشه کوکی در صفحه برگشت فرستاده نشه.
  4. در بخش Network گزینه نگه‌داشتن گزارش رو فعال کنید و یک پرداخت آزمایشی انجام بدید. بعد درخواست برگشت رو باز کنید و هدرهای Cookie و Set-Cookie رو ببینید.
  5. پیام‌های بخش Issues و Console رو بررسی کنید. کروم معمولاً کوکی ردشده، محتوای ناامن یا ریدایرکت مشکل‌دار رو با توضیح نمایش می‌ده.

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

راه‌حل‌های امن برای مشکل سشن و کوکی

  • HTTPS رو در کل مسیر خرید فعال کنید. صفحه تسویه‌حساب، مسیر برگشت و درخواست‌های داخلی نباید بین HTTP و HTTPS جابه‌جا بشن.
  • تنظیم کوکی رو فقط با راهکار مستند افزونه فروشگاه یا افزونه درگاه اصلاح کنید. قبل از افزودن کد، نام کوکی و مقدار فعلی SameSite رو ببینید.
  • صفحه‌های سبد خرید، تسویه‌حساب، حساب کاربری و آدرس برگشت رو از کش صفحه خارج کنید. کش این صفحه‌ها می‌تونه محتوای مربوط به کاربر دیگه یا وضعیت قدیمی سفارش رو نمایش بده.
  • مشخص کنید بانک کاربر رو با درخواست GET یا POST برمی‌گردونه. افزونه درگاه باید همون روش رو درست دریافت و اعتبارسنجی کنه.
  • اگه هدرهای کوکی روی سرور تغییر می‌کنن یا درخواست برگشت به وردپرس نمی‌رسه، گزارش رو برای پشتیبانی افزونه درگاه و شرکت هاست بفرستید.

چرا افزودن WP_SAMESITE_COOKIE راه‌حل قطعی نیست؟

ممکنه در بعضی آموزش‌ها این کد رو ببینید:

define( 'WP_SAMESITE_COOKIE', 'None' );

WP_SAMESITE_COOKIE جزو ثابت‌های عمومی کوکی در هسته وردپرس نیست. پس افزودن این خط به wp-config.php تضمین نمی‌کنه که ووکامرس، ایزی دیجیتال دانلودز یا افزونه درگاه از اون استفاده کنن.

از طرف دیگه، SameSite=None به Secure و HTTPS نیاز داره. تغییر حدسی این مقدار بدون بررسی کوکی واقعی می‌تونه مشکل تازه‌ای بسازه یا اصلاً اثری نداشته باشه. بهتره اول کوکی ردشده رو در کروم پیدا کنید و بعد از راهکار رسمی افزونه سازنده استفاده کنید.

اگه یک راهنمای معتبر از شما خواست ثابتی رو در wp-config.php تعریف کنید، اون رو داخل محدوده PHP و قبل از خط توقف ویرایش قرار بدید. شماره خط ثابت نیست و نباید کد رو فقط بر اساس عبارتی مثل «خط دوم» اضافه کنید.

آزمایش نهایی پرداخت بعد از رفع مشکل

  1. با یک مرورگر تمیز و بدون ورود به حساب، خرید آزمایشی مهمان انجام بدید.
  2. همون محصول رو با یک کاربر واردشده بخرید تا هر دو مسیر بررسی بشن.
  3. آزمایش رو در دسکتاپ، موبایل و حداقل دو مرورگر تکرار کنید.
  4. بعد از برگشت، پیام سایت، وضعیت سفارش، سبد خرید و دریافت ایمیل رو کنترل کنید.
  5. گزارش درگاه، یادداشت سفارش و خطاهای Network و Console رو دوباره بررسی کنید.

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

اگه پرداخت هنوز ناموفق بود، چه اطلاعاتی برای پشتیبانی بفرستیم؟

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

رمزها، کلیدهای API، اطلاعات کامل کارت، مقدار کوکی و اطلاعات ورود رو برای پشتیبانی عمومی نفرستید. اگه دسترسی موقت لازمه، اون رو از یک مسیر امن بسازید و بعد از پایان بررسی حذف کنید.

جمع‌بندی

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

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

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

آیا گوگل کروم سشن فروشگاه رو حذف می‌کنه؟

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

آیا SameSite=None به‌تنهایی مشکل پرداخت رو حل می‌کنه؟

نه. این مقدار فقط برای بعضی کوکی‌ها و مسیرهای بین‌سایتی لازمه و باید همراه Secure و HTTPS استفاده بشه. افزونه فروشگاه هم باید واقعاً همون کوکی رو با این تنظیم بسازه. پس قبل از تغییر، کوکی ردشده و علت خطا رو بررسی کنید.

چرا سبد خرید بعد از برگشت از درگاه خالی می‌شه؟

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

چطور بفهمیم مشکل از درگاه، افزونه یا هاست هست؟

پاسخ درگاه، یادداشت سفارش و گزارش افزونه رو کنار گزارش Network بررسی کنید. اگه پاسخ بانک به سایت نمی‌رسه، مسیر برگشت یا سرور مهمه. اگه پاسخ می‌رسه ولی سفارش تغییر نمی‌کنه، افزونه درگاه و پردازش سفارش باید بررسی بشن.

آیا تغییر فایل wp-config.php برای رفع این خطا لازمه؟

در بیشتر موارد نه. اول HTTPS، کش، کوکی واقعی، گزارش درگاه و تنظیمات افزونه رو بررسی کنید. فقط وقتی مستندات معتبر افزونه یا پشتیبانی سازنده کد مشخصی ارائه می‌ده، فایل wp-config.php رو بعد از تهیه نسخه پشتیبان تغییر بدید.

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

  1. U309714۲۶ آبان ۱۴۰۰

    سلام و عرض ادب
    من این کار را انجام دادم اما مشکل برطرف نشد و همچنان مشکل وجود داره
    باسپاس

  2. U309714۲۶ آبان ۱۴۰۰

    سلام و عرض ادب
    من این کار را انجام دادم اما مشکل برطرف نشد و همچنان مشکل وجود داره

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

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

    • رضا راد۱۸ فروردین ۱۴۰۰

      سلام جدیدا مشکل در گوگل کروم حل شده

  4. U34089۹ دی ۱۳۹۹

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

    • رضا راد۱۰ دی ۱۳۹۹

      درود بر شما سپاس. خیر مشکلی نداره

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

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

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

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

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

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

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

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

    • تیم پشتیبانیتیم پشتیبانی۲۱ آبان ۱۳۹۹

      سلام
      سپاس از توجه شما
      پیشنهاد شما رو به مدیریت سایت منتقل خواهیم کرد

پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرس
پشتیبانپشتیبانپشتیبانپشتیبانپشتیبان
تیم میهن وردپرسخارج از ساعات کاری هستیم؛ دستیار هوش مصنوعی پاسخگوی شماست.هوش مصنوعی

در حال بارگذاری...

هر سوالی دارید بپرسید.پاسخگوی شما هستیم.