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

คู่มือเริ่มต้นด่วน

สร้าง test charge ครั้งแรกของคุณใน 5 นาที คู่มือนี้จะแนะนำคุณในการทำการเรียก API ครั้งแรกเพื่อรับการชำระเงิน

สิ่งที่คุณจะสร้าง

เมื่อจบคู่มือนี้ คุณจะได้:

  • ✅ สร้างบัญชีทดสอบ Omise
  • ✅ หา API keys ของคุณ
  • ✅ ทำการเรียก API ครั้งแรกของคุณ
  • ✅ สร้าง test charge ที่สำเร็จ
  • ✅ เข้าใจกระบวนการชำระเงินพื้นฐาน

เวลาที่ต้องใช้: 5-10 นาที

ขั้นตอนที่ 1: สร้างบัญชีของคุณ

  1. ไปที่ dashboard.omise.co/signup
  2. กรอกที่อยู่อีเมลของคุณ
  3. สร้างรหัสผ่าน (อย่างน้อย 10 ตัวอักษรพร้อมตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก ตัวเลข และอักขระพิเศษเช่น @ # ?)
  4. คลิก Register
  5. ยืนยันที่อยู่อีเมลของคุณ
การเข้าถึงทันที

คุณจะได้รับการเข้าถึง test dashboard ของคุณทันที - ไม่ต้องตรวจสอบธุรกิจ!

ขั้นตอนที่ 2: รับ API Keys ของคุณ

  1. เข้าสู่ระบบ Test Dashboard ของคุณ
  2. ไปที่ SettingsKeys
  3. คุณจะเห็น keys สองตัว:
    • Public Key (pkey_test_...) - สำหรับการดำเนินการฝั่ง client
    • Secret Key (skey_test_...) - สำหรับการดำเนินการฝั่ง server
รักษา Keys ให้ปลอดภัย

อย่าเปิดเผย secret key ของคุณในโค้ดฝั่ง client หรือ repositories สาธารณะ!

ขั้นตอนที่ 3: สร้าง Charge ครั้งแรกของคุณ

Omise ใช้กระบวนการสองขั้นตอนในการรับการชำระเงิน:

ทำความเข้าใจกระบวนการ

ขั้นตอนที่ 3a: สร้าง Token

ก่อนอื่น tokenize วิธีการชำระเงินโดยใช้ public key ของคุณ สิ่งนี้จะช่วยให้ข้อมูลบัตรไม่ผ่านเซิร์ฟเวอร์ของคุณ

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

Response:

{
"object": "token",
"id": "tokn_test_5xp6ca4dtzx5cskm9mk",
"livemode": false,
"location": "/tokens/tokn_test_5xp6ca4dtzx5cskm9mk",
"used": false,
"card": {
"object": "card",
"id": "card_test_5xp6ca3y2vtgcw24o9p",
"livemode": false,
"brand": "Visa",
"last_digits": "4242",
"expiration_month": 12,
"expiration_year": 2027
},
"created_at": "2024-01-15T07:30:00Z"
}

บันทึกค่า token.id - คุณจะต้องใช้มันในขั้นตอนถัดไป!

ขั้นตอนที่ 3b: สร้าง Charge

ตอนนี้ใช้ token กับ secret key ของคุณเพื่อสร้าง charge บนเซิร์ฟเวอร์ของคุณ

curl https://api.omise.co/charges \
-X POST \
-u skey_test_YOUR_SECRET_KEY: \
-d "amount=100000" \
-d "currency=thb" \
-d "card=tokn_test_5xp6ca4dtzx5cskm9mk"

Response:

{
"object": "charge",
"id": "chrg_test_5xp6ccfmecft4zxrb7p",
"location": "/charges/chrg_test_5xp6ccfmecft4zxrb7p",
"amount": 100000,
"currency": "thb",
"status": "successful",
"paid": true,
"transaction": "trxn_test_5xp6ccfmvcsm7ih0c8w",
"card": {
"object": "card",
"id": "card_test_5xp6ca3y2vtgcw24o9p",
"livemode": false,
"brand": "Visa",
"last_digits": "4242"
},
"created_at": "2024-01-15T07:30:15Z"
}

🎉 ยินดีด้วย! คุณได้สร้าง charge ครั้งแรกของคุณสำเร็จแล้ว!

ขั้นตอนที่ 4: ดูใน Dashboard

  1. ไปที่ Test Dashboard ของคุณ
  2. คลิกที่ Charges ในเมนูด้านซ้าย
  3. คุณจะเห็น test charge ของคุณที่มีสถานะ "Successful"

บัตรทดสอบ

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

หมายเลขบัตรยี่ห้อผลลัพธ์
4242 4242 4242 4242Visa✅ สำเร็จ
5555 5555 5555 4444Mastercard✅ สำเร็จ
3530 1113 3330 0000JCB✅ สำเร็จ
3782 822463 10005Amex✅ สำเร็จ
วันหมดอายุและ CVV ใดก็ได้

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

ดูบัตรทดสอบทั้งหมด →

ขั้นตอนถัดไป

ตอนนี้คุณได้สร้าง charge แรกแล้ว นี่คือสิ่งที่ควรสำรวจต่อไป:

1. สร้าง Checkout จริง

ใช้ Omise.js สำหรับ Production

เรียนรู้วิธีการสร้างกระบวนการ checkout ที่สมบูรณ์พร้อมฟอร์มการชำระเงิน

ดูคู่มือ Omise.js →

2. สำรวจวิธีการชำระเงิน

เพิ่มตัวเลือกการชำระเงินเพิ่มเติม

รับ PromptPay, TrueMoney, mobile banking และวิธีการชำระเงินอื่นๆ มากกว่า 40 วิธี

เรียกดูวิธีการชำระเงิน →

3. จัดการ Webhooks

รับการอัปเดตแบบเรียลไทม์

รับการแจ้งเตือนเมื่อการชำระเงินสำเร็จ ล้มเหลว หรือได้รับการคืนเงิน

ตั้งค่า Webhooks →

4. ทดสอบอย่างละเอียด

ทดสอบทุกสถานการณ์

จำลองความล้มเหลว การคืนเงิน และวิธีการชำระเงินที่แตกต่างกัน

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

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

เปิดตัวสู่ Production

ดำเนินการตรวจสอบธุรกิจของคุณให้เสร็จและเริ่มรับการชำระเงินจริง

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

ปัญหาที่พบบ่อยและวิธีแก้ไข

การสร้าง Token ล้มเหลว

ปัญหา: ได้รับข้อผิดพลาดการ authentication เมื่อสร้าง tokens

วิธีแก้ไข:

  • ตรวจสอบว่าคุณกำลังใช้ public key ของคุณ (เริ่มต้นด้วย pkey_)
  • ตรวจสอบว่า key นั้นอยู่ในโหมดทดสอบ (pkey_test_...)
  • ตรวจสอบว่า key ใช้งานอยู่ใน dashboard ของคุณ

การสร้าง Charge ล้มเหลว

ปัญหา: Charge ส่งคืนข้อผิดพลาดหรือคำขอไม่ถูกต้อง

วิธีแก้ไข:

  • ตรวจสอบว่าคุณกำลังใช้ secret key ของคุณ (เริ่มต้นด้วย skey_)
  • ตรวจสอบว่า token ยังไม่ถูกใช้แล้ว (tokens สามารถใช้ได้ครั้งเดียว)
  • ตรวจสอบว่าจำนวนอยู่ในหน่วยสกุลเงินที่เล็กที่สุด (เช่น สตางค์สำหรับ THB)
  • ตรวจสอบว่ารหัสสกุลเงินถูกต้อง (เช่น thb, jpy, sgd)

บัตรถูกปฏิเสธในโหมดทดสอบ

ปัญหา: บัตรทดสอบถูกปฏิเสธ

วิธีแก้ไข:

  • ใช้หมายเลขบัตรทดสอบที่ถูกต้องจากรายการของเรา
  • ตรวจสอบว่าคุณอยู่ในโหมดทดสอบ (ใช้ test keys)
  • ตรวจสอบว่าคุณกำลังใช้วันหมดอายุในอนาคต

FAQ

ทำไมฉันต้องมีทั้ง token และ charge?

กระบวนการสองขั้นตอนช่วยให้การผูกรวมของคุณปลอดภัย:

  1. การสร้าง Token เกิดขึ้นบน client (เบราว์เซอร์/แอป) โดยใช้ public key ของคุณ วิธีนี้ ข้อมูลบัตรที่ละเอียดอ่อนจะไปที่ Omise โดยตรงโดยไม่ผ่านเซิร์ฟเวอร์ของคุณ

  2. การสร้าง Charge เกิดขึ้นบนเซิร์ฟเวอร์ของคุณโดยใช้ secret key ของคุณ เซิร์ฟเวอร์ของคุณใช้ token (ไม่ใช่ข้อมูลบัตรดิบ) เพื่อทำการชำระเงินให้เสร็จสมบูรณ์

การแยกความกังวลนี้ช่วยลดภาระการปฏิบัติตาม PCI ของคุณและรักษาความปลอดภัยข้อมูลลูกค้า

ฉันสามารถใช้ tokens ซ้ำได้หรือไม่?

ไม่ได้ tokens สามารถใช้ได้ครั้งเดียวเท่านั้น เมื่อคุณสร้าง charge ด้วย token แล้ว token นั้นจะไม่สามารถใช้อีกครั้งได้

หากต้องการเรียกเก็บเงินจากลูกค้าหลายครั้ง คุณต้อง:

รองรับสกุลเงินอะไรบ้าง?

สกุลเงินที่รองรับขึ้นอยู่กับภูมิภาคของบัญชีของคุณ:

  • ไทย: THB (บาทไทย)
  • ญี่ปุ่น: JPY (เยนญี่ปุ่น)
  • สิงคโปร์: SGD (ดอลลาร์สิงคโปร์)
  • มาเลเซีย: MYR (ริงกิตมาเลเซีย)

บัญชีบางบัญชีอาจรองรับหลายสกุลเงิน ตรวจสอบ dashboard ของคุณสำหรับตัวเลือกที่พร้อมใช้งาน

เรียนรู้เกี่ยวกับหลายสกุลเงิน →

ฉันต้องระบุจำนวนอย่างไร?

ระบุจำนวนในหน่วยสกุลเงินที่เล็กที่สุดเสมอ:

  • THB: 100000 = ฿1,000.00 (สตางค์)
  • JPY: 1000 = ¥1,000 (เยน - ไม่มีจุดทศนิยม)
  • SGD: 10000 = S$100.00 (เซนต์)
  • MYR: 10000 = RM100.00 (เซนต์)

อย่าใช้จุดทศนิยมในฟิลด์จำนวน

ฉันจะหาโค้ดตัวอย่างได้ที่ไหน?
  • Official Libraries: แต่ละ SDKs ของเรารวมโค้ดตัวอย่าง
  • GitHub: แอปพลิเคชันตัวอย่างที่ github.com/omise
  • เอกสารประกอบ: ตัวอย่างโค้ดตลอดเอกสารเหล่านี้ใน 8+ ภาษา
ฉันจะเปลี่ยนจากทดสอบไปยังจริงได้อย่างไร?
  1. ดำเนินการตรวจสอบธุรกิจของคุณให้เสร็จ (ดู Going Live)
  2. เปลี่ยนจาก test keys เป็น live keys ในโค้ดของคุณ
  3. ทดสอบด้วยธุรกรรมจริงขนาดเล็กก่อน
  4. ตรวจสอบ dashboard และ webhook endpoints ของคุณ
  5. ขยายขนาดทีละน้อย

โค้ดการผูกรวมของคุณยังคงเหมือนเดิม - เปลี่ยนเฉพาะ API keys!

ตัวอย่างที่สมบูรณ์

นี่คือตัวอย่าง HTML + JavaScript ที่สมบูรณ์ที่คุณสามารถรันได้ในเครื่อง:

<!DOCTYPE html>
<html>
<head>
<title>Omise Quickstart</title>
<script src="https://cdn.omise.co/omise.js"></script>
</head>
<body>
<h1>จ่าย ฿1,000.00</h1>

<form id="payment-form">
<div>
<label>หมายเลขบัตร</label>
<input type="text" id="card-number" value="4242424242424242">
</div>
<div>
<label>ชื่อ</label>
<input type="text" id="card-name" value="John Doe">
</div>
<div>
<label>วันหมดอายุ (MM/YY)</label>
<input type="text" id="card-expiry" value="12/25">
</div>
<div>
<label>CVV</label>
<input type="text" id="card-cvv" value="123">
</div>
<button type="submit">จ่ายเลย</button>
</form>

<div id="result"></div>

<script>
// ตั้งค่า public key ของคุณ
Omise.setPublicKey('pkey_test_YOUR_PUBLIC_KEY');

document.getElementById('payment-form').addEventListener('submit', function(e) {
e.preventDefault();

const expiry = document.getElementById('card-expiry').value.split('/');

// ขั้นตอนที่ 1: สร้าง token
Omise.createToken('card', {
name: document.getElementById('card-name').value,
number: document.getElementById('card-number').value,
expiration_month: expiry[0],
expiration_year: '20' + expiry[1],
security_code: document.getElementById('card-cvv').value
}, function(statusCode, response) {
if (statusCode == 200) {
// ขั้นตอนที่ 2: ส่ง token ไปยังเซิร์ฟเวอร์ของคุณเพื่อสร้าง charge
createCharge(response.id);
} else {
document.getElementById('result').innerHTML =
'<p style="color:red">ข้อผิดพลาด: ' + response.message + '</p>';
}
});
});

function createCharge(token) {
// ใน production นี่จะเรียก endpoint เซิร์ฟเวอร์ของคุณ
// เซิร์ฟเวอร์ของคุณจะใช้ secret key เพื่อสร้าง charge
fetch('/api/charges', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token: token,
amount: 100000,
currency: 'thb'
})
})
.then(response => response.json())
.then(data => {
document.getElementById('result').innerHTML =
'<p style="color:green">การชำระเงินสำเร็จ! Charge ID: ' + data.id + '</p>';
})
.catch(error => {
document.getElementById('result').innerHTML =
'<p style="color:red">ข้อผิดพลาด: ' + error.message + '</p>';
});
}
</script>
</body>
</html>

ต้องการความช่วยเหลือหรือไม่?

พร้อมสำหรับเพิ่มเติมหรือไม่? ไปต่อที่ ทำความเข้าใจแนวคิด เพื่อเรียนรู้วิธีการทำงานของ Omise โดยละเอียด