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

روی سفارشی که وضعیت آن ناموفق هست کلیک کنید و وارد صفحه تنظیمات بشوید.

آیا سفارش ناموفق است یا فقط هنوز پرداخت آن تأیید نشده؟
وضعیت ناموفق (Failed) معمولاً به پرداخت ردشده یا تأییدنشده اشاره دارد. در انتظار پرداخت (Pending payment) یعنی سفارش ثبت شده ولی پرداخت قطعی نیست. در انتظار بررسی (On hold) نیز میتواند برای انتقال بانکی یا روشهایی باشد که تأییدشان با تأخیر انجام میشود. بنابراین هر سفارشی را که هنوز به وضعیت «در حال انجام» نرسیده، ناموفق تلقی نکنید.
قدم دوم: اگر پول از حساب مشتری کسر شده، تراکنش را بررسی کنید
پیش از درخواست پرداخت دوباره از مشتری، وارد پنل درگاه شوید و مبلغ و زمان تراکنش را با سفارش ووکامرس تطبیق دهید. در بعضی موارد، تراکنش در درگاه موفق است اما پیام تأیید به فروشگاه نمیرسد؛ در نتیجه وضعیت سفارش بهروزرسانی نمیشود. این وضعیت با رد شدن واقعی پرداخت تفاوت دارد.
- اگر تراکنش در درگاه موفق است، از روش استعلام یا تأیید مجددی که ارائهدهنده درگاه معرفی کرده استفاده کنید و دلیل ثبت نشدن پاسخ در ووکامرس را بررسی کنید.
- اگر تراکنش رد شده یا وجود ندارد، پیام خطای درگاه و اطلاعات اتصال افزونه را بررسی کنید.
- اگر وضعیت بانکی نامشخص است، شناسه تراکنش را برای پشتیبانی درگاه ارسال کنید و تا روشن شدن نتیجه، مشتری را به پرداخت مجدد هدایت نکنید.
تغییر دستی سفارش به وضعیت «در حال انجام» بدون تطبیق تراکنش، ممکن است باعث تحویل کالا پیش از دریافت وجه یا ایجاد مغایرت مالی شود.
قدم سوم: درگاه پرداخت و ارتباط آن با فروشگاه را بررسی کنید
از مسیر ووکامرس ← پیکربندی ← پرداختها وارد تنظیمات درگاه فعال شوید. مطمئن شوید افزونه درگاه فعال است و اطلاعات پذیرنده، کلید اتصال و حالت آزمایشی یا واقعی مطابق با حساب درگاه تنظیم شدهاند.

بر روی دکمه مدیریت کلیک کنید و وارد صفحه تنظیمات درگاه پرداختی شوید.

بعضی درگاهها پس از پرداخت از طریق آدرس بازگشت یا وبهوک نتیجه را برای سایت ارسال میکنند. اگر این ارتباط به دلیل فایروال، خطای سرور یا نشانی نادرست قطع شود، ممکن است مشتری پرداخت را انجام داده باشد اما سفارش تأیید نشود. مسیر callback یا webhook در هر افزونه متفاوت است؛ آدرس آن را فقط مطابق مستندات همان درگاه تنظیم کنید.
قدم چهارم: گزارش خطای درگاه را پیدا کنید
برای این مرحله، اسکرینشات واقعی باید از ووکامرس ← وضعیت ← گزارشها گرفته شود؛ تصاویر ارسالی شامل صفحه گزارشها نیستند.
در پیشخوان به ووکامرس ← وضعیت ← گزارشها بروید. در صورت پشتیبانی افزونه درگاه، گزینه ثبت گزارش خطا را موقتاً در تنظیمات پرداخت فعال کنید و یک خرید آزمایشی انجام دهید. سپس گزارش مربوط به همان درگاه و همان زمان را باز کنید.
پیامهایی مانند وقفه زمانی اتصال، پاسخ نامعتبر، خطای 403، خطای 500 یا شناسه پذیرنده نامعتبر به پیدا کردن علت کمک میکنند. اگر گزارشها را تازه فعال کردهاید، انتظار نداشته باشید خطاهای پرداختهای قدیمی حتماً در آنها ثبت شده باشند. هنگام ارسال گزارش برای پشتیبانی، اطلاعات محرمانه درگاه و مشتری را حذف کنید.
قدم پنجم: موجودی محصول و زمان نگهداری سفارش را کنترل کنید
در پیشخوان به ووکامرس ← پیکربندی ← محصولات ← فهرست موجودی بروید. گزینه مدیریت موجودی و زمان نگهداری موجودی (Hold stock) را بررسی کنید. این زمان مشخص میکند موجودی برای سفارشهای پرداختنشده چه مدت رزرو بماند. پس از پایان مهلت، ووکامرس میتواند سفارش پرداختنشده را لغو و موجودی نگهداریشده را آزاد کند.

اگر مشتری هنگام پرداخت با خطای کمبود موجودی مواجه میشود، موجودی همان محصول یا متغیر انتخابشده را بررسی کنید. برای مثال، ممکن است رنگ مشکی یک محصول موجود باشد اما رنگ انتخابی مشتری تمام شده باشد. در فروشگاههایی که چند افزونه مدیریت انبار یا همگامسازی موجودی دارند نیز تغییر همزمان تعداد کالا میتواند باعث مغایرت شود.
در ووکامرس 11.0 و نسخههای جدیدتر اگر موجودی برای سفارشی کم شده و سپس وضعیت سفارش به «ناموفق» تغییر کند، ووکامرس موجودی کسرشده را بازمیگرداند. پس پیش از افزایش دستی موجودی، بررسی کنید آیا موجودی قبلاً بازگردانده شده است یا نه.
قدم ششم: تداخل افزونهها را در محیط آزمایشی بررسی کنید
برای این بخش نیز تصویر ارسالی از فهرست افزونهها وجود ندارد. آزمایش غیرفعالسازی افزونهها فقط در محیط آزمایشی فروشگاه انجام شود.
اگر مشکل پس از نصب یا بهروزرسانی یک افزونه شروع شده، احتمال تداخل وجود دارد؛ بهخصوص افزونههای تخفیف، چندارزی، مدیریت موجودی، تسویهحساب و امنیت. برای بررسی، از سایت پشتیبان بگیرید و یک نسخه آزمایشی بسازید. افزونههای فروشگاه اصلی را برای آزمایش بهصورت گسترده غیرفعال نکنید.
در محیط آزمایشی، ابتدا ووکامرس و افزونه درگاه را فعال نگه دارید و سفارش آزمایشی ثبت کنید. اگر مشکل برطرف شد، افزونههای دیگر را یکییکی فعال کنید و بعد از هر تغییر همان خرید را تکرار کنید. این روش مشخص میکند اختلال دقیقاً با فعال شدن کدام افزونه بازمیگردد.
اگر از برگه تسویهحساب بلوکی استفاده میکنید، سازگاری افزونه درگاه را نیز بررسی کنید. گاهی تغییر قیمت یا ارز هنگام تکمیل خرید، باعث مغایرت مبلغ نهایی و توقف ثبت سفارش میشود.
قدم هفتم: خطای سرور، کش و صفحه تسویهحساب را بررسی کنید
اگر صفحه پرداخت بیپایان بارگذاری میشود، پیام خطای نامفهوم میدهد یا پس از انتخاب درگاه سفید میشود، علاوه بر گزارشهای درگاه، گزارش خطاهای PHP را نیز در ووکامرس ← وضعیت ← گزارشها بررسی کنید. در صورت لزوم از پشتیبانی هاست بخواهید خطاهای همزمان با سفارش را کنترل کند.
برگههای سبد خرید و تسویهحساب نباید مانند صفحات معمولی بهشکل نامناسب کش شوند. افزونههای کش و بهینهسازی جاوااسکریپت را در نسخه آزمایشی بررسی کنید تا مطمئن شوید تغییرات مبلغ سفارش یا اطلاعات جلسه مشتری هنگام پرداخت از بین نمیروند.
از کدام بخش عیبیابی را شروع کنیم؟
| نشانه مشکل | اولین محل بررسی |
|---|---|
| مشتری پول پرداخت کرده اما سفارش ناموفق است | پنل درگاه و یادداشتهای سفارش |
| سفارش در انتظار پرداخت باقی مانده | مسیر بازگشت و وبهوک درگاه |
| سفارش پس از مدتی لغو میشود | زمان نگهداری موجودی |
| محصول موجود است ولی خرید ثبت نمیشود | موجودی محصول یا متغیر انتخابی |
| بعد از نصب افزونه سفارشها ناموفق میشوند | آزمایش تداخل در نسخه آزمایشی |
| صفحه تسویهحساب مدام بارگذاری میشود | گزارش خطا، کش و درخواستهای شبکه |
جمعبندی و چکلیست رفع مشکل سفارش ناموفق ووکامرس
برای پیدا کردن علت ناموفق شدن سفارش، در پیشخوان ووکامرس سفارش موردنظر را باز کنید و از روی روش پرداخت و یادداشتهای آن مشخص کنید آیا درخواست پرداخت به درگاه رسیده است یا نه. اگر مشتری میگوید مبلغ پرداخت شده، قبل از هر اقدام وضعیت بانکی را استعلام کنید. سپس با توجه به نتیجه سراغ تنظیمات درگاه، موجودی یا احتمال تداخل افزونهها بروید.
- شماره و زمان سفارش، روش پرداخت و پیام خطا را بررسی کردهاید.
- نتیجه تراکنش را با پنل درگاه تطبیق دادهاید و از پرداخت تکراری جلوگیری کردهاید.
- اطلاعات اتصال، مسیر بازگشت و گزارش خطای درگاه را کنترل کردهاید.
- موجودی کالا و زمان نگهداری سفارشهای پرداختنشده را بررسی کردهاید.
- در صورت احتمال تداخل، افزونهها را در نسخه آزمایشی یکییکی آزمایش کردهاید.
- بعد از رفع مشکل، یک خرید آزمایشی کامل انجام دادهاید و وضعیت نهایی سفارش را بررسی کردهاید.
اگر چند سفارش پشتسرهم ناموفق میشوند، بهجای تغییر همزمان تنظیمات، وجه مشترک آنها را پیدا کنید. برای مثال، بررسی کنید همه با یک درگاه پرداخت شدهاند یا خطا فقط برای محصول مشخصی رخ میدهد. این کار کمک میکند علت اصلی زودتر پیدا شود و روند خرید سایر مشتریان مختل نشود.