export function verificationError(code: string | undefined): string { const reason = code?.startsWith("slip-rejected:") ? code.slice("slip-rejected:".length) : code?.startsWith("slip2go-service:") ? code.slice("slip2go-service:".length) : code; switch (reason) { case "200000": return "พบสลิป แต่ Slip2Go ยังไม่ได้ยืนยันเงื่อนไขผู้รับและยอดเงิน กรุณาแจ้งผู้ดูแลระบบ (200000)"; case "200401": return "บัญชีผู้รับในสลิปไม่ตรงกับบัญชีที่ตั้งไว้ (200401)"; case "200402": return "ยอดเงินในสลิปไม่ตรงกับยอดคำขอ (200402)"; case "200403": return "วันที่โอนในสลิปไม่ตรงเงื่อนไข (200403)"; case "200404": return "Slip2Go ไม่พบข้อมูลสลิปในระบบธนาคาร (200404)"; case "200500": return "Slip2Go ระบุว่าสลิปไม่ถูกต้อง (200500)"; case "200501": return "สลิปนี้เคยถูกตรวจสอบแล้ว หากชำระเงินแล้ว กรุณาติดต่อผู้ดูแลก่อนโอนซ้ำ (200501)"; case "200502": return "ธนาคารไม่สามารถตรวจสอบสลิปได้ในขณะนี้ กรุณาลองอีกครั้ง (200502)"; case "400001": case "400002": return `อ่าน QR ในรูปสลิปไม่ได้ กรุณาอัปโหลดรูปสลิปจากแอปธนาคาร (${reason})`; case "400400": return "ตั้งค่าเงื่อนไขตรวจสอบสลิปไม่ถูกต้อง กรุณาแจ้งผู้ดูแลระบบ (400400)"; case "401001": return "Slip2Go ไม่ยอมรับ API Secret ที่ตั้งไว้ กรุณาแจ้งผู้ดูแลระบบ (401001)"; case "401005": return "โทเคน Slip2Go หมด กรุณาแจ้งผู้ดูแลระบบ (401005)"; case "slip-amount-or-date-mismatch": return "ยอดเงินหรือวันเวลาในสลิปไม่ตรงกับคำขอนี้ กรุณาใช้สลิปจากการชำระเงินครั้งนี้"; case "payment-already-used": return "สลิปนี้ถูกใช้กับคำขออื่นแล้ว"; case "slip-verification-in-progress": return "กำลังตรวจสอบสลิปอยู่ กรุณารอสักครู่"; default: return reason && /^\d{6}$/.test(reason) ? `ตรวจสอบสลิปไม่ผ่าน (รหัส ${reason}) กรุณาแจ้งผู้ดูแลระบบ` : "ตรวจสอบสลิปไม่สำเร็จ กรุณาลองอีกครั้ง"; } }