X-API-KEY Authentication

วิธีขอและใช้งาน API Key สำหรับยืนยันตัวตนกับ Payment API

API Key Overview

Payment API ใช้ X-API-KEY header สำหรับการยืนยันตัวตน API Key จะถูกใช้เพื่อระบุตัวตนของคุณและให้สิทธิ์เข้าถึง API endpoints ต่างๆ

ความสำคัญของ API Key

  • • API Key เปรียบเสมือนรหัสผ่านของระบบ - เก็บรักษาให้ปลอดภัย
  • • อย่าแชร์ API Key ในโค้ดที่เปิดเผยหรือ repository สาธารณะ
  • • ใช้ environment variables หรือ secure configuration management
  • • หาก API Key หลุดออกไป ให้แจ้งทีมงานเพื่อออก key ใหม่ทันที

วิธีขอ API Key

API Key ขอได้จากทีมงานโดยตรงเท่านั้น ระบบไม่มีหน้าสมัครหรือปุ่มสร้าง key ให้ร้านทำเอง ทีมงานจะส่ง API Key พร้อม Secret Key ให้ โดย Secret Key ใช้สร้าง x-signature ของทุก request

สำคัญ: เก็บ Secret Key ไว้ฝั่ง server เท่านั้น ถ้าสงสัยว่า key หลุด ให้แจ้งทีมงานเพื่อออก key ชุดใหม่ทันที

การใช้งาน

ทุก request ที่ต้องยืนยันตัวตนต้องส่ง 3 header คู่กันเสมอ คือ x-api-key, x-signature และ x-timestamp ส่ง x-api-key อย่างเดียวระบบจะปฏิเสธ

ดูวิธีสร้าง signature พร้อมตัวอย่างโค้ด

Security Best Practices

สิ่งที่ควรทำ

  • ✓ใช้ environment variables
  • ✓ขอเปลี่ยน key กับทีมงานเมื่อมีคนที่เคยเข้าถึง key ออกจากทีม
  • ✓ใช้ HTTPS เท่านั้น
  • ✓ตรวจสอบ logs เป็นประจำ

สิ่งที่ไม่ควรทำ

  • ✗เก็บ API Key ในโค้ด
  • ✗แชร์ API Key ใน public repository
  • ✗ใช้ API Key เดียวกันในหลาย environment
  • ✗ส่ง API Key ผ่าน URL parameters

Environment Variables

วิธีที่แนะนำในการจัดการ API Key คือการใช้ environment variables

Node.js (.env)

.env
PAYMENT_API_KEY=your_api_key_here
PAYMENT_BASE_URL=https://testnet.trustsig.xyz

Python (.env)

.env
PAYMENT_API_KEY=your_api_key_here
PAYMENT_BASE_URL=https://testnet.trustsig.xyz

พร้อมเริ่มต้นใช้งานแล้ว?