ข้ามไปยังเนื้อหาหลัก

โหมดทดสอบกับโหมดจริง

Omise จัดเตรียมสภาพแวดล้อมทดสอบที่สมบูรณ์ซึ่งคุณสามารถพัฒนาและทดสอบการผูกรวมของคุณได้โดยไม่ต้องประมวลผลธุรกรรมจริงหรือใช้เงินจริง

สองสภาพแวดล้อมที่แยกกัน

Omise ดำเนินการสองสภาพแวดล้อมที่แยกออกโดยสมบูรณ์:

โหมดทดสอบ (Sandbox)

  • ฟรีในการใช้งาน - ไม่มีค่าใช้จ่ายหรือค่าธรรมเนียม
  • ทำงานได้เต็มรูปแบบ - ทดสอบฟีเจอร์และวิธีการชำระเงินทั้งหมด
  • ไม่มีเงินจริง - ธุรกรรมจำลองเท่านั้น
  • ไม่ต้องตรวจสอบ - เข้าถึงได้ทันทีหลังสมัคร
  • บัตรทดสอบ - ใช้หมายเลขบัตรพิเศษเพื่อจำลองสถานการณ์ต่างๆ
  • Dashboard แยก - Test Dashboard ที่ dashboard.omise.co

โหมดจริง (Production)

  • 💰 ธุรกรรมจริง - ประมวลผลเงินจริง
  • 💰 บัตรจริง - ลูกค้าใช้วิธีการชำระเงินจริงของพวกเขา
  • 💰 มีค่าธรรมเนียม - มีค่าธรรมเนียมธุรกรรมมาตรฐาน
  • 💰 ต้องตรวจสอบ - ต้องตรวจสอบธุรกิจ
  • 💰 Dashboard แยก - Live Dashboard ที่ dashboard.omise.co
การแยกอย่างสมบูรณ์

โหมดทดสอบและจริงแยกออกโดยสมบูรณ์ ข้อมูลทดสอบไม่มีผลต่อข้อมูลจริง และ charges ทดสอบไม่เคยประมวลผลเงินจริง

การสลับระหว่างโหมด

ความแตกต่างเดียวระหว่างโหมดทดสอบและจริงคือ API keys ที่คุณใช้:

โหมดPublic KeySecret Key
Testpkey_test_...skey_test_...
Livepkey_...skey_...
โค้ดเดียวกัน Keys ต่างกัน

โค้ดการผูกรวมของคุณยังคงเหมือนเดิม เพียงแค่สลับ API keys เมื่อคุณพร้อมที่จะเปิดใช้งานจริง!

ตัวอย่างโค้ด

// Development/Testing
const omise = require('omise')({
secretKey: 'skey_test_5xp6c8n0jvds5mmjizz' // Test key
});

// Production
const omise = require('omise')({
secretKey: 'skey_5xp6c8n0jvds5mmjizz' // Live key (ไม่มี "_test_")
});

ฟีเจอร์ Test Dashboard

เมื่อใช้โหมดทดสอบ คุณสามารถเข้าถึงฟีเจอร์การทดสอบพิเศษ:

1. การโอนอัตโนมัติ

ในโหมดทดสอบ เงินที่โอนจะปรากฏในยอดคงเหลือ "Transferable" ของคุณโดยอัตโนมัติ:

  • โหมดทดสอบ: ทันที ไม่มีระยะเวลารอ
  • โหมดจริง: 7 วัน (ไทย), 21 วัน (ญี่ปุ่น)

2. การควบคุมสถานะด้วยตนเอง

สำหรับวิธีการชำระเงินบางอย่าง คุณสามารถทำเครื่องหมาย charges เป็นสำเร็จหรือล้มเหลวด้วยตนเอง:

  1. ไปที่ charge ใน dashboard ของคุณ
  2. คลิก Actions
  3. เลือก Mark as Successful หรือ Mark as Failed

สิ่งนี้มีประโยชน์สำหรับการทดสอบวิธีการชำระเงินทางเลือกเช่นการโอนเงินผ่านธนาคารและการชำระเงิน QR

3. การทดสอบ Webhook

Test webhooks ทำงานเหมือนกับ live webhooks แต่ด้วยข้อมูลทดสอบ:

  • ส่งไปยัง webhook endpoint ที่คุณกำหนดค่า
  • รวมข้อมูลโหมดทดสอบ
  • ช่วยคุณพัฒนา webhook handlers ก่อนเปิดใช้งานจริง

4. การจำลอง Transfer

ทดสอบกระบวนการโอนที่สมบูรณ์:

  1. สร้าง charges
  2. รอให้เงินกลายเป็น transferable (ทันทีในการทดสอบ)
  3. สร้าง transfers
  4. ใช้ Mark as sent และ Mark as paid เพื่อจำลองการประมวลผลของธนาคาร

บัตรทดสอบ

ใช้หมายเลขบัตรพิเศษเหล่านี้ในโหมดทดสอบเพื่อจำลองสถานการณ์ต่างๆ:

การชำระเงินที่สำเร็จ

หมายเลขบัตรยี่ห้อ3DS
4242 4242 4242 4242Visaไม่
5555 5555 5555 4444Mastercardไม่
3530 1113 3330 0000JCBไม่
3782 822463 10005American Expressไม่
3600 666633 3344Diners Clubไม่
6011 1111 1111 1117Discoverไม่
วันหมดอายุและ CVV ใดก็ได้

ในโหมดทดสอบ ใช้วันหมดอายุในอนาคตใดก็ได้และรหัส CVV 3-4 หลักใดก็ได้ ค่าเฉพาะไม่สำคัญ

การชำระเงินที่ล้มเหลว

ทดสอบสถานการณ์ข้อผิดพลาดเฉพาะด้วยบัตรเหล่านี้:

หมายเลขบัตรError Codeข้อความแสดงข้อผิดพลาด
4000 0000 0000 0002insufficient_fundเงินไม่เพียงพอ
4000 0000 0000 0069stolen_or_lost_cardรายงานบัตรถูกขโมย
4000 0000 0000 0101failed_processingการประมวลผลการชำระเงินล้มเหลว
4000 0000 0000 0119payment_rejectedการชำระเงินถูกปฏิเสธโดยผู้ออก
4000 0000 0000 0127failed_fraud_checkตรวจสอบการฉ้อโกงล้มเหลว
4000 0000 0000 0010invalid_account_numberหมายเลขบัตรไม่ถูกต้อง

ตัวอย่าง:

curl https://vault.omise.co/tokens \
-X POST \
-u pkey_test_YOUR_KEY: \
-d "card[number]=4000000000000002" \
-d "card[name]=John Doe" \
-d "card[expiration_month]=12" \
-d "card[expiration_year]=2027" \
-d "card[security_code]=123"

# สิ่งนี้จะสร้าง charge ที่ล้มเหลวด้วย "insufficient_fund"

การทดสอบ 3D Secure

เพื่อทดสอบการ authentication 3D Secure (3DS):

  1. เปิดใช้งาน 3DS บนบัญชีทดสอบของคุณ (ติดต่อ support@omise.co)
  2. ใช้บัตรทดสอบ 3DS (ดูตารางด้านล่าง)
  3. คุณจะเห็นหน้า authentication จำลอง
  4. เลือก Complete หรือ Fail เพื่อทดสอบผลลัพธ์ที่แตกต่างกัน
หมายเหตุ

การทดสอบ 3DS ต้องการบัญชีทดสอบที่เปิดใช้งาน 3DS ติดต่อ support@omise.co เพื่อเปิดใช้งาน 3D Secure สำหรับบัญชีทดสอบของคุณ

เรียนรู้เพิ่มเติมเกี่ยวกับ 3D Secure →

การทดสอบวิธีการชำระเงิน

บัตรเครดิต/เดบิต

ใช้หมายเลขบัตรทดสอบข้างต้นกับ public key ของคุณเพื่อสร้าง tokens:

Omise.setPublicKey('pkey_test_YOUR_KEY');

Omise.createToken('card', {
name: 'John Doe',
number: '4242424242424242', // บัตรทดสอบ
expiration_month: 12,
expiration_year: 2027,
security_code: '123'
}, callback);

วิธีการชำระเงินทางเลือก

สำหรับวิธีการชำระเงินทางเลือก (PromptPay, TrueMoney, mobile banking ฯลฯ):

  1. สร้าง source/charge โดยใช้ test keys
  2. ในโหมดทดสอบ คุณจะเห็นหน้าการชำระเงินจำลอง
  3. ทำการชำระเงินให้เสร็จสมบูรณ์หรือยกเลิกเพื่อทดสอบสถานการณ์ต่างๆ
  4. หรือใช้ Mark as Successful/Failed ใน dashboard

ตัวอย่าง - PromptPay:

curl https://api.omise.co/sources \
-X POST \
-u skey_test_YOUR_KEY: \
-d "type=promptpay" \
-d "amount=100000" \
-d "currency=THB"

# ส่งคืนรหัส QR และหน้าการชำระเงินทดสอบ

การทดสอบ Webhooks

การตั้งค่า Test Webhooks

  1. ไปที่ Test Dashboard → SettingsWebhooks
  2. เพิ่ม webhook endpoint URL ของคุณ
  3. เลือกเหตุการณ์ที่จะรับ
  4. บันทึกการกำหนดค่า

ความต้องการสำหรับ Test Webhooks

  • ✅ URL ที่สามารถเข้าถึงได้สาธารณะ (ไม่ใช่ localhost)
  • ✅ HTTPS พร้อม SSL certificate ที่ถูกต้อง
  • ✅ ส่งคืนรหัสสถานะ 200
  • ✅ ตอบสนองภายใน 10 วินาที
การพัฒนาในเครื่อง

ใช้เครื่องมืออย่าง ngrok หรือ localtunnel เพื่อเปิดเผยเซิร์ฟเวอร์การพัฒนาในเครื่องของคุณสำหรับการทดสอบ webhook

การทดสอบการส่ง Webhook

  1. ทริกเกอร์เหตุการณ์ (สร้าง charge, refund ฯลฯ)
  2. ตรวจสอบ logs ของ webhook endpoint ของคุณ
  3. ตรวจสอบใน dashboard: SettingsWebhooksDelivery Logs

ตัวอย่าง Webhook Payload (โหมดทดสอบ):

{
"object": "event",
"id": "evnt_test_5xp6ch5pmx5c5zzfjc3",
"livemode": false,
"location": "/events/evnt_test_5xp6ch5pmx5c5zzfjc3",
"key": "charge.complete",
"created_at": "2024-01-15T08:00:00Z",
"data": {
"object": "charge",
"id": "chrg_test_5xp6ccfmecft4zxrb7p",
"livemode": false,
"status": "successful",
"amount": 100000,
"currency": "thb"
}
}

สังเกตฟิลด์ "livemode": false ที่ระบุโหมดทดสอบ

รายการตรวจสอบการทดสอบ

ก่อนเปิดใช้งานจริง ให้ทดสอบสถานการณ์เหล่านี้:

ฟังก์ชันพื้นฐาน

  • สร้าง charges ที่สำเร็จด้วยบัตรทดสอบ
  • จัดการ charges ที่ล้มเหลว (บัตรถูกปฏิเสธ)
  • ประมวลผล refunds (เต็มจำนวนและบางส่วน)
  • บันทึกบัตรใน customers
  • เรียกเก็บเงินจากบัตรที่บันทึกไว้

การจัดการข้อผิดพลาด

  • Network timeouts
  • หมายเลขบัตรไม่ถูกต้อง
  • การชำระเงินที่ถูกปฏิเสธ
  • เงินไม่เพียงพอ
  • API errors (พารามิเตอร์ไม่ถูกต้อง)

วิธีการชำระเงิน

  • วิธีการชำระเงินทั้งหมดที่คุณวางแผนจะรองรับ
  • วิธีการชำระเงินในภูมิภาคสำหรับตลาดของคุณ
  • สถานการณ์ทั้งที่สำเร็จและล้มเหลว

Webhooks

  • การส่งและแยกวิเคราะห์ webhook
  • ตรรกะการลองใหม่สำหรับการส่งที่ล้มเหลว
  • การตรวจสอบ signature
  • ประเภทเหตุการณ์ทั้งหมดที่คุณจัดการ

3D Secure (หากเปิดใช้งาน)

  • การตรวจสอบการลงทะเบียน 3DS
  • การ authentication ที่สำเร็จ
  • การ authentication ที่ล้มเหลว
  • การละทิ้งของผู้ใช้

ประสบการณ์ผู้ใช้

  • ความสามารถในการใช้งานฟอร์มการชำระเงิน
  • การตอบสนองมือถือ
  • การแสดงข้อความแสดงข้อผิดพลาด
  • การยืนยันความสำเร็จ
  • การแจ้งเตือนทางอีเมล

ความปลอดภัย

  • เก็บ API keys อย่างปลอดภัย
  • เปิดใช้งาน HTTPS
  • ไม่มีข้อมูลที่ละเอียดอ่อนใน logs
  • ข้อมูลบัตรไม่เคยถูกสัมผัสเซิร์ฟเวอร์ของคุณ

ดูคู่มือการทดสอบที่สมบูรณ์ →

ความแตกต่างระหว่างทดสอบและจริง

ฟีเจอร์โหมดทดสอบโหมดจริง
ธุรกรรมจำลองจริง
เงินปลอมจริง
บัตรบัตรทดสอบเท่านั้นบัตรจริงเท่านั้น
ค่าธรรมเนียมไม่มีค่าธรรมเนียมมีค่าธรรมเนียมมาตรฐาน
การตรวจสอบไม่ต้องต้องตรวจสอบธุรกิจ
กำหนดการโอนทันทีระยะเวลาพักเงิน 7-21 วัน
DashboardTest DashboardLive Dashboard
API Keysprefix _test_ไม่มี prefix _test_
Webhooksเหมือนกับจริงเหมือนกับทดสอบ

ปัญหาที่พบบ่อย

บัตรทดสอบไม่ทำงานในโหมดจริง

ปัญหา: หมายเลขบัตรทดสอบถูกปฏิเสธในโหมดจริง

วิธีแก้ไข: บัตรทดสอบทำงานกับ test keys เท่านั้น ใช้บัตรจริงในโหมดจริง (เริ่มด้วยจำนวนเล็กๆ สำหรับการทดสอบ)

บัตรจริงไม่ทำงานในโหมดทดสอบ

ปัญหา: หมายเลขบัตรจริงถูกปฏิเสธในโหมดทดสอบ

วิธีแก้ไข: โหมดทดสอบยอมรับเฉพาะหมายเลขบัตรทดสอบพิเศษเท่านั้น อย่าทดสอบด้วยบัตรจริงในโหมดทดสอบ

Webhooks ไม่ส่งในเครื่อง

ปัญหา: Webhooks ไม่เข้าถึงเซิร์ฟเวอร์การพัฒนาในเครื่องของคุณ

วิธีแก้ไข: ใช้บริการ tunnel เช่น ngrok:

# เริ่ม ngrok
ngrok http 3000

# ใช้ HTTPS URL ในการตั้งค่า webhook ของคุณ
https://abc123.ngrok.io/webhooks

ข้อมูลทดสอบหายไป

ปัญหา: ไม่พบ test charges หรือข้อมูลใน live dashboard

วิธีแก้ไข: สภาพแวดล้อมทดสอบและจริงแยกออกโดยสมบูรณ์ ดูข้อมูลทดสอบในแท็บ Test Dashboard ไม่ใช่ Live Dashboard

FAQ

ฉันสามารถใช้ test keys ใน production ได้หรือไม่?

ไม่ได้ test keys จะไม่ทำงานกับวิธีการชำระเงินจริง การพยายามใช้ test keys ใน production จะส่งผลให้เกิดข้อผิดพลาดการ authentication ใช้ live keys สำหรับ production เสมอ

ฉันต้องลบข้อมูลทดสอบก่อนเปิดใช้งานจริงหรือไม่?

ไม่จำเป็น! สภาพแวดล้อมทดสอบและจริงแยกออกโดยสมบูรณ์ ข้อมูลทดสอบยังคงอยู่ในสภาพแวดล้อมทดสอบและไม่มีผลต่อบัญชีจริงของคุณในทางใดๆ

ฉันจะทดสอบได้อย่างไรโดยไม่มี webhook endpoint สาธารณะ?

ตัวเลือก:

  1. ใช้ ngrok หรือเครื่องมือที่คล้ายกัน เพื่อเปิดเผยเซิร์ฟเวอร์ในเครื่องของคุณ
  2. Deploy ไปยัง staging environment ด้วย public URL
  3. ใช้เครื่องมือทดสอบ webhook เช่น webhook.site เพื่อตรวจสอบ payloads
  4. ทริกเกอร์เหตุการณ์ด้วยตนเอง และตรวจสอบ logs การส่งใน dashboard
ลูกค้าสามารถจ่ายเงินโดยไม่ตั้งใจด้วย test keys ได้หรือไม่?

ไม่ได้ test keys ทำงานกับวิธีการชำระเงินทดสอบเท่านั้น ลูกค้าจริงไม่สามารถทำการชำระเงินให้เสร็จสมบูรณ์โดยใช้ test keys ซึ่งป้องกันการใช้โดยไม่ตั้งใจใน production

ฉันสามารถใช้โหมดทดสอบได้นานแค่ไหน?

ตลอดไป! ไม่มีขีดจำกัดเวลาในโหมดทดสอบ ใช้สำหรับ:

  • การพัฒนาและทดสอบ
  • การฝึกอบรมนักพัฒนาใหม่
  • การทดสอบฟีเจอร์ใหม่ก่อน deploy
  • การสาธิตการผูกรวมของคุณ
มี rate limits ในโหมดทดสอบหรือไม่?

ใช่ rate limits เดียวกันใช้ในโหมดทดสอบเช่นเดียวกับโหมดจริง สิ่งนี้ช่วยให้คุณทดสอบว่าแอปพลิเคชันของคุณจัดการ rate limiting อย่างไร

เรียนรู้เกี่ยวกับ rate limits →

การเปิดใช้งานจริง

เมื่อคุณทดสอบการผูกรวมของคุณอย่างละเอียดแล้ว:

  1. ดำเนินการตรวจสอบธุรกิจให้เสร็จ - ส่งเอกสารที่ต้องการ
  2. รับ live API keys - พร้อมใช้งานใน Live Dashboard หลังการตรวจสอบ
  3. อัปเดตโค้ดของคุณ - แทนที่ test keys ด้วย live keys
  4. ทดสอบด้วยบัตรจริง - ทำการซื้อทดสอบขนาดเล็กก่อน
  5. ตรวจสอบอย่างใกล้ชิด - ดู dashboard และ webhook logs ของคุณ
  6. ขยายขนาดทีละน้อย - เริ่มด้วยปริมาณต่ำและเพิ่มขึ้น

ดูรายการตรวจสอบการเปิดใช้งานจริง →


พร้อมที่จะทดสอบหรือไม่? รับ test API keys ของคุณและเริ่มสร้าง!

มีคำถามหรือไม่? ตรวจสอบคู่มือการทดสอบที่สมบูรณ์ของเรา หรือติดต่อ support@omise.co