WooCommerce
ระบบ Subscription บน WooCommerce คืออะไร?
ระบบ Subscription หรือการสมัครสมาชิกแบบรายเดือน/รายปี คือวิธีการขายสินค้าหรือบริการที่บังคับให้ลูกค้าจ่ายเงินแบบ Recurring Payment (จ่ายเงินซ้ำๆ ตามที่กำหนด) ตัวอย่างเช่น:
- สมัครสมาชิกออนไลน์ (Monthly Membership)
- บริการรับข้อมูลสินค้าใหม่ทุกเดือน (Newsletter Premium)
- การสั่งซื้อสินค้าประจำที่ส่งมาทุกเดือน (Subscription Box)
- บริการ Premium Support ต่อเดือน (Annual Contract)
ข้อดีของ Subscription คือ ลดการขาดทุนด้านรายได้ที่ไม่แน่นอน และสร้างรายได้ประจำทุกเดือนที่เสถียร ลูกค้าจะถูกเรียกเก็บเงินโดยอัตโนมัติตามช่วงเวลาที่กำหนด
วิธีตั้งค่า Subscription บน WooCommerce
WooCommerce ไม่มีฟีเจอร์ Subscription ในตัว (default) คุณต้องติดตั้งปลั๊กอินสำหรับ Subscription อย่างไรก็ตาม ขั้นตอนพื้นฐานเหมือนกัน:
ขั้นตอนที่ 1: ติดตั้งปลั๊กอิน Subscription
ให้ไปที่ WordPress Admin > Plugins > Add New และค้นหา "Subscription" ปลั๊กอินสำหรับ Subscription มักรองรับ Payment Gateway ต่างๆ เช่น Stripe, PayPal, Square เป็นต้น เลือกปลั๊กอินที่รองรับ Payment Gateway ที่คุณใช้งาน และติดตั้ง Activate ได้เลย
ขั้นตอนที่ 2: สร้างสินค้า Subscription
ไปที่ WooCommerce > Products > Add New (หรือ Edit Product เดิม)
- ใส่ชื่อและรายละเอียดสินค้า
- ในส่วน Product Type เลือก "Subscription" (ถ้ามี) หรือเลือก "Simple Subscription"
- ตั้งค่า Subscription Details:
- Subscription Price — ราคาที่เรียกเก็บทุกครั้ง (เช่น 99 บาท/เดือน)
- Billing Interval — ช่วงเวลาการเรียกเก็บ (Monthly = เดือนละครั้ง, Yearly = ปีละครั้ง)
- Subscription Length — ระยะเวลาสมัครสมาชิก (Infinite = ไม่มีกำหนด จนกว่าลูกค้าจะยกเลิก)
- Trial Period — (optional) ให้ลูกค้าทดลองฟรีกี่วัน ก่อนเรียกเก็บเงินครั้งแรก
- ตั้งค่า Payment Gateway เพื่อให้ระบบสามารถเรียกเก็บเงินซ้ำได้
- คลิก Publish
ขั้นตอนที่ 3: เชื่อมต่อ Payment Gateway ให้รองรับ Recurring Payment
Payment Gateway เช่น Stripe, PayPal เรียบร้อยแล้วรองรับ Recurring Payment ใหม่ต้อง:
- ไปที่ WooCommerce > Settings > Payments
- เลือก Payment Gateway ที่คุณใช้ (เช่น Stripe)
- ตรวจสอบว่า "Enable Subscriptions" หรือ "Recurring Payments" เปิดใช้งานแล้ว
- ใส่ API Key ให้ถูกต้อง
- บันทึก
ข้อควรทราบเมื่อตั้งค่า Subscription
เมื่อสินค้า Subscription เปิดใช้แล้ว มีเรื่องที่ต้องระวัง:
- ลูกค้าต้องสร้าง Account ก่อน — Guest Checkout (การสั่งซื้อโดยไม่สร้าง Account) อาจไม่ใช้งานได้กับ Subscription ลูกค้าต้องมี Customer Account เพื่อให้ระบบสามารถเก็บข้อมูล Payment Method และเรียกเก็บเงินซ้ำ
- Payment Method ต้องเก็บไว้ — คุณต้องขออนุญาตจากลูกค้าเพื่อเก็บ Credit Card หรือ Payment Method ตามกฎ PCI Compliance ต้องไม่เก็บข้อมูล Card สมบูรณ์บนเซิร์ฟเวอร์ของคุณ ใช้ Payment Gateway เก็บแทน (Token Storage)
- Renewal Reminder ต้องให้ลูกค้าทราบ — ส่ง Email แจ้งเตือนลูกค้าก่อนการเรียกเก็บเงินครั้งต่อไป 7-14 วัน
- ยอมให้ลูกค้ายกเลิก (Cancel) ได้ง่าย — ตามกฎ Consumer Protection ลูกค้าต้องสามารถยกเลิก Subscription ได้ง่าย ผ่าน My Account Dashboard
ตรวจสอบว่า Subscription ทำงานถูกต้อง
เมื่อตั้งค่า Subscription เสร็จแล้ว ให้ทดสอบด้วยขั้นตอนต่อไปนี้:
# 1. ตรวจสอบว่าสินค้า Subscription ปรากฏตามปกติในหน้าร้านค้า
curl -s https://yourdomain.com/shop/subscription-product-name | grep -i "subscription" | head -5
# 2. ตรวจสอบ Subscription ใน Database (ถ้าเข้า phpMyAdmin ได้)
SELECT * FROM wp_postmeta WHERE post_id = 123 AND meta_key LIKE '%subscription%';
# 3. ลองสั่งซื้อ Subscription ผ่าน Test Mode
# ไปที่ร้านค้า > เพิ่มสินค้า Subscription > Checkout > ใส่ Payment Test Card
# 4. ตรวจสอบใน Payment Gateway Dashboard (Stripe/PayPal) ว่า Subscription สร้างสำเร็จ
# 5. ส่ง Email Test ให้ลูกค้า (Subscription Confirmation)
แก้ปัญหาที่พบบ่อย
Error: "Payment method does not support subscriptions"
เกิดเมื่อ Payment Gateway ที่คุณกำลังใช้ไม่รองรับ Subscription ตรวจสอบว่า:
- Payment Gateway ของคุณเป็นเวอร์ชันล่าสุด
- Account ของคุณ (Stripe/PayPal) ถูก Activate สำหรับ Recurring Payments
- การตั้งค่าใน WooCommerce > Settings > Payments บอก Enable Subscriptions แล้ว
Error: "Subscription product cannot be purchased as guest"
ลูกค้ามีการพยายาม Checkout โดยไม่มี Account Subscription ต้องการ Account เพื่อติดตามการจ่ายเงินซ้ำ
วิธีแก้: บังคับให้ลูกค้าต้องสร้าง Account ก่อนการซื้อ Subscription ไปที่ WooCommerce > Settings > Accounts & Privacy เลือก "Allow customers to create an account during checkout"
Error: "Renewal payment failed" — ลูกค้าไม่ได้รับ Renewal
เกิดเมื่อการจ่ายเงินซ้ำล้มเหลว โดยทั่วไปเพราะ:
- Card หมดอายุ (Payment Method ใช้ไม่ได้)
- Account ของลูกค้าไม่มี Credit ที่พอ
- Payment Gateway ปฏิเสธการจ่ายเงินด้วยเหตุผล Risk (ใช้ VPN, IP ประเทศอื่น)
วิธีแก้: ส่ง Email แจ้งลูกค้าให้อัพเดท Payment Method ให้มีผลบังคับใช้ หรือสมัครใหม่
Error: "Subscription shows in order but not in Payment Gateway"
สินค้า Subscription ปรากฏใน WooCommerce Order แต่ไม่ปรากฏในหน้าจัดการ Subscription ของ Payment Gateway
วิธีแก้: ตรวจสอบว่า API Connection ระหว่าง WooCommerce กับ Payment Gateway ทำงาน โดยตรวจสอบ Log ที่ WooCommerce > Status เลือก "Logs" ดูว่ามี Error กับ API นั้นหรือไม่
คำถามที่พบบ่อย
Q: ลูกค้าสามารถ Pause หรือ Skip Subscription ได้หรือไม่?
A: ได้ บางปลั๊กอินรองรับ Pause และ Skip Subscription ถ้าปลั๊กอินที่คุณใช้รองรับ สามารถเปิดใช้ได้ผ่าน Settings ลูกค้าสามารถ Pause ไว้ได้ไม่กี่เดือน และเรียกเก็บเงินต่อเมื่อ Pause หมดสิ้น
Q: เก็บ Customer Payment Method ได้อย่างปลอดภัยไหม?
A: ต้องใช้ Payment Gateway ที่ Tokenize Payment Method (เช่น Stripe, PayPal) เซิร์ฟเวอร์ของคุณไม่ควรเก็บ Credit Card ข้อมูลแบบเต็มเลข Payment Gateway จะเก็บเป็น Token (รหัสอ้างอิง) ซึ่งปลอดภัยตามมาตรฐาน PCI
Q: ถ้าลูกค้ายกเลิก Subscription แล้วอยากซื้อใหม่ได้ไหม?
A: ได้ ลูกค้าสามารถซื้อ Subscription ใหม่ได้เสมอ แม้ว่ายกเลิกครั้งที่แล้ว เพียงแต่บางปลั๊กอินอาจต้องรอเวลาหนึ่ง (เช่น 24 ชั่วโมง) ให้ Payment Gateway ประมวลผลการยกเลิกเสร็จ แล้ว ลูกค้าจึงสามารถสมัครใหม่ได้