Skip to main content

การสร้างคีย์ RSA

น้อยกว่า 1 นาที

คู่มือการสร้างคีย์ RSA

คำขอ API ของ Smilepayz ต้องเซ็นด้วย private key RSA ของ merchant คุณอัปโหลด public key ที่คู่กันในแบ็กเอนด์ merchant เพื่อให้ Smilepayz ตรวจสอบ X-SIGNATURE คู่มือนี้อธิบายการสร้างและบันทึกคีย์ใน sandbox และ production

ภาพรวม

คีย์ผู้ถือวัตถุประสงค์
Private key ของ merchantคุณ (ห้ามอัปโหลด)เซ็นคำขอ API Pay-in, Pay-out, Inquiry
Public key ของ merchantอัปโหลดไป SmilepayzSmilepayz ตรวจสอบ X-SIGNATURE ของคุณ
Platform public keyคัดลอกจาก Configuration Infoคุณตรวจสอบลายเซ็น callback

ใช้คู่คีย์แยกกัน

สร้าง คู่คีย์ RSA แยก สำหรับ sandbox และ production อย่าใช้ private key จาก sandbox ใน production

ข้อกำหนดคีย์

แบ็กเอนด์ merchant กำหนดคีย์ RSA 2048-bit (การเซ็น SHA256withRSA) ช่องข้อความเก็บ public key เป็น Base64 โดยไม่มีหัวท้าย PEM

  • Private key — เก็บไฟล์ที่ดาวน์โหลดอย่างปลอดภัย ใช้บนเซิร์ฟเวอร์ของคุณเท่านั้น
  • Public key — ใส่ใน Merchant Public Key แล้วกด Save

วิธีใช้ private key ในการเซ็น: การยืนยันตัวตนด้วยลายเซ็น

Sandbox: สร้างและบันทึกคีย์

ขั้นตอนที่ 1: เปิด API Setting

  1. เข้าสู่ระบบ แบ็กเอนด์ merchantopen in new window
  2. สลับสวิตช์ด้านบนเป็น Sandbox
  3. เปิด Configuration ในแถบด้านซ้าย
  4. เลือกแท็บ API Setting
  5. เลื่อนไปที่ Merchant Public Key

ขั้นตอนที่ 2: สร้างคู่คีย์

  1. คลิก Generate RSA Keys
  2. เบราว์เซอร์จะดาวน์โหลดไฟล์คู่คีย์ (ชื่อไฟล์มักมี Sandbox และ timestamp)
  3. Public key จะเติมในช่องข้อความอัตโนมัติ

ขั้นตอนที่ 3: บันทึก public key

  1. ตรวจสอบ public key ในช่องข้อความ
  2. คลิก Save ด้านล่างส่วนนี้
  3. เก็บไฟล์ที่ดาวน์โหลดอย่างปลอดภัย — มี private key อยู่ภายใน

Sandbox — Merchant Public Key

Production: สร้างและบันทึกคีย์

Production ใช้ Settings → Configuration ไม่ใช่เมนู Configuration ของ sandbox

ขั้นตอนที่ 1: เปิด API Setting

  1. เข้าสู่ระบบ แบ็กเอนด์ merchantopen in new window
  2. ยืนยันสวิตช์ด้านบนเป็น Production
  3. ไปที่ SettingsConfiguration
  4. เปิดแท็บ API Setting
  5. เลื่อนไปที่ Merchant Public Key

ขั้นตอนที่ 2: สร้างและบันทึก

  1. คลิก Generate (ข้อความใน production ฟังก์ชันเดียวกับ sandbox)
  2. เก็บไฟล์ private key ที่ดาวน์โหลดอย่างปลอดภัย
  3. ตรวจสอบ public key ในช่องข้อความ
  4. คลิก Save API configuration ด้านล่างหน้า

ความต่าง API Setting ใน production

ใน production รายการ API IP Whitelist เป็นแสดงผลอย่างเดียว (ดูแลโดยแพลตฟอร์ม) ฟิลด์ callback: Payin และ Payout ปุ่มบันทึก: Save API configuration

Production — Merchant Public Key

ไฟล์ที่ดาวน์โหลด

ไฟล์มักมีบล็อก PEM สำหรับทั้งสองคีย์:

-----BEGIN PRIVATE KEY-----
[เนื้อหา private key แบบ Base64]
-----END PRIVATE KEY-----

-----BEGIN PUBLIC KEY-----
[เนื้อหา public key แบบ Base64]
-----END PUBLIC KEY-----

ใช้ private key (PKCS#8, Base64) ในโค้ดหรือ SDK ค่าในช่องแบ็กเอนด์ตรงกับเนื้อหา public key โดยไม่มี บรรทัด -----BEGIN/END-----

หลังตั้งค่าเสร็จ

  1. ตั้งค่าข้อมูลการรวมระบบ (IP whitelist, URL callback) หากยังไม่ได้ทำ
  2. ทดสอบการเซ็นในแท็บ Signature Test ของ sandbox หรือเรียก API sandbox
  3. ก่อน go-live ทำซ้ำใน production ด้วยคู่คีย์ใหม่

การแก้ปัญหา

ปัญหาแนวทาง
ลายเซ็น API ถูกปฏิเสธยืนยันว่ากด Save หลัง generate แล้ว private key ต้องคู่กับ public key ที่อัปโหลด
สภาพแวดล้อมผิดคีย์ sandbox/production แยกกัน — ตรวจสวิตช์และคำนำหน้า Merchant ID
สูญหาย private keyสร้างคู่ใหม่ อัปโหลด public key ใหม่ อัปเดตเซิร์ฟเวอร์
ช่อง public key ว่างหลัง Generateลอง Generate อีกครั้ง ตรวจสิทธิ์ดาวน์โหลดของเบราว์เซอร์

เอกสารที่เกี่ยวข้อง