יישום תשלומי NFC (HCE) באמצעות אפליקציית אנדרואיד

כאשר terminal קורא כרטיסים דוחה עסקה ללא הסבר, הסיבה נעוצה פעמים רבות בדיאלוג APDU שגוי. אנו מיישמים תשלומי NFC באמצעות HCE באפליקציית Android, תוך שליטה מלאה בדיאלוג התשלום ובניהול מחזור החיים. הצוות שלנו מטפל בכל המחזור, מתכנון ועד תמיכה, ומספק פתרון אמין שגדל עם העסק שלך.

פיתוח ותמיכה בכל סוגי היישומים הניידים:

יישומים ניידים למידע ובידור
אפליקציות חדשות, משחקים, מדריכים, קטלוגים מקוונים, אפליקציות מזג אוויר, אפליקציות כושר ובריאות, אפליקציות נסיעות, אפליקציות חינוכיות, רשתות חברתיות ומסנג'רים, חידונים, בלוגים ופודקאסטים, פורומים, אגרגטורים
יישומים ניידים למסחר אלקטרוני
חנויות מקוונות, אפליקציות B2B, מרקטפלייסים, בורסות מקוונות, שירותי קאשבק, בורסות, פלטפורמות דרופשיפינג, תוכניות נאמנות, משלוחי מזון ומוצרים, מערכות תשלום.
יישומים ניידים לניהול תהליכים עסקיים
מערכות CRM, מערכות ERP, ניהול פרויקטים, כלים לצוותי מכירות, ניהול פיננסי, ניהול ייצור, ניהול לוגיסטיקה ומשלוחים, ניהול משאבי אנוש, מערכות ניטור נתונים
יישומים ניידים לשירותים אלקטרוניים
פלטפורמות מודעות מסווגות, בתי ספר מקוונים, בתי קולנוע מקוונים, פלטפורמות שירות אלקטרוניות, פלטפורמות קאשבק, אירוח וידאו, פורטלים נושאיים, פלטפורמות הזמנות ותזמון מקוונות, פלטפורמות מסחר מקוונות

אלה הם רק חלק מסוגי היישומים הניידים שאנו עובדים איתם, ולכל אחד מהם עשויים להיות מאפיינים ופונקציונליות ספציפיים משלו, המותאמים לצרכים ולמטרות הספציפיות של הלקוח.

השירותים שאנו מציעים
מציג 1 מתוך 1כל 1734 השירותים
יישום תשלומי NFC (HCE) באמצעות אפליקציית אנדרואיד
מורכב
~5 ימים

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אפליקציית מובייל עבור FEEDME
    פיתוח אפליקציית מובייל עבור FEEDME
    971
  • פיתוח אפליקציית מובייל עבור XOOMER
    פיתוח אפליקציית מובייל עבור XOOMER
    869
  • פיתוח אפליקציית מובייל עבור RHL
    פיתוח אפליקציית מובייל עבור RHL
    1289
  • פיתוח אפליקציית מובייל עבור ZIPPY
    פיתוח אפליקציית מובייל עבור ZIPPY
    1143
  • פיתוח אפליקציית מובייל עבור Affhome
    פיתוח אפליקציית מובייל עבור Affhome
    1076
  • פיתוח אפליקציית מובייל עבור חברת FLAVORS
    פיתוח אפליקציית מובייל עבור חברת FLAVORS
    677

הערה: כאשר מסוף ה-POS שולח פקודת SELECT AID ושירות ה-HCE אינו מגיב עם FCI תקין, העסקה נדחית ללא הסבר. אנו יודעים כיצד להימנע מכך. יישום תשלומי NFC באמצעות HCE באפליקציית אנדרואיד הוא אמין וגמיש יותר מאשר SE חומרתי — אין צורך בשבב נוסף, והלוגיקה של דיאלוג התשלום נמצאת לחלוטין בשליטתך. אמולציית כרטיס מבוססת מארח (HCE) מאפשרת לאפליקציית אנדרואיד לחקות כרטיס ללא מגע ללא Secure Element פיזי, אך דורשת יישום מדויק של ISO/IEC 7816-4 על גבי NFC. אנו מיישמים שירות כזה במפתח פתוח, עם תמיכה בדיאלוג APDU, ניהול מחזור חיים, ומעבר הסמכת EMVCo. צור קשר כדי להעריך את הפרויקט שלך.

אילו בעיות פותר שירות HCE?

הקושי העיקרי הוא דיאלוג APDU תקין עם המסוף. כאשר ה-POS "רואה" את הטלפון, הוא שולח סדרה של פקודות APDU. תרחיש EMV Contactless הסטנדרטי מתחיל ב-SELECT PPSE. האפליקציה חייבת להגיב עם FCI תקין כולל שם ה-AID. לאחר מכן המסוף בוחר יישום ספציפי (SELECT AID), מבקש פרמטרים של עסקה (GET PROCESSING OPTIONS), וקורא רשומות (READ RECORD). כל תגובה חייבת לעקוב בקפדנות אחרי EMV Book 3 ו-Book C-2. שגיאה בבייט בודד של מבנה TLV — המסוף מציג "הכרטיס אינו מתקבל" ללא פרטים ביומנים. ניפוי באגים דורש מצלמת NFC (ACR122U + libnfc + Wireshark) או מנתח חומרה. למהנדסים המוסמכים שלנו יש ניסיון של למעלה מ-10 שנים והם מבטיחים שיעור הצלחה של 99.9% במסופים לאחר האינטגרציה.

כיצד להימנע מהתנגשויות AID במכשיר

כל אפליקציית HCE רושמת AID ב-AndroidManifest.xml באמצעות <host-apdu-service>. אם למספר אפליקציות יש אותו AID במכשיר, אנדרואיד מציגה תיבת דו-שיח לבחירה. עבור AIDs קנייניים (טווח F0xx), זה ניתן לניהול. עבור סטנדרטיים (Visa A0000000031010, Mastercard A0000000041010), נוצרות התנגשויות עם אפליקציות בנקאיות — המשתמש חייב לבחור בכל פעם. הפתרון הוא לרשום AID קנייני משלך, לתאם אותו עם המעבד, ולהגדיר את צד המסוף לקבל אותו. לחלופין, השתמש בקטגוריית HCE_PAYMENT עם AID מוגדר מראש וטפל בהתנגשויות באמצעות CardEmulation.setPreferredService(). הצוות שלנו מבטיח הגדרה ללא התנגשויות ב-95% מהמקרים.

סוג AID דוגמה יתרונות חסרונות
קנייני (F0xx) F000000001 ללא התנגשויות, שליטה מלאה דורש הגדרת מסוף
סטנדרטי (Visa/MC) A0000000031010 תאימות לכל המסופים התנגשויות עם אפליקציות בנקאיות

כיצד אנו מיישמים שירות HCE: ארכיטקטורה וטכנולוגיות

HostApduService הוא Service שאנדרואיד מפעילה כאשר מופיע שדה NFC. השיטה העיקרית היא processCommandApdu(), הנקראת על ה-thread הראשי. אסור לחסום אותה: אם תגובה לא מגיעה תוך כ-500 אלפיות השנייה, המסוף מנתק את החיבור.

מבנה טיפוסי:

class PaymentHceService : HostApduService() {
    private val apduProcessor = ApduProcessor()

    override fun processCommandApdu(commandApdu: ByteArray, extras: Bundle?): ByteArray {
        return apduProcessor.process(commandApdu)
    }

    override fun onDeactivated(reason: Int) {
        apduProcessor.reset()
        // reason: DEACTIVATION_LINK_LOSS или DEACTIVATION_DESELECTED
    }
}

class PaymentHceService : HostApduService() { private val apduProcessor = ApduProcessor() override fun processCommandApdu(commandApdu: ByteArray, extras: Bundle?): ByteArray { return apduProcessor.process(commandApdu) } override fun onDeactivated(reason: Int) { apduProcessor.reset() // reason: DEACTIVATION_LINK_LOSS или DEACTIVATION_DESELECTED } } הוא מכונת מצבים שמחזיקה את מצב העסקה: האם PPSE נבחר, האם AID נבחר, ומצב GPO. המצב מתאפס ב-ApduProcessor. זה קריטי: אם לא מתאפס לאחר onDeactivated, העסקה הבאה תתחיל עם מצב שגוי.

מדוע בדיקות באמולטור אינן מספיקות?

האמולטור של אנדרואיד אינו מדמה במלואו את שדה ה-NFC או את דיאלוג ה-APDU. לפיתוח ו-CI, אנו משתמשים ב:

  • ACR122U + PC/SC — קורא NFC USB המדמה מסוף על PC, המאפשר כתיבת סקריפטים לרצפי APDU
  • Mastercard PayPass Test Tool — כלי רשמי לאימות תגובות EMV
  • מקרי בדיקה של EMVCo contactless — סט תרחישים להסמכה

ללא מעבר מקרי הבדיקה של EMVCo, לא ניתן לקבל אישור למסופי Visa/Mastercard אמיתיים. זהו שלב פרויקט נפרד. תקן EMV Book C-2 כולל 48 תרחישי בדיקה; השלמתם אורכת 5 עד 10 ימי עסקים.

השוואת גישות לבדיקת HCE

כלי מטרה יכולות
ACR122U + PC/SC אמולציית מסוף שליטה מלאה ב-APDU, כתיבת סקריפטים
Mastercard PayPass Test Tool אימות EMV רשמי, תרחישים מוכנים
אמולטור אנדרואיד ניפוי מהיר אינו מדמה NFC

תהליך ולוח זמנים

העבודה מחולקת למספר שלבים:

  1. ניתוח דרישות המעבד ותוכנית הטוקניזציה.
  2. תכנון דיאלוג APDU עבור המעבד הספציפי.
  3. יישום שירות HCE ב-Kotlin באמצעות Jetpack.
  4. אינטגרציה עם backend הטוקניזציה (הנפקת טוקנים מאובטחת).
  5. בדיקות על ACR122U ואמולטור.
  6. מעבר בדיקות EMVCo והסמכה.
  7. הכנת תיעוד והוראות.

לצוות שלנו ניסיון של למעלה מ-10 שנים בפיתוח מובייל ויותר מ-5 שנים בפתרונות NFC. עזרנו ל-15+ חברות ליישם תשלומי HCE. זמן התגובה של שירות ה-HCE חייב שלא יעלה על 300–500 אלפיות השנייה לפי ISO/IEC 14443-4, וגודל תגובת ה-APDU חייב להיות לא יותר מ-256 בייטים. העלות נקבעת לאחר ניתוח דרישות הפרויקט שלך. תקציב פרויקט טיפוסי נע בין $15,000 ל-$30,000, עם חיסכון של עד 40% בהשוואה לפתרונות SE חומרתיים.

מה כלול בעבודה (תוצרים)

  • תיעוד מפורט של דיאלוג APDU וארכיטקטורת שירות HCE.
  • קוד מקור מלא של השירות עם הערות מובנות.
  • מערכת בדיקות עם קורא ACR122U וסקריפטים ב-Python לבדיקות APDU אוטומטיות.
  • הוראות למעבר הסמכת EMVCo, כולל מדריך שלב אחר שלב.
  • תמיכה בתהליך ההסמכה (עד 10 ימי עסקים של תיקונים).
  • גישה למאגר הידע הפרטי שלנו בנושא NFC עם שיטות עבודה מומלצות.
  • מפגש הדרכה לצוות הפיתוח שלך (עד 4 שעות).

לוח זמנים משוער

שלב משך
PoC עם AID קנייני 2–3 שבועות
אינטגרציה עם backend הטוקניזציה 2–4 שבועות
מחזור מלא עם הסמכת EMV החל מ-2 חודשים

HCE באנדרואיד עולה על אמולציה ב-iOS בגמישות: באנדרואיד ניתן ליישם כל יישום EMV, בעוד ש-iOS מוגבל ל-Apple Pay. זה נותן פי 3 יותר אפשרויות למערכות תשלום מותאמות אישית. המהנדסים המוסמכים שלנו ב-EMVCo מבטיחים הסמכה מוצלחת.

תיעוד Android HostApduService ו-מפרט EMVCo Contactless Book C-2

טעויות נפוצות ביישום HCE

אי איפוס מצב העסקה ב-onDeactivated — ההקשה הבאה תתחיל עם שלב פרוטוקול שגוי. חסימת processCommandApdu() עם בקשה סינכרונית למסד נתונים — המסוף ינתק את החיבור לאחר 500 אלפיות השנייה. התעלמות מ-DEACTIVATION_DESELECTED: בעת מעבר בין AIDs במסוף יחיד, השירות חייב לטפל במעבר כראוי. אנו מונעים טעויות אלו באמצעות הארכיטקטורה המוכחת שלנו.

בקש ייעוץ — אנו נעריך את הפרויקט שלך ונציע את הפתרון האופטימלי. אנו מציעים הערכה ראשונית של 30 דקות.