
สรุปคำตอบ
เมื่อ PromptPay ใน WooCommerce มีปัญหา ให้ตรวจตามลำดับ คือ การตั้งค่าใน WooCommerce → Settings → Payments (เปิด Enabled, หมายเลขพร้อมเพย์ถูกต้อง, API Key เป็น Live Key), ปิด Plugin อื่นชั่วคราวเพื่อหา Plugin Conflict, ดู Error ใน WooCommerce → Status → Logs และตรวจ Webhook URL ที่ลงทะเบียนกับ Payment Gateway ว่าถูกต้องและใช้ https สาเหตุที่พบบ่อยคือ Plugin ตั้งค่าไม่ครบหรือเก่าเกินไป Webhook ถูกบล็อก SSL ไม่ถูกต้อง หรือ Hosting จำกัดการเชื่อมต่อขาออก
PromptPay เป็นระบบโครงสร้างพื้นฐานการชำระเงินที่เปิดใช้ตั้งแต่ปี 2016 โอนด้วยเลขบัตรประชาชนหรือเบอร์มือถือได้ (ธนาคารแห่งประเทศไทย) และเป็นหนึ่งในช่องทางที่ร้านค้าออนไลน์ไทยนิยมใช้ใน WooCommerce เพราะลูกค้าคุ้นเคยและสะดวก แต่เมื่อเกิดปัญหา เช่น QR Code ไม่ขึ้น, ลูกค้าโอนแล้ว Order ไม่เปลี่ยนสถานะ หรือระบบยืนยันการชำระเงินไม่ทำงาน เจ้าของร้านมักสับสนว่าปัญหาอยู่ที่ไหนกันแน่ บทความนี้จะพาตรวจสอบและแก้ไขอย่างเป็นขั้นตอน
อาการที่พบบ่อยเมื่อ PromptPay ใน WooCommerce มีปัญหา
ก่อนแก้ไข ควรระบุให้ชัดว่าพบอาการใด เพราะสาเหตุและวิธีแก้จะต่างกัน
- QR Code PromptPay ไม่แสดงในหน้า Checkout หรือหน้าขอบคุณ (Thank You Page)
- ลูกค้าสแกน QR แล้วโอนเงินสำเร็จ แต่ Order ยังคงสถานะ Pending Payment ไม่เปลี่ยน
- ลูกค้าอัปโหลดสลิปแล้ว แต่ร้านค้าไม่ได้รับแจ้ง หรืออีเมลยืนยันไม่ส่ง
- กด Confirm Order แล้วหน้าเด้งกลับ หรือแสดงข้อผิดพลาดทั่วไป
- ปุ่มชำระเงิน PromptPay ไม่ปรากฏในหน้า Checkout เลย

สาเหตุหลักที่ทำให้ PromptPay ไม่ทำงาน
ปัญหา PromptPay ใน WooCommerce มักเกิดจากหนึ่งในปัจจัยเหล่านี้
- Plugin PromptPay ไม่ได้รับการตั้งค่า: เช่น ยังไม่ได้ใส่หมายเลขพร้อมเพย์ หรือ Merchant ID ที่ถูกต้อง
- Plugin PromptPay เวอร์ชันเก่าหรือไม่สอดคล้องกับ WooCommerce: การอัปเดต WooCommerce บางครั้งทำให้ Plugin ชำระเงินเก่าทำงานผิดพลาด เช่น Plugin ที่ยังไม่รองรับ Checkout แบบ Block ซึ่งเป็นค่าเริ่มต้นของร้านใหม่ตั้งแต่ WooCommerce 8.3 (เอกสาร) หรือกรณีที่ changelog ของปลั๊กอิน Omise รุ่น 6.1.0 มีรายการแก้ credit card block ไม่แสดงบน WooCommerce 9.5.0 (wordpress.org)
- ระบบ Webhook / Callback ไม่ทำงาน: สำหรับ Plugin ที่รองรับการยืนยันอัตโนมัติ หาก Webhook URL ถูกบล็อก หรือ SSL ไม่ถูกต้อง จะทำให้สถานะ Order ไม่อัปเดต (ดูรายละเอียดที่ Webhook และ Callback ในระบบชำระเงินคืออะไร)
- Conflict กับ Plugin อื่น: Plugin Cache, Security หรือ Page Builder บางตัวอาจขัดกับ Plugin ชำระเงิน
- ปัญหา Hosting: เซิร์ฟเวอร์บล็อก Request จากภายนอก หรือ Outbound connection ถูกจำกัด
วิธีตรวจสอบ PromptPay ทีละขั้นตอน
ขั้นที่ 1 — ตรวจสอบการตั้งค่า Plugin
ไปที่ WooCommerce → Settings → Payments แล้วคลิกที่ Plugin PromptPay ที่ใช้อยู่ ตรวจว่า:
- สถานะ Enabled เปิดอยู่
- ใส่หมายเลขพร้อมเพย์ (เบอร์โทร หรือเลขบัตรประชาชน) ถูกต้องครบถ้วน
- ถ้าเป็น Payment Gateway เช่น Omise ให้ตรวจ API Key ว่าใช้ Live Key ไม่ใช่ Test Key
ขั้นที่ 2 — ทดสอบใน Safe Mode (ปิด Plugin อื่น)
ปิด Plugin ทั้งหมดชั่วคราว ยกเว้น WooCommerce และ Plugin PromptPay แล้วทดลองสั่งซื้อใหม่ ถ้าใช้งานได้ แสดงว่ามี Plugin Conflict ใน WooCommerce ให้เปิด Plugin ทีละตัวจนพบตัวที่ทำให้ขัด
ขั้นที่ 3 — ตรวจสอบ WooCommerce Logs
ไปที่ WooCommerce → Status → Logs เลือก Log ของ Plugin ชำระเงินที่ใช้ (คู่มือ Logging ของ WooCommerce) มองหา Error message เช่น connection refused, invalid signature หรือ curl error ซึ่งจะบอกสาเหตุได้ตรง
ขั้นที่ 4 — ตรวจ Webhook URL (กรณี Dynamic QR)
ถ้าใช้ Plugin ที่ยืนยันอัตโนมัติ ให้ Copy Webhook URL จากหน้าตั้งค่า Plugin (ปลั๊กอิน Omise แสดงไว้ในช่อง Webhook endpoint ตามซอร์สโค้ดหน้าตั้งค่า) แล้วไปวางใน Payment Gateway Dashboard (เช่น Omise Dashboard) ตรวจว่า URL ถูกต้อง และมี SSL (https://) ด้วย โดย Omise ระบุให้ endpoint เป็น HTTPS ที่มี SSL Certificate ถูกต้อง (เอกสาร Webhooks)

วิธีแก้ไขปัญหาที่พบบ่อย
- QR Code ไม่ขึ้น: อัปเดต Plugin PromptPay ให้เป็นเวอร์ชันล่าสุด แล้วล้าง Cache ทั้งหมด (Plugin Cache + Cache จาก Hosting) จากนั้นทดสอบในโหมด Incognito และตรวจว่าหน้า Checkout ไม่ถูก Cache ตามคู่มือ Caching ของ WooCommerce
- Order ไม่เปลี่ยนสถานะ: ตรวจสอบว่า Webhook URL ลงทะเบียนกับ Payment Gateway ถูกต้อง และเซิร์ฟเวอร์ไม่มีการบล็อก IP ของ Gateway (Omise เผยแพร่ IP ของเซิร์ฟเวอร์ webhook ไว้ในเอกสาร) ดูเพิ่มเติมที่ Omise / Opn Payment ไม่อัปเดตสถานะ Order
- อีเมลยืนยันไม่ส่ง: ปัญหานี้มักเกิดแยกจาก PromptPay โดยตรง อ่านวิธีแก้ที่ WooCommerce Email ไม่ส่ง เกิดจากอะไร แก้ยังไง
- กด Checkout แล้วติด: ปัญหา Checkout โดยรวมอาจมีหลายสาเหตุ ลองอ่าน WooCommerce Checkout ไม่ได้ กดสั่งซื้อไม่ทำงาน แก้ยังไง เพื่อตรวจสอบเพิ่มเติม
การป้องกันปัญหา PromptPay ในอนาคต
- อัปเดต WooCommerce และ Plugin ชำระเงินพร้อมกัน อย่าปล่อยให้เวอร์ชันห่างกันนาน
- ทดสอบ Checkout flow หลังอัปเดต Plugin ทุกครั้ง โดยใช้บัญชีลูกค้าจริง ไม่ใช่ Admin
- ตรวจสอบ WooCommerce Logs อย่างน้อยสัปดาห์ละครั้งถ้าร้านมี Transaction สูง
- ใช้ Plugin PromptPay ที่มีการอัปเดตสม่ำเสมอ และได้รับการรองรับจาก Developer
เมื่อไหร่ควรเรียกผู้เชี่ยวชาญ
ถ้าตรวจสอบตามขั้นตอนข้างต้นแล้วยังแก้ไม่ได้ หรือปัญหาซับซ้อนขึ้น เช่น ลูกค้าโอนเงินแล้วระบบยังค้างเป็นจำนวนมาก หรือ Log แสดง Error ที่ไม่คุ้นเคย ควรติดต่อผู้เชี่ยวชาญ WordPress โดยเฉพาะ ทีมเราให้บริการ แก้ปัญหา WooCommerce ครอบคลุมทั้งระบบชำระเงิน, Webhook, Plugin Conflict และการตั้งค่าขั้นสูง ช่วยให้ร้านกลับมาขายได้เร็วที่สุด
คำถามที่พบบ่อย
PromptPay แบบ Static QR กับ Dynamic QR ต่างกันอย่างไรใน WooCommerce?
Static QR คือ QR ที่ลูกค้าสแกนแล้วกรอกยอดเองและต้องแจ้งร้านด้วยตัวเอง ส่วน Dynamic QR สร้างผ่าน Payment Gateway เช่น Omise หรือ KBank ระบบกำหนดยอดให้อัตโนมัติและยืนยันการชำระเงินได้ทันทีโดยไม่ต้องให้ลูกค้าแจ้ง
ลูกค้าโอนเงินผ่าน PromptPay แล้ว Order ยังเป็น Pending อยู่ ต้องทำอย่างไร?
ถ้าใช้ Static QR ให้เปลี่ยนสถานะ Order ด้วยตนเองใน WooCommerce Orders แต่ถ้าใช้ Dynamic QR ให้ตรวจสอบ Webhook URL ว่าลงทะเบียนกับ Payment Gateway ถูกต้องและไม่ถูกบล็อก
Plugin PromptPay ฟรีที่นิยมใช้ใน WooCommerce ไทยมีอะไรบ้าง?
Plugin ยอดนิยมได้แก่ WooCommerce PromptPay (โดยนักพัฒนาไทย), Omise/Opn Payments (รองรับ PromptPay QR อัตโนมัติ) และ 2C2P ซึ่งแต่ละตัวมีวิธีตั้งค่าและ Feature ต่างกัน ควรเลือกตามความต้องการของร้าน
ต้องมี SSL เพื่อใช้ PromptPay ใน WooCommerce ไหม?
จำเป็นมาก โดยเฉพาะกับ Dynamic QR ที่ใช้ Payment Gateway เพราะ Gateway จะส่ง Webhook กลับมายัง URL ของร้าน ถ้าไม่มี HTTPS การเชื่อมต่ออาจถูกปฏิเสธและสถานะ Order จะไม่อัปเดต
QR Code PromptPay ไม่ขึ้นในหน้า Checkout เกิดจากอะไร?
มักเกิดจาก Plugin PromptPay เวอร์ชันเก่าที่ไม่เข้ากับ WooCommerce, Cache ค้าง หรือ Plugin อื่นขัดกัน ให้อัปเดต Plugin PromptPay ล้าง Cache ทั้งจาก Plugin และ Hosting แล้วทดสอบในโหมด Incognito
Webhook ในระบบชำระเงิน PromptPay คืออะไร?
Webhook คือ URL ของร้านที่ Payment Gateway เช่น Omise เรียกกลับมาแจ้งผลการชำระเงิน เพื่อให้ WooCommerce เปลี่ยนสถานะ Order ให้อัตโนมัติ ถ้า Webhook ตั้งผิด ไม่มี HTTPS หรือถูกบล็อก ลูกค้าโอนแล้ว Order จะค้างเป็น Pending
แหล่งอ้างอิง
- ธนาคารแห่งประเทศไทย. (ม.ป.ป.). PromptPay. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://www.bot.or.th/en/financial-innovation/digital-finance/digital-payment/promptpay.html
- Omise. (ม.ป.ป.). PromptPay. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://docs.omise.co/promptpay
- Omise. (ม.ป.ป.). Webhooks. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://docs.omise.co/api-webhooks
- Omise. (ม.ป.ป.). omise-page-settings.php (ซอร์สโค้ดปลั๊กอิน Omise for WooCommerce). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://github.com/omise/omise-woocommerce/blob/master/includes/admin/views/omise-page-settings.php
- WordPress.org. (ม.ป.ป.). Omise Payments (ปลั๊กอิน WordPress พร้อม changelog). สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://wordpress.org/plugins/omise/
- WooCommerce. (ม.ป.ป.). Customizing Cart and Checkout. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://woocommerce.com/document/woocommerce-store-editing/customizing-cart-and-checkout/
- WooCommerce. (ม.ป.ป.). Logging. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.woocommerce.com/docs/best-practices/data-management/logging/
- WooCommerce. (ม.ป.ป.). Configuring caching plugins. สืบค้นเมื่อ 3 พฤศจิกายน 2026, จาก https://developer.woocommerce.com/docs/best-practices/performance/configuring-caching-plugins
