เชื่อมต่อ Payment Gateway กับ n8n: Stripe, Omise, PromptPay
คู่มือเชื่อม n8n กับ Payment Gateway ยอดนิยม Stripe, Omise และ PromptPay เพื่อจัดการ payment events, ออกใบเสร็จ และอัปเดตออเดอร์อัตโนมัติ
Payment Gateway กับ n8n ทำงานร่วมกันอย่างไร
Payment Gateway ทุกเจ้าที่ทันสมัยมีระบบ Webhook ส่งแจ้งเตือนทุกครั้งที่มี payment event เช่น charge สำเร็จ, การชำระเงินล้มเหลว, หรือมีการ refund n8n รับ Webhook เหล่านี้แล้วดำเนินการต่อโดยอัตโนมัติ เช่น ส่งใบเสร็จ, อัปเดตสถานะออเดอร์, แจ้ง admin และ sync ข้อมูลเข้าระบบบัญชี
บทความนี้เป็นส่วนหนึ่งของคลัสเตอร์ Automation สำหรับร้านค้าออนไลน์ด้วย n8n
เปรียบเทียบ Payment Gateway สำหรับร้านออนไลน์ไทย
| ประเด็น | Stripe | Omise (Opn Payments) | PromptPay (ผ่าน Bank API) |
|---|---|---|---|
| n8n Node | มี | ไม่มี (ใช้ HTTP Request) | ไม่มี (ใช้ HTTP Request) |
| Webhook Support | ดีมาก | ดี | ขึ้นกับ Bank |
| บัตรต่างประเทศ | ดีที่สุด | ดี | ไม่รองรับ |
| PromptPay | ไม่รองรับ | รองรับ | รองรับ |
| ค่าธรรมเนียม | 3.6% | 3.65% | ต่ำมาก |
| เหมาะกับ | ร้านที่มีลูกค้าต่างชาติ | ร้านไทยทั่วไป | ร้านที่ต้องการประหยัด fee |
ส่วนที่ 1: Stripe + n8n
ข้อดีของ Stripe
Stripe มี node สำเร็จรูปใน n8n ที่รองรับ operations หลายอย่าง ทำให้ integrate ง่ายที่สุดในบรรดา payment gateway ทั้งหมด
ตั้งค่า Stripe Credential ใน n8n
- ไปที่ Stripe Dashboard → Developers → API Keys
- Copy
Secret Key(ใช้sk_test_สำหรับทดสอบ,sk_live_สำหรับ production) - ใน n8n: Settings → Credentials → New → “Stripe API” → ใส่ Secret Key
Workflow — เมื่อชำระเงินสำเร็จ
Stripe Trigger node (Event: charge.succeeded)
→ Set node (เตรียมข้อมูลใบเสร็จ)
→ Gmail node (ส่ง email ยืนยันพร้อมใบเสร็จ PDF)
→ Google Sheets (บันทึกรายการชำระเงิน)
→ LINE Notify Admin (แจ้งรับเงินแล้ว)
→ (Optional) WooCommerce node (อัปเดตสถานะออเดอร์)
Workflow — เมื่อชำระเงินล้มเหลว
Stripe Trigger node (Event: charge.failed)
→ Gmail node (ส่ง email แจ้งลูกค้าพร้อม retry link)
→ LINE Notify Admin (แจ้ง admin)
→ Google Sheets (บันทึก failed payment log)
Stripe Webhook Security
Stripe ส่ง header Stripe-Signature มาด้วยทุก Webhook request ต้อง verify ก่อนประมวลผล
// Code node สำหรับ verify Stripe Webhook
const stripe = require('stripe')($credentials.stripe_secret_key);
const sig = $input.headers['stripe-signature'];
const webhookSecret = $credentials.stripe_webhook_secret;
let event;
try {
event = stripe.webhooks.constructEvent(
$input.rawBody,
sig,
webhookSecret
);
} catch (err) {
throw new Error('Webhook signature verification failed');
}
return [{ json: event }];
ส่วนที่ 2: Omise (Opn Payments) + n8n
Omise เป็น payment gateway ที่นิยมในไทยมาก รองรับบัตรเครดิต, PromptPay, TrueMoney Wallet และ Installment
ตั้งค่า Omise ใน n8n
Omise ไม่มี node สำเร็จรูปใน n8n ต้องใช้ HTTP Request node พร้อม Basic Auth
- ไปที่ Omise Dashboard → API Keys
- Copy
Secret Key(ขึ้นต้นด้วยskey_) - ใน n8n: ใช้ HTTP Request node พร้อม Authentication: Basic Auth โดยใส่ Secret Key เป็น Username และเว้นว่าง Password
Omise Webhook Setup
- ไปที่ Omise Dashboard → Settings → Webhooks
- ใส่ URL ของ n8n Webhook node
- เลือก Events ที่ต้องการ เช่น
charge.complete,charge.failed,refund.create
Workflow — เมื่อ Omise Charge สำเร็จ
Webhook node (รับ Omise event)
→ IF node: event.key == "charge.complete"
→ HTTP Request (Omise API - ดึงรายละเอียด charge)
GET https://api.omise.co/charges/{{$json.data.id}}
Authentication: Basic Auth (Secret Key)
→ Set node (แปลงข้อมูลสำหรับใบเสร็จ)
→ Gmail/SendGrid (ส่งใบเสร็จ)
→ Google Sheets (บันทึก)
การ Verify Omise Webhook
Omise ส่ง Header X-Omise-Webhook-Signature สำหรับ verify
const crypto = require('crypto');
const webhookSecret = $credentials.omise_webhook_secret;
const signature = $input.headers['x-omise-webhook-signature'];
const body = JSON.stringify($input.body);
const expected = crypto
.createHmac('sha256', webhookSecret)
.update(body)
.digest('hex');
if (signature !== expected) {
throw new Error('Invalid webhook signature');
}
return [{ json: $input.body }];
ส่วนที่ 3: PromptPay QR Code + n8n
PromptPay เป็น payment method ที่ค่าธรรมเนียมต่ำที่สุด แต่การรู้ว่าใครจ่ายเงินมาต้องการ solution พิเศษ
วิธีที่ 1: ผ่าน Omise (แนะนำ)
Omise รองรับ PromptPay QR Code สร้างผ่าน API แล้วรับ Webhook เมื่อลูกค้าจ่ายเงิน
Webhook / Trigger (ลูกค้ากดชำระเงิน)
→ HTTP Request (Omise - สร้าง Charge ด้วย PromptPay source)
POST https://api.omise.co/charges
Body: { "amount": 100000, "currency": "thb", "source": { "type": "promptpay" } }
→ ส่ง QR Code ให้ลูกค้า (จาก response)
→ รอ Webhook charge.complete จาก Omise
วิธีที่ 2: ผ่าน Bank API (SCB Easy API, KBank KPayPlus)
ธนาคารใหญ่ในไทยมี API สำหรับ business ที่รองรับ PromptPay พร้อม Webhook เมื่อรับเงินสำเร็จ ต้องสมัครแยกกับแต่ละธนาคาร
การออกใบเสร็จอัตโนมัติ
ต่อจาก payment success ทุก workflow ควรมีขั้นตอนออกใบเสร็จ
ตัวเลือก A: HTML Email เป็นใบเสร็จ
สร้าง HTML template สำหรับใบเสร็จแล้วส่งผ่าน Gmail node
ตัวเลือก B: สร้าง PDF ด้วย n8n
ใช้ HTTP Request เรียก HTML-to-PDF service เช่น wkhtmltopdf ที่ self-host บน server เดียวกัน หรือ API ภายนอกเช่น PDFShift
ตัวเลือก C: เชื่อมระบบบัญชี
ส่งข้อมูล payment เข้า PEAK Account หรือ FlowAccount ผ่าน API เพื่อออกใบเสร็จจากระบบบัญชีโดยตรง
ข้อควรระวังด้านความปลอดภัย
อย่า expose Secret Key: Secret Key ของ payment gateway ต้องเก็บเป็น n8n Credential ไม่ใส่ตรงๆ ใน Workflow
ตรวจสอบ Webhook signature เสมอ: ทุก payment gateway ที่ดีมีระบบ signature verification อย่า skip ขั้นตอนนี้
ใช้ Test Mode ก่อน: ทดสอบ Workflow ทุกอย่างใน Test/Sandbox environment ก่อน activate กับเงินจริง
Log ทุก transaction: เก็บ log ครบทุก payment event ไว้ใน Google Sheets หรือ Database สำหรับ audit trail
สรุป
การเชื่อม n8n กับ Payment Gateway เปลี่ยนกระบวนการรับเงินจาก manual เป็น automated ตั้งแต่รับ event, ออกใบเสร็จ, แจ้งลูกค้า จนถึงอัปเดตสถานะออเดอร์ Stripe เหมาะสำหรับร้านที่ต้องการ node สำเร็จรูป ส่วน Omise เหมาะกับร้านไทยที่ต้องการ PromptPay เริ่มต้นด้วย Webhook charge.succeeded ก่อน แล้วค่อยต่อยอด
ดูบทความอื่นในชุด e-commerce automation ได้ที่ คู่มือ Automation ร้านค้าออนไลน์ฉบับเต็ม
อยากเรียน n8n แบบเป็นระบบ ตั้งแต่เริ่มต้นจนสร้าง Workflow ใช้งานจริงได้ ลองดู คอร์สสอน n8n ที่ aiunlock.co
Related posts
n8n x Lazada: ดึงออเดอร์และอัปเดตสต็อกอัตโนมัติ
คู่มือเชื่อม n8n กับ Lazada Open Platform API เพื่อดึงออเดอร์, อัปเดตสต็อก และแจ้งเตือนอัตโนมัติ สำหรับร้านค้าบน Lazada ไทย
n8n x Shopee: ระบบจัดการร้าน Shopee อัตโนมัติ
วิธีเชื่อม n8n กับ Shopee Partner API เพื่อดึงออเดอร์, อัปเดตสต็อก, และแจ้งเตือน LINE แบบอัตโนมัติสำหรับร้านค้าบน Shopee
เชื่อมต่อ ChatGPT กับ n8n: วิธีใช้ OpenAI API
วิธีเชื่อม ChatGPT และ OpenAI API กับ n8n ตั้งแต่สร้าง API Key จนถึงสร้าง Workflow AI ใช้งานจริง