.pkpass คือฟอร์แมตไฟล์ที่ Apple Wallet ใช้เก็บ pass ทุกประเภท ทั้งบอร์ดดิ้งพาส บัตรสะสมแต้ม คูปอง และตั๋วอีเวนต์ มันไม่ใช่แอปและไม่ใช่รูปภาพ แต่เป็นไฟล์ ZIP ที่เซ็นรับรองแล้วและมีโครงสร้างเฉพาะตัว พอเข้าใจว่าข้างในมีอะไรบ้าง คำถามส่วนใหญ่ที่คนสงสัยเรื่อง Wallet pass ก็จะตอบตัวเองได้ทันทีค่ะ
ข้างใน .pkpass file มีอะไรบ้าง
ลองเปลี่ยนนามสกุลไฟล์ .pkpass เป็น .zip แล้วแตกไฟล์ดู จะเจอไฟล์ชุดเล็กๆ อยู่ไม่กี่ตัว แต่ที่สำคัญมีสี่อย่าง
- pass.json — ตัว pass เอง ฟิลด์ข้อมูล สี บาร์โค้ด และข้อความที่แสดงทั้งด้านหน้าและด้านหลัง เป็นจุดที่บอร์ดดิ้งพาสกลายเป็นบอร์ดดิ้งพาส และบัตรสะสมแต้มร้านกาแฟกลายเป็นบัตรสะสมแต้มร้านกาแฟ
- manifest.json — รายการไฟล์ทั้งหมดในไฟล์บีบอัด พร้อมค่าแฮช SHA-1 ของแต่ละไฟล์ เป็นเหมือนใบเช็กที่พิสูจน์ว่าไม่มีใครแอบแก้ไข
- signature — ลายเซ็นเข้ารหัสของ manifest ที่สร้างด้วยใบรับรองซึ่ง Apple ออกให้ นี่คือส่วนที่ทำให้ Wallet เชื่อถือ pass นั้น ถ้าไม่มีลายเซ็นที่ถูกต้อง ก็ไม่มี pass
- รูปภาพ — icon.png, logo.png และภาพ strip หรือ thumbnail ต่างๆ มักมีความละเอียด 1x, 2x, 3x สำหรับหน้าจอต่างขนาด
แค่นี้คือทั้งชุด ดีไซน์อยู่ใน pass.json รูปภาพวางอยู่ข้างๆ ส่วน manifest กับ signature มีหน้าที่พิสูจน์ว่าไฟล์ชุดนี้ของแท้และไม่ถูกแก้ไข เป็นคอนเทนเนอร์ที่ตั้งใจออกแบบให้เรียบง่ายแต่ตรวจสอบได้ ซึ่งเข้ากับแนวทางความปลอดภัยข้อมูลที่ธุรกิจในไทยเริ่มให้ความสำคัญมากขึ้น โดยเฉพาะแอปที่เก็บข้อมูลลูกค้าอย่างชื่อ เบอร์โทร หรือประวัติการซื้อไว้ใน pass
ต้องมีบัญชี Apple Developer ไหมถึงจะสร้างได้
ตอบสั้นๆ คือ ต้องมีถ้าจะสร้าง แต่ไม่ต้องมีถ้าแค่จะรับ
ไฟล์ signature คือตัวที่บังคับให้ต้องมีบัญชี เพราะต้องสร้างด้วยใบรับรอง Pass Type ID ซึ่งได้มาผ่านบัญชี Apple Developer เท่านั้น ค่าใช้จ่ายปีละ 99 ดอลลาร์สหรัฐ ถ้าไม่มีใบรับรองนี้ ต่อให้ประกอบไฟล์อื่นถูกต้องหมด Wallet ก็ยังปฏิเสธ pass อยู่ดี เพราะตรวจสอบไม่ได้ว่าใครเป็นผู้ออก
ลูกค้าของคุณไม่ต้องรู้เรื่องนี้เลยค่ะ บัญชี Developer เป็นข้อกำหนดฝั่งผู้ออก pass คือธุรกิจที่สร้างและเซ็นรับรอง ไม่ใช่ฝั่งคนที่แตะเพิ่ม pass ในโทรศัพท์ ขั้นตอนใบรับรองทำครั้งเดียวฝั่งคุณ ก่อนที่ pass จะไปถึงมือใครนานแล้ว
.pkpass vs. wallet pass ทั่วไป
คนมักพูดคำว่า “wallet pass” แบบรวมๆ จึงควรแยกให้ชัด .pkpass คือฟอร์แมตของ Apple โดยเฉพาะ ส่วน Google Wallet ใช้กลไกที่ต่างออกไปทั้งหมด อิงจาก pass object ที่กำหนดผ่าน API แทนที่จะเป็นไฟล์เซ็นรับรองที่ดาวน์โหลดมา
ดังนั้น .pkpass เป็นแค่ wallet pass ประเภทหนึ่ง คือฝั่ง Apple ในตลาดไทยที่ผู้ใช้ Android และ iOS มีสัดส่วนใกล้เคียงกัน (ราว 60/40) ถ้าจะทำให้ครอบคลุมทั้งสองแพลตฟอร์ม ต้องสร้างทั้งไฟล์ .pkpass ของ Apple และ pass object ของ Google Wallet จากข้อมูลชุดเดียวกัน ไม่ใช่ไฟล์เดียวที่ใช้ได้ทุกที่ ประสบการณ์ที่ลูกค้าเห็นอาจดูคล้ายกัน แต่เบื้องหลังเป็นเส้นทางเทคนิคคนละแบบ
เปิดหรือทดสอบ .pkpass file ยังไง
วิธีตรวจสอบก่อนปล่อยใช้งานจริงมีไม่กี่แบบ
- บน iPhone หรือ Mac แค่แตะสองครั้งหรือเปิดไฟล์ Wallet จะแสดงตัวอย่างให้ดูทันที เหมือนที่ลูกค้าจะเห็นเป๊ะๆ
- อยากดูรายละเอียดข้างใน ให้เปลี่ยนนามสกุลเป็น .zip แตกไฟล์ แล้วเปิด pass.json ด้วยโปรแกรมแก้ไขข้อความอะไรก็ได้ วิธีนี้เร็วที่สุดสำหรับเช็กฟิลด์ สี และค่าบาร์โค้ด
- ถ้าจะตรวจสอบลายเซ็น เครื่องมือ signpass ของ Apple หรือเครื่องมือตรวจสอบ pass ออนไลน์หลายตัวจะบอกได้ว่า manifest และใบรับรองถูกต้องหรือไม่ pass ที่พรีวิวสวยบนเครื่องคุณเองอาจยังใช้งานไม่ได้กับเครื่องคนอื่นถ้าการเซ็นรับรองมีปัญหา
ข้ามขั้นตอนฟอร์แมตไฟล์ไปเลย
ธุรกิจส่วนใหญ่ที่ต้องการ Wallet pass ไม่อยากไปยุ่งกับ pass.json จัดการใบรับรองการเซ็น หรือไล่ดีบัก manifest hash เอง สิ่งที่ต้องการจริงๆ คือการ์ดที่ลูกค้าเพิ่มได้ และอัปเดตอัตโนมัติเมื่อข้อมูลเปลี่ยน ฟอร์แมตไฟล์เป็นแค่เครื่องมือ ไม่ใช่เป้าหมาย
คุณไม่จำเป็นต้องแตะฟอร์แมต .pkpass เลยสักครั้ง Pushwoosh จัดการเรื่องเซ็นรับรองและแพ็กเกจให้ทั้งหมด คุณแค่ออกแบบการ์ด ที่เหลือปล่อยให้ระบบทำงาน แพลตฟอร์มยังผ่านการรับรอง SOC 2 Type I และ ISO 27001:2022 สอดคล้องกับ GDPR พร้อมศูนย์ข้อมูลใน EU และสหรัฐฯ ซึ่งช่วยให้ข้อมูลลูกค้าที่ผูกกับ pass ปลอดภัยตามมาตรฐานสากล และแจกจ่ายลิงก์การ์ดผ่านช่องทาง LINE หรือ QR โค้ดที่ลูกค้าไทยคุ้นเคยได้ทันที ดูรายละเอียดที่ Wallet Passes
FAQ
โดยพื้นฐานแล้วไม่ได้ .pkpass เป็นฟอร์แมตของ Apple และ Google Wallet บน Android ก็ไม่ได้อ่านไฟล์นี้โดยตรง มีแอปจากผู้ให้บริการภายนอกบางตัวที่นำเข้าได้ แต่วิธีที่ถูกต้องสำหรับตลาดที่ใช้หลายแพลตฟอร์มคือออก Google Wallet pass ควบคู่ไปกับไฟล์ Apple จากข้อมูลชุดเดียวกัน ซึ่งสำคัญมากสำหรับไทยที่ผู้ใช้ Android มีสัดส่วนสูงพอๆ กับ iOS
ไม่เหมือนค่ะ แอปคือซอฟต์แวร์ที่รันบนโทรศัพท์ ส่วน .pkpass เป็นไฟล์ข้อมูลที่อยู่ใน Wallet โดยไม่มีโค้ดของตัวเองเลย ไม่ต้องติดตั้งจาก App Store ไม่มีอะไรทำงานอยู่เบื้องหลัง มันแค่แสดงข้อมูลและรีเฟรชเมื่อผู้ออกเปลี่ยนข้อมูล นั่นคือขอบเขตทั้งหมดของสิ่งที่มันทำ