โหมดทดสอบ
ทดสอบการรวมตัวของคุณอย่างปลอดภัยด้วยคีย์ API ทดสอบโดยไม่ต้องประมวลผลการชำระเงินจริงหรือส่งผลกระทบต่อข้อมูลการผลิต
ภาพรวม
Omise ให้สภาพแวดล้อมการทดสอบและการผลิตที่แยกต่างหาก ใช้โหมดทดสอบระหว่างการพัฒนาเพื่อตรวจสอบการรวมตัวของคุณก่อนประมวลผลเงินจริงในการผลิต
คุณสมบัติโหมดทดสอบ:
- 🔐 คีย์ API แยกต่างหาก - คีย์ทดสอบเริ่มต้นด้วย pkey_test_ และ skey_test_
- 💳 การ์ดทดสอบ - หมายเลขการ์ดพิเศษสำหรับสถานการณ์การทดสอบ
- 💰 ไม่มีเงินจริง - ธุรกรรมทั้งหมดจะถูกจำลอง
- 🔄 การเข้าถึง API แบบเต็ม - ทดสอบฟีเจอร์ทั้งหมดและวิธีการชำระเงิน
- 📊 แดชบอร์ดทดสอบ - ดูธุรกรรมทดสอบแยกต่างหาก
คีย์ API
คีย์ทดสอบเทียบกับคีย์สด
| ประเภทคีย์ | คำนำหน้า | สภาพแวดล้อม | ธุรกรรมจริง |
|---|---|---|---|
| คีย์สาธารณะทดสอบ | pkey_test_ | ทดสอบ | ❌ ไม่มี |
| คีย์ลับทดสอบ | skey_test_ | ทดสอบ | ❌ ไม่มี |
| คีย์สาธารณะสด | pkey_live_ | การผลิต | ✅ ใช่ |
| คีย์ลับสด | skey_live_ | การผลิต | ✅ ใช่ |
รับคีย์ทดสอบ
- เข้าสู่ระบบ Omise Dashboard
- นำทางไปยัง Settings → API Keys
- คัดลอกคีย์ทดสอบของคุณ (เริ่มต้นด้วย pkey_test_ และ skey_test_)
// การตั้งค่าโหมดทดสอบ
const omise = require('omise')({
publicKey: 'pkey_test_5xb...', // คีย์สาธารณะทดสอบ
secretKey: 'skey_test_5xb...' // คีย์ลับทดสอบ
});
ไม่ต้องยืนยันคีย์
อย่าคำมติคีย์ API ไปยังการควบคุมเวอร์ชัน ใช้ตัวแปรสภาพแวดล้อม:
OMISE_PUBLIC_KEY=pkey_test_...
OMISE_SECRET_KEY=skey_test_...
การ์ดทดสอบ
สถานการณ์ความสำเร็จ
| หมายเลขการ์ด | ยี่ห้อ | ผลลัพธ์ |
|---|---|---|
| 4242424242424242 | Visa | สำเร็จ (ไม่มี 3DS) |
| 5555555555554444 | Mastercard | สำเร็จ (ไม่มี 3DS) |
| 3566111111111113 | JCB | สำเร็จ (ไม่มี 3DS) |
วันหมดอายุ: วันที่ใดๆ ในอนาคต (เช่น 12/25) CVV: ตัวเลข 3 หลักใดๆ (เช่น 123)
การ์ด 3D Secure ทดสอบ
| หมายเลขการ์ด | ยี่ห้อ | พฤติกรรม 3DS |
|---|---|---|
| 4000000000003220 | Visa | 3DS จำเป็น การตรวจสอบสิทธิ์สำเร็จ |
| 4000000000009235 | Visa | 3DS จำเป็น การตรวจสอบสิทธิ์ล้มเหลว |
| 5200000000001096 | Mastercard | 3DS จำเป็น สำเร็จ |
สถานการณ์ปฏิเสธ
| หมายเลขการ์ด | ประเภทข้อผิดพลาด |
|---|---|
| 4000000000000002 | การ์ดปฏิเสธ |
| 4000000000009995 | เงินไม่พอ |
| 4000000000000069 | การ์ดหมดอายุ |
| 4000000000000127 | CVC ไม่ถูกต้อง |
| 4000000000000119 | ข้อผิดพลาดในการประมวลผล |
ทดสอบจำนวนเงินเฉพาะ
ใช้จำนวนเงินเหล่านี้กับการ์ดทดสอบใดๆ เพื่อจำลองสถานการณ์:
| จำนวนเงิน | ผลลัพธ์ |
|---|---|
| 100.00 | สำเร็จ |
| 100.02 | การ์ดปฏิเสธ |
| 100.05 | เงินไม่พอ |
| 100.41 | ข้อผิดพลาดในการประมวลผล |
ทดสอบวิธีการชำระเงิน
กระเป๋าเงินดิจิทัล (โหมดทดสอบ)
// สร้างการชำระเงินที่กระเป๋าเงินทดสอบ
const source = await omise.sources.create({
type: 'truemoney',
amount: 50000,
currency: 'THB'
});
// ในโหมดทดสอบ คุณสามารถจำลองความสำเร็จ/ความล้มเหลว
const charge = await omise.charges.create({
amount: 50000,
currency: 'THB',
source: source.id
});
// ในโหมดทดสอบ ค่าใช้เสร็จสิ้นทันที
โอนเงินธนาคาร (โหมดทดสอบ)
// ทดสอบมือถือการทำงานธนาคาร
const source = await omise.sources.create({
type: 'mobile_banking_scb',
amount: 100000,
currency: 'THB'
});
// โหมดทดสอบจำลองการอนุมัติของธนาคาร
const charge = await omise.charges.create({
amount: 100000,
currency: 'THB',
source: source.id,
return_uri: 'https://yourdomain.com/callback'
});
// ในการทดสอบ การเปลี่ยนเส้นทางจะแสดงหน้าทดสอบ
การชำระเงิน QR (โหมดทดสอบ)
// PromptPay ทดสอบ
const source = await omise.sources.create({
type: 'promptpay',
amount: 100000,
currency: 'THB'
});
// สร้างรหัส QR ในโหมดทดสอบ
const qrCode = source.scannable_code.image.download_uri;
// สามารถอัปเดตสถานะค่าใช้ได้ด้วยตนเองในแดชบอร์ดทดสอบ
แดชบอร์ดทดสอบ
เข้าถึงข้อมูลทดสอบที่: https://dashboard.omise.co/test/
คุณสมบัติแดชบอร์ดทดสอบ:
- ดูธุรกรรมทดสอบทั้งหมด
- ตัวกรองตามวิธีการชำระเงิน
- ทดสอบการส่งมอบ webhook
- อัปเดตสถานะค่าใช้ด้วยตนเอง
- สร้างรายงานการทดสอบ
อัปเดตค่าใช้ด้วยตนเอง
ในโหมดทดสอบ คุณสามารถอัปเดตสถานะค่าใช้ด้วยตนเอง:
- ไปที่แดชบอร์ดทดสอบ
- ค้นหาค่าใช้ทดสอบ
- คลิก "เปลี่ยนสถานะ"
- เลือก: สำเร็จ ล้มเหลว หรื อหมดอายุ
ทดสอบ Webhook
ทดสอบเหตุการณ์ Webhook
// ทดสอบ webhook ในเครื่องด้วย ngrok
// 1. เริ่ม ngrok: ngrok http 3000
// 2. เพิ่ม webhook URL ในแดชบอร์ด: https://xxx.ngrok.io/webhooks
app.post('/webhooks/omise', (req, res) => {
const event = req.body;
console.log('webhook ทดสอบได้รับ:', event.key);
console.log('สถานะค่าใช้:', event.data.status);
res.sendStatus(200);
});
ทดสอบ Webhook ตัวกระตุ้น
จากแดชบอร์ดทดสอบ:
- เลือกค่าใช้ทดสอบ
- คลิก "ส่ง Webhook"
- เลือกประเภทเหตุการณ์
- ส่ง webhook ไปยังจุดปลายทางของคุณ
ตัวแปรสภาพแวดล้อม
# ไฟล์ .env
NODE_ENV=development
# คีย์ทดสอบสำหรับการพัฒนา
OMISE_PUBLIC_KEY=pkey_test_5xb...
OMISE_SECRET_KEY=skey_test_5xb...
# คีย์สดสำหรับการผลิต (ไฟล์อื่น)
# OMISE_PUBLIC_KEY=pkey_live_5xb...
# OMISE_SECRET_KEY=skey_live_5xb...
// โหลดตามสภาพแวดล้อม
const omise = require('omise')({
publicKey: process.env.OMISE_PUBLIC_KEY,
secretKey: process.env.OMISE_SECRET_KEY
});
// ตรวจสอบโหมด
const isTestMode = process.env.OMISE_SECRET_KEY.startsWith('skey_test_');
console.log('ทำงานใน:', isTestMode ? 'ทดสอบ' : 'สด');