.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-এর কাজ হলো এই বান্ডিলটা আসল আর অপরিবর্তিত সেটা প্রমাণ করা। ইচ্ছাকৃতভাবেই এটা একটা সাদামাটা কিন্তু যাচাই-যোগ্য কন্টেইনার — ঠিক যে ধরনের ডেটা-নিরাপত্তা এখন FinTech বা কোনো গ্রাহক-তথ্য রাখা অ্যাপে গুরুত্বপূর্ণ হয়ে দাঁড়াচ্ছে।
একটা .pkpass বানাতে Apple Developer অ্যাকাউন্ট লাগে কি না
সংক্ষেপে: বানাতে হলে হ্যাঁ, শুধু গ্রহণ করতে হলে না।
signature ফাইলটাই অ্যাকাউন্ট বাধ্যতামূলক করে দেয়। এটা বানাতে হয় একটা Pass Type ID সার্টিফিকেট দিয়ে, আর সেটা পাওয়া যায় শুধু একটা Apple Developer অ্যাকাউন্ট দিয়েই, যার খরচ বছরে $99। এই সার্টিফিকেট ছাড়া বাকি সব ফাইল ঠিকঠাক বানালেও Wallet সেই pass নেবে না, কারণ এটা বলতে পারবে না কে এটা ইস্যু করেছে।
আপনার গ্রাহকদের এসবের কিছুই জানতে হবে না। Developer অ্যাকাউন্ট লাগে ইস্যুকারীর জন্য — মানে যে ব্যবসা pass বানাচ্ছে আর সাইন করছে, তার জন্য — যে মানুষটা ফোনে pass যোগ করছে তার জন্য না। তাকে শুধু Add-এ ট্যাপ করলেই হয়। সার্টিফিকেটের কাজ একবারই হয়, আপনার দিক থেকে, pass কারও কাছে পৌঁছানোর অনেক আগেই।
.pkpass vs. সাধারণ wallet pass
মানুষ “wallet pass” কথাটা একটু ঢিলেঢালাভাবে ব্যবহার করেন, তাই এটা আলাদা করে বোঝা দরকার। .pkpass নির্দিষ্টভাবে Apple-এর ফরম্যাট। Google Wallet পুরোপুরি আলাদা একটা পদ্ধতি ব্যবহার করে, যা একটা ডাউনলোড করা সাইন করা ফাইলের বদলে API দিয়ে সংজ্ঞায়িত pass object-এর উপর ভিত্তি করে তৈরি।
তাই .pkpass হলো wallet pass-এর একটা ধরন — Apple-এর ধরনটা। বাংলাদেশ ও পশ্চিমবঙ্গে বেশিরভাগ ফোন ব্যবহারকারী Android-এ থাকেন, তাই এখানে বেশিরভাগ গ্রাহকের কাছে আসলে Google Wallet-এর pass object-টাই আগে পৌঁছাবে। যদি আপনি iPhone ব্যবহারকারী গ্রাহকদেরও কভার করতে চান — যেমন কর্পোরেট ক্লায়েন্ট বা প্রবাসী শ্রোতা — তাহলে একই ডেটা থেকে একটা Apple .pkpass আর একটা Google Wallet object দুটোই বানাতে হয়, একটা ফাইল দিয়ে সব জায়গায় চলে না। গ্রাহকের কাছে অভিজ্ঞতাটা প্রায় একইরকম মনে হলেও, পেছনের টেকনিক্যাল পথ দুটো একেবারে আলাদা।
একটা .pkpass file কীভাবে খুলবেন বা টেস্ট করবেন
শিপ করার আগে চেক করার কয়েকটা প্র্যাকটিক্যাল উপায়:
- iPhone বা Mac-এ, ফাইলটা ডাবল-ট্যাপ বা ওপেন করলেই Wallet সরাসরি একটা প্রিভিউ দেখায়, ঠিক যেমনটা একজন গ্রাহক দেখতেন।
- ভেতরের গঠন দেখতে চাইলে, ফাইলের নাম .zip করে বদলে, এক্সট্র্যাক্ট করে, pass.json যেকোনো টেক্সট এডিটরে খুলুন। ফিল্ড, রং, আর বারকোড ভ্যালু চেক করার এটাই সবচেয়ে দ্রুত উপায়।
- signature ভ্যালিডেট করতে, Apple-এর signpass টুল বা বিভিন্ন অনলাইন pass validator বলে দেবে manifest আর সার্টিফিকেট ঠিক আছে কিনা। নিজের ডিভাইসে সুন্দর প্রিভিউ দেখালেও, সাইনিং-এ গোলমাল থাকলে সেটা অন্য কারও ফোনে ফেইল করতে পারে।
ফাইল ফরম্যাট নিয়ে একদম মাথা না ঘামানো
Wallet pass দরকার এমন বেশিরভাগ মানুষ কখনো pass.json ধরতে চান না, সাইনিং সার্টিফিকেট ম্যানেজ করতে চান না, বা manifest hash ডিবাগ করতে চান না। তাদের যা দরকার তা হলো — গ্রাহক যোগ করতে পারবেন এমন একটা কার্ড, যেটা ডেটা বদলালে নিজে থেকেই আপডেট হয়। ফরম্যাটটা একটা মাধ্যম মাত্র, লক্ষ্য নয়।
.pkpass ফরম্যাট নিয়ে আপনাকে একবারও হাত দিতে হবে না। Pushwoosh সাইনিং আর প্যাকেজিং নিজেই সামলায়; আপনি শুধু কার্ডটা ডিজাইন করেন, বাকিটা প্ল্যাটফর্ম করে দেয়। দেখুন Wallet Passes।
FAQ
সরাসরি না। .pkpass হলো Apple-এর ফরম্যাট, আর Android-এর Google Wallet এটা সরাসরি পড়ে না। কিছু থার্ড-পার্টি অ্যাপ এটা ইমপোর্ট করতে পারে, তবে সঠিক ক্রস-প্ল্যাটফর্ম পদ্ধতি হলো একই ডেটা থেকে Apple-এর পাশাপাশি একটা Google Wallet pass-ও ইস্যু করা — যা বাংলাদেশ ও পশ্চিমবঙ্গের মতো Android-প্রধান বাজারে বিশেষভাবে জরুরি।
না। একটা অ্যাপ হলো সফটওয়্যার যা ফোনে চলে; একটা .pkpass হলো একটা ডেটা ফাইল যা Wallet-এর ভেতরে বসে থাকে, তার নিজের কোনো কোড নেই। App Store থেকে ইনস্টল করার কিছু নেই, চলার মতো কিছু নেই। এটা শুধু তথ্য দেখায় আর ইস্যুকারী ডেটা বদলালে রিফ্রেশ হয় — এটাই এর পুরো কাজের পরিধি।