ข้ามไปยังเนื้อหาหลัก
เวอร์ชัน: ล่าสุด

Omise API Reference

สร้างระบบชำระเงินที่มีประสิทธิภาพด้วย Omise RESTful API ประมวลผลการชำระเงินผ่านช่องทางการชำระเงินกว่า 40 วิธีในเอเชียตะวันออกเฉียงใต้และญี่ปุ่น

ภาพรวม

Omise API ถูกออกแบบตามหลักการ REST โดยใช้ URL ที่มุ่งเน้นทรัพยากรที่คาดเดาได้, request และ response ในรูปแบบ JSON พร้อมด้วย HTTP response code และ HTTP method มาตรฐาน

Base URL

เซิร์ฟเวอร์URLการใช้งาน
API Serverhttps://api.omise.coการดำเนินการ charges, customers, transfers, account
Vault Serverhttps://vault.omise.coการสร้าง token (การประมวลผลข้อมูลบัตรที่ปลอดภัย)

เวอร์ชัน API ปัจจุบัน

เวอร์ชัน: 2019-05-29

ใช้ header Omise-Version เพื่อระบุเวอร์ชัน API (ไม่บังคับ, ค่าเริ่มต้นคือเวอร์ชัน API ของบัญชี):

Omise-Version: 2019-05-29

เริ่มต้นอย่างรวดเร็ว

1. รับ API Keys

ค้นหา API keys ของคุณได้ที่ Omise Dashboard:

  • Public Key (pkey_*) - สำหรับการดำเนินการฝั่ง client (tokens, sources)
  • Secret Key (skey_*) - สำหรับการดำเนินการฝั่ง server (charges, customers)
รักษา Secret Key ให้ปลอดภัย

อย่าเปิดเผย secret key ในโค้ดฝั่ง client, GitHub repositories หรือที่สาธารณะ ใช้ environment variables และโค้ดฝั่ง server เท่านั้น

2. ยืนยันตัวตนสำหรับ Request

Omise ใช้ HTTP Basic Authentication:

  • Username: API key ของคุณ
  • Password: เว้นว่าง (สตริงว่าง)
# ใช้ secret key
curl https://api.omise.co/charges \
-u skey_test_YOUR_SECRET_KEY:

# ใช้ public key
curl https://vault.omise.co/tokens \
-u pkey_test_YOUR_PUBLIC_KEY:

3. ส่ง Request แรกของคุณ

สร้าง test 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_no1t4tnemucod0e51mo"

Response:

{
"object": "charge",
"id": "chrg_test_5xuy4w91xqz7d1w9u0t",
"amount": 100000,
"currency": "thb",
"status": "successful",
"authorized": true,
"captured": true,
...
}

ทรัพยากร API

การประมวลผลการชำระเงินหลัก

💳 Charges

สร้าง, capture และจัดการ charges สำหรับวิธีการชำระเงินที่รองรับทั้งหมด

POST /charges • GET /charges/:id • PATCH /charges/:id

🔐 Tokens

Tokenize ข้อมูลบัตรเครดิตอย่างปลอดภัยโดยไม่ต้องรับภาระ PCI compliance

POST /tokens • GET /tokens/:id

📱 Sources

สร้างแหล่งการชำระเงินสำหรับวิธีการชำระเงินทางเลือก เช่น PromptPay, mobile banking และ QR codes

POST /sources • GET /sources/:id

↩️ Refunds

ออกการคืนเงินเต็มจำนวนหรือบางส่วนสำหรับ charges ที่สำเร็จ

POST /charges/:id/refunds • GET /refunds/:id

การจัดการลูกค้า

👤 Customers

จัดการข้อมูลลูกค้าและวิธีการชำระเงินที่บันทึกไว้สำหรับการเรียกเก็บเงินซ้ำ

POST /customers • GET /customers/:id • PATCH /customers/:id

💳 Cards

จัดการบัตรเครดิต/เดบิตที่บันทึกไว้ซึ่งเชื่อมโยงกับลูกค้า

GET /customers/:id/cards • DELETE /customers/:id/cards/:card_id

การจัดการเงิน

💸 Transfers

จัดการการโอนเงินไปยังบัญชีธนาคารและตารางการโอนอัตโนมัติ

POST /transfers • GET /transfers/:id • GET /transfers/schedules

🏦 Recipients

สร้างและตรวจสอบผู้รับเงินบัญชีธนาคารสำหรับการโอน

POST /recipients • GET /recipients/:id • POST /recipients/:id/verify

💰 Balance

ดูยอดเงินที่มีและยอดคงค้างในทุกสกุลเงิน

GET /balance

📊 Transactions

ดูประวัติธุรกรรมโดยละเอียดสำหรับการบัญชีและการกระทบยอด

GET /transactions • GET /transactions/:id


คู่มือที่จำเป็น

ทำความเข้าใจแนวคิดหลักเหล่านี้ก่อนดำเนินการกับ endpoint เฉพาะ:

🔐 การยืนยันตัวตน

เรียนรู้วิธียืนยันตัวตน API requests โดยใช้ public และ secret keys, การจัดการ API versioning และการรักษาความปลอดภัยการเชื่อมต่อของคุณ

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

ทำความเข้าใจรูปแบบการตอบกลับข้อผิดพลาด, รหัสข้อผิดพลาดทั่วไป และแนวทางปฏิบัติที่ดีที่สุดในการจัดการความล้มเหลวอย่างเหมาะสม

📄 Pagination

นำทางผ่านชุดผลลัพธ์ขนาดใหญ่อย่างมีประสิทธิภาพด้วยพารามิเตอร์ offset และ limit

🔁 Idempotency

ลอง request ซ้ำได้อย่างปลอดภัยโดยไม่มีการดำเนินการซ้ำซ้อนโดยใช้ idempotency keys

🏷️ API Versioning

จัดการการเปลี่ยนแปลงเวอร์ชัน API และรักษาความเข้ากันได้ย้อนหลัง

⏱️ Rate Limiting

อยู่ภายในขีดจำกัด API rate limit และจัดการข้อผิดพลาด rate limit


รูปแบบการตอบกลับ

API responses ทั้งหมดเป็น JSON-encoded objects พร้อมฟิลด์ object ที่ระบุประเภททรัพยากร:

{
"object": "charge",
"id": "chrg_test_5xuy4w91xqz7d1w9u0t",
"livemode": false,
"amount": 100000,
"currency": "thb",
...
}

List Objects

List endpoints ส่งคืนผลลัพธ์แบบแบ่งหน้า:

{
"object": "list",
"data": [
{ "object": "charge", "id": "chrg_..." },
{ "object": "charge", "id": "chrg_..." }
],
"limit": 20,
"offset": 0,
"total": 142,
"from": "2025-01-01T00:00:00Z",
"to": "2025-02-07T23:59:59Z"
}

การทดสอบ

ใช้ test API keys (มี _test_) สำหรับการพัฒนา:

  • Test Public Key: pkey_test_...
  • Test Secret Key: skey_test_...

Test keys:

  • ✅ ไม่มีการประมวลผลการชำระเงินจริง
  • ✅ ยอมรับหมายเลขบัตรทดสอบ
  • ✅ ส่งคืน responses ที่สมจริง
  • ✅ เรียก webhooks ไปยัง endpoints ทดสอบ

ดูบัตรทดสอบ →


Client Libraries

ไลบรารีอย่างเป็นทางการสำหรับภาษาโปรแกรมยอดนิยม:


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


พร้อมเริ่มสร้างหรือยัง? เริ่มต้นด้วย การยืนยันตัวตน หรือไปที่ การสร้าง charge โดยตรง