WhatsApp

WooCommerce לא מעבד תשלומים? כאן הפתרונות

לקוחות לא מצליחים לסיים רכישה ב-WooCommerce?...

איור של כרטיס אשראי מרחף מעל כפתור checkout עם סימן שאלה — סמל לתקלת תשלום ב-WooCommerce שמעוכבת לאבחון
WooCommerce

הודעה ב-WhatsApp בשעה 23:40: "לקוחה ניסתה לקנות, הגיעה ל-checkout, ועכשיו האתר תקוע. הפסדתי לפחות חמש מכירות היום." זו השיחה הכי לחוצה שמגיעה אליי. כל דקה של checkout שבור = הכנסה אבודה. אני גרי, מומחה וורדפרס עצמאי, ובמדריך הזה אני עובר על חמש הסיבות הכי נפוצות שגורמות ל-WooCommerce להיתקע בתהליך תשלום, ומספק סדר אבחון מסודר שיביא אותך לשורש הבעיה תוך שעה.

התשובה המהירה: WooCommerce לא מעבד תשלומים בדרך כלל בגלל אחת מחמש סיבות: SSL חסר או Mixed Content בעמוד checkout, מפתחות API של ספק התשלום לא תקפים, התנגשות בין WooCommerce לתוסף עדכן (Page Builder, קאשינג), PHP timeout בשרת, או הגדרת תוסף קאשינג ש-cache עמוד דינמי. סדר האבחון: קודם בדוק את ה-checkout במצב incognito (ללא session), קרא את הלוג של WooCommerce, ואז עבור על הגורמים החשודים אחד-אחד.

תוכן עניינים

  • אבחון ראשוני: 5 שאלות שתשאל את עצמך
  • איפה למצוא לוגים של WooCommerce
  • סיבה 1: SSL חסר או Mixed Content בעמוד Checkout
  • סיבה 2: מפתחות API של ספק תשלום לא תקפים
  • סיבה 3: התנגשות עם תוסף Page Builder או Cache
  • סיבה 4: PHP Timeout
  • סיבה 5: עמוד Checkout נשמר ב-Cache בטעות
  • סדר אבחון מסודר
  • מה לבדוק לפני שאתה קוצף על ספק התשלום
  • שאלות נפוצות

אבחון ראשוני: 5 שאלות שתשאל את עצמך

לפני שאתה נוגע בקוד, ענה על השאלות:

  1. התקלה אצל לקוחות חדשים בלבד או גם אצלך? אם רק אצל לקוחות — סביר session/cookies/cache. אם גם אצלך — בעיה גלובלית.
  2. באיזה שלב התקלה? עמוד מוצר → עגלה → checkout → תשלום → תודה. כל שלב מצביע על בעיה אחרת.
  3. הודעת שגיאה ספציפית או מסך לבן? שגיאה ספציפית = יש לך כיוון. מסך לבן = ראה מסך לבן באתר וורדפרס.
  4. מה היה השינוי האחרון לפני שזה התחיל? עדכון תוסף? עדכון WooCommerce? שינוי בתבנית? פעולה של ספק האחסון?
  5. כמה זמן הבעיה קיימת? שעה — סביר שקרה משהו ספציפי שקל לשחזר. שבוע — תפיצה רחבה יותר.

תשובות מסודרות לחמש = 70% מהאבחון.

איפה למצוא לוגים של WooCommerce

WooCommerce שומר לוג מפורט של כשלונות תשלום. גש ל:

WooCommerce → Status → Logs

תראה רשימת קבצים בפורמט <gateway>-payment-YYYY-MM-DD.log (למשל stripe-payment-2026-04-26.log). פתח את הקובץ של ספק התשלום שלך מהיום שהבעיה התחילה.

מה לחפש בלוג:

  • Failed to process — הקריאה ל-API של ספק התשלום נכשלה.
  • Authentication failed — מפתח API לא תקף.
  • Connection timed out — בעיה רשת בין השרת שלך לספק.
  • Mixed content — בעיית SSL.
  • cURL error — בעיית תקשורת.

הלוג כמעט תמיד יגיד לך בדיוק מה קרה. אם אין לוגים — סימן שהבקשה לא הגיעה ל-WooCommerce בכלל. אז הבעיה לפני (cache, JavaScript, או דף checkout שבור).

סיבה 1: SSL חסר או Mixed Content בעמוד Checkout

ספקי תשלום (Stripe, PayPal, Tranzila, CardCom, Pelecard) דורשים HTTPS. אם דף ה-checkout שלך טוען משאבים על HTTP בתוך עמוד HTTPS — דפדפנים מודרניים חוסמים את הבקשות, ועיבוד התשלום נכשל.

איך לזהות:

  • פתח את Developer Tools (F12) על דף ה-checkout.
  • לך ללשונית Console.
  • חפש Mixed Content: The page at https://... was loaded over HTTPS, but requested an insecure resource http://...

אם רואה את זה — זו הסיבה.

הפתרון:

  • ודא שגם siteurl וגם home ב-wp-options מוגדרים ל-https://.
  • תוסף Better Search Replace יחליף בבסיס הנתונים את כל המופעים של http://yoursite.com ל-https://yoursite.com.
  • בדוק תוספים חיצוניים שטוענים משאבים — לפעמים ה-URL hard-coded ב-PHP. עדכן.

ראה הגדרת SSL בוורדפרס + תיקון Mixed Content למדריך המלא.

סיבה 2: מפתחות API של ספק תשלום לא תקפים

תרחיש נפוץ:

  • שינית עיסוק או נכנסת לתפקיד חדש, ספק התשלום ביטל מפתחות ישנים.
  • ספק התשלום עדכן את מנגנון ה-API והמפתחות הישנים פגו (קרה ל-Stripe ב-2024).
  • שמרת מפתחות test במקום production — קורה לא מעט במעבר מ-staging לפרודקשן.

איך לבדוק:

  • WooCommerce → Settings → Payments → [Gateway] → Settings
  • בדוק את שדות API Key / Secret.
  • חברו את הפנל של ספק התשלום (dashboard.stripe.com, paypal.com/business) → Developers / API → ראה איזה מפתחות פעילים.
  • אם המפתחות שונים — עדכן.

אזהרה ל-Stripe:
ל-Stripe יש שני סטים של מפתחות: sk_test_* ו-sk_live_*. ב-staging אתה משתמש ב-test, בפרודקשן ב-live. החלפה לא נכונה = checkout נראה תקין אבל אין חיוב, או חיוב נכשל.

אזהרה ל-CardCom / Tranzila / Pelecard:
ספקי התשלום הישראלים דורשים מספר טרמינל + שם משתמש + סיסמת API. כולם נשמרים בהגדרות התוסף. אם החברה שלך עברה תוכנית או שהוסיפה טרמינל חדש — צריך לעדכן.

סיבה 3: התנגשות עם תוסף Page Builder או Cache

תוספים שמשנים את HTML של עמוד ה-checkout (Elementor Pro, Divi, OceanWP Premium) יכולים לשבור את ה-JavaScript של WooCommerce. הסימן: הלקוח רואה שדה "כרטיס אשראי" אבל לא מצליח להזין מספרים, או שהכפתור "השלם הזמנה" לא לחיץ.

איך לזהות:

  1. השבת זמנית את התוסף החשוד.
  2. נקה cache (תוסף + CDN).
  3. בדוק את ה-checkout במצב incognito.
  4. עובד? התוסף אשם.

הפתרון:

  • Elementor Pro: ודא שה-checkout משתמש בעמוד WooCommerce המקורי, לא בעמוד שיצרת ב-Elementor.
  • Divi: השבת את "Divi Module Cache" עבור עמוד checkout.
  • כל Page Builder: וודא ש-WooCommerce checkout block / shortcode פעיל בלי modifications.

לפעמים הפתרון הוא להפריד את עמוד checkout מהעיצוב הכללי — להשאיר אותו "פשוט" בלי Page Builder, ולעצב רק עם CSS.

סיבה 4: PHP Timeout

בקשת תשלום ל-API של Stripe או של בנק ישראלי לוקחת לפעמים 10-30 שניות. אם השרת שלך מוגדר עם max_execution_time = 30 ויש לחץ נוסף, יש סיכוי טוב שתיקבע "Connection Timeout".

איך לזהות:

  • בלוג של WooCommerce: cURL error 28: Operation timed out after X milliseconds.
  • שגיאת Maximum execution time exceeded.

הפתרון:

ב-wp-config.php, הוסף:

@ini_set( 'max_execution_time', 300 );

זה לא תמיד עובד — חברות אחסון מסוימות נועלות את זה ב-php.ini של השרת. בקש מהם ישירות להעלות את max_execution_time ל-300 לפחות עבור התקנה ספציפית של WooCommerce.

סיבה 5: עמוד Checkout נשמר ב-Cache בטעות

אם תוסף הקאשינג שלך שמר את עמוד ה-checkout ב-cache, לקוחות שונים מקבלים את אותו עמוד עם session ID של מישהו אחר. תוצאה: שגיאות אקראיות שלא חוזרות על עצמן בסדר ברור.

איך לזהות:

  • בקונסול הדפדפן (F12 → Network), חפש header x-cache: HIT על URL של checkout. אם רואה — זו הבעיה.
  • בלוג של WooCommerce: שגיאות "Invalid nonce" או "Session expired" שמופיעות לעיתים תכופות.

הפתרון:

הגדר את עמודי cart, checkout, my-account להחרגה מ-cache:

  • WP RocketExcluded URLs → הוסף /cart, /checkout, /my-account.
  • LiteSpeed CacheCache → Excludes → Do Not Cache URIs → הוסף את אותם.
  • W3 Total CachePage Cache → Advanced → Never cache the following pages → הוסף.

WooCommerce אמור לעשות את זה אוטומטית, אבל לפעמים תוספים אגרסיביים עוקפים. תמיד שווה לוודא ידנית.

סדר אבחון מסודר

הסדר שאני מריץ אצל לקוח עם תקלת תשלום:

  1. 0:00-0:05 — שאלות אבחון ראשוני (5 שאלות לעיל). מצוץ מידע מהלקוח.
  2. 0:05-0:15 — בדיקת לוג WooCommerce. ברוב המקרים שורש הבעיה ברור כאן.
  3. 0:15-0:25 — בדיקת SSL ו-Mixed Content (סיבה 1). אם רלוונטי, תיקון.
  4. 0:25-0:35 — בדיקת מפתחות API מול דאשבורד ספק התשלום (סיבה 2).
  5. 0:35-0:50 — השבתת תוספים חשודים (סיבה 3) ובדיקת checkout במצב incognito.
  6. 0:50-0:60 — בדיקת PHP timeout והגדרות cache (סיבות 4-5).

ב-90% מהמקרים, אחרי שעה יש לי את שורש הבעיה והתיקון. ב-10% הנותרים, הבעיה עמוקה יותר (קונפליקט בין שני שערי תשלום, באג בגרסה ספציפית של WooCommerce, בעיית בנק) ואז יש לעבוד עם התמיכה של ספק התשלום או של WooCommerce.

ראה גם שגיאת 500 באתר וורדפרס — איך לתקן — לפעמים תקלת תשלום מתבטאת כשגיאת 500 בעמוד checkout.

מה לבדוק לפני שאתה קוצף על ספק התשלום

לקוחות מתקשרים מתוסכלים: "Stripe לא עובד! התמיכה שלהם לא עוזרת!" ב-9 מתוך 10 מקרים, הבעיה לא ב-Stripe — היא בקונפיגורציה של האתר. לפני שאתה פותח כרטיס תמיכה אצל ספק התשלום, ודא:

  • ✅ ה-API keys תקפים ושייכים לחשבון הנכון (live/test).
  • ✅ Webhooks מוגדרים נכון (URL נכון, אירועים נבחרים, סוד נכון).
  • ✅ SSL פעיל ותקף (לא פג תוקף).
  • ✅ אין Mixed Content בעמוד checkout.
  • ✅ הלוג של WooCommerce לא מראה שגיאת תקשורת לפני הקריאה לספק.
  • ✅ מצב staging או production מוגדר עקבית.

אם עברת על כל אלה והבעיה נשארת — אז כן, פנה לספק התשלום. ולוקחים אותך יותר ברצינות אם אתה מציג רישום מסודר של מה ניסית.

שאלות נפוצות

איך אני יודע איזה ספק תשלום הכי אמין מהשמיים בישראל?
לפי הניסיון שלי: Stripe (אם אתה לא צריך תמיכה בעברית של תמיכה אנושית), CardCom (תמיכה ישראלית מצוינת, ממשק עברי), Tranzila (וותיק, תאימות מצוינת ל-WooCommerce). PayPal עובד אבל אינו אופטימלי לחנות ישראלית עיקרית. Pelecard גם טוב.

עברתי לאחסון חדש והתשלומים הפסיקו לעבוד. מה קרה?
בדוק ארבעה דברים: (1) IP של השרת השתנה — ואולי spec של ספק התשלום מגביל IPs. (2) SSL לא הותקן בשרת החדש או לא תקף. (3) Webhooks מצביעים על השרת הישן. (4) wp-config.php נשאר עם הגדרות ישנות (DB credentials, וכו').

הלקוח אומר ש-"כרטיס נדחה" אבל הבנק לא מראה ניסיון. איפה הבעיה?
זה אומר שהבקשה לא הגיעה לבנק. המקור כמעט תמיד באתר — Mixed Content, JavaScript שבור, נתיב webhook שגוי. בדוק לוג של WooCommerce.

WooCommerce HPOS (High-Performance Order Storage) שבר לי את המודולים.
HPOS הוא טבלאות נפרדות לאחסון הזמנות. רוב התוספים הותאמו, אבל תוספים ישנים עוד כתובים ל-tmp3ab07f_posts. אם עדכנת ל-HPOS וזה שבר משהו — אפשר לבטל זמנית ב-WooCommerce → Settings → Advanced → Features → HPOS. בדוק תאימות תוספים ב-Status → Compatibility.

צריך תעודת SSL מסוג ספציפי לתשלומים?
לא. כל SSL תקף עם הצפנה מודרנית מספיק. Let's Encrypt חינמי עובד מצוין ל-WooCommerce. EV SSL ("ירוק" עם שם החברה) לא נדרש מטעם ספקי תשלום, אם כי לפעמים עוזר לאמון לקוח.


תקלת תשלומים = הכנסה שמתבזבזת

כל יום של checkout שבור = הכנסה שלא חוזרת. השירות "תקן לי את הוורדפרס" מטפל בכל סוגי תקלות WooCommerce — אבחון, תיקון, ובדיקה שהכל יציב. פנייה דחופה ל-WooCommerce או וואטסאפ.


אני גרי, מומחה וורדפרס עצמאי עם 10 שנות ניסיון. אני מתמחה באבחון תקלות, אבטחה, ושיפור ביצועים של אתרי וורדפרס לעסקים קטנים ובינוניים בישראל. בעת הצורך נעזר במומחים מהימנים (עיצוב, שיווק, אנליטיקה). פרטים על השירותים.


תפריט נגישות