
عندما ظهرت خدمة Google Pay لأول مرة في روسيا ، بدأت حسابًا وأضفت بطاقة هناك وأدركت أنه لا يمكنني فعل المزيد. لم يكن هناك NFC في هاتفي ، ولا يوجد شيء للدفع على الإنترنت أيضًا - حسنًا ، هذا لا يزعجني. في النهاية ، كان من الممكن دائمًا دفع الأرقام من البطاقة بيديك أو سحبها من متجر كلمة مرور المتصفح.
ثم شاهدت كيف يدفع الناس الذين وقفوا في طابور أمامي بهاتف ذكي ؛ ثم رأيت إعلانات وخصومات على استخدام Google Pay في كل مكان ، ولكن ما زلت لا أستطيع الاستفادة منها - ما زلت أذهب مع هاتف بدون NFC.
والآن وصل. يمكنني الآن الدفع عبر Google Pay من أي جهاز على المواقع المتصلة بـ Yandex.Cash (وهناك الكثير منها). سأخبرك كيف حدث وما المشاكل التقنية التي كان على مطورينا حلها ؛ هناك الكثير من الأشياء المثيرة للاهتمام في المقدمة وفي الخلفية.
ما عليك سوى إضافة واجهة برمجة التطبيقات
"أيها الرفاق ، ما الصعوبة؟"
- نعم ، لقد أضفنا للتو مكتبة من Google على أرصفة السفن الخاصة بهم.
كانت هذه أول دقيقة من محادثتي حول إضافة Google Pay مع مطوري الصراف (بما في ذلك 55 ثانية من الصمت المحرج). ولكن بعد ذلك لم أفاجأ ، ووجدنا بعض الأشياء المثيرة للاهتمام.
يغير Google Pay عملية الدفع بالبطاقة
الآن من خلال أمين الصندوق ، يمكنك الدفع بأي بطاقة ائتمان ، حتى في الخارج. مثل أي مدفوعات بطاقة عبر الإنترنت ، هذا ليس مناسبًا دائمًا - في بعض الأحيان تحتاج إلى الذهاب إلى محفظتك ، قيادة الأرقام في الظلام والتحقق من عدم وجود أي شيء يخبط في أي مكان. لتسهيل الحياة ، يمكنك تسجيل الدخول إلى Yandex والدفع باستخدام بطاقات مرتبطة.
قمنا بتطبيق مخطط أصبحت فيه مدفوعات البطاقة من خلال أمين الصندوق موحدة وموثقة جيدًا. إذا قمت بإزالة جميع تعقيدات التوجيه والفروق الدقيقة في الأمان ، فسيبدو المخطط كما يلي:
- يقوم المستخدم بتحديد السلع وتقديم طلب والتبديل إلى نموذج الدفع Yandex.Cash. هناك يمكنك إدخال تفاصيل أي بطاقة أو تسجيل الدخول إلى Yandex لرؤية بطاقاتك المرتبطة أيضًا.
- يتم إرسال البيانات الموجودة في طريقة الدفع المحددة إلى الواجهة الخلفية للترميز. يستقبل المتصفح رمز البطاقة ويحاول استخدامه للدفع.
- إذا كان كل شيء على ما يرام ، تطلب الواجهة الخلفية من البنك حظر المبلغ على البطاقة ، وإجراء الدفع وإرجاع حالته. بناءً على ذلك ، يعيد المتصفح التوجيه إلى صفحة النجاح أو يعرض رسالة خطأ.
في مراحل مختلفة ، هناك شروط مختلفة لإنهاء العملية - الرموز المميزة غير الصالحة أو الحسابات الفارغة أو إيقاف تشغيل الإنترنت - ولكن المنطق يبقى كما هو. وفي هذه الحالة ، يمكنك عرض الصفحة بالكامل على الخادم ، ولكن سأناقش الصعوبات مع هذا أدناه.
بالنسبة إلى Google Pay ، تحتاج إلى بعض الخطوات الوسيطة.
أولاً ، بين اختيار طريقة الدفع والرمز المميز ، يتم استدعاء Google API - وهذا ضروري للتحقق مما إذا كان الجهاز يدعم المدفوعات عبر Google Pay. بعد النقر على زر "الدفع" ، تظهر واجهة الويب Google Pay ، حيث يقوم المستخدم بتسجيل الدخول أو تحديد إحدى البطاقات المضافة أو إدخال تفاصيل بطاقة جديدة.
ثانيًا ، هناك دائرة أمان أخرى من Google. لا يتلقى المستعرض التفاصيل مباشرة - يتلقى تشفيرًا ، والذي بدوره يذهب إلى الواجهة الخلفية للترميز. هناك يتم فك تشفيره باستخدام مفاتيح من Google ، ثم راجع الخطوة 3.
وبطبيعة الحال ، فإن كل خطوة إضافية (حتى بعد التوثيق الصارم) هي وقت تطوير واختبار إضافي. إنه لمن دواعي سرورنا أن التاجر لن يضطر إلى القيام بأي شيء عمليًا - من السهل ربط المدفوعات عبر Google Pay بأي موقع يحتوي على طريقة دفع Yandex.Cash. التفاصيل موجودة على الموقع الإلكتروني للصراف .
تم العثور أيضًا على قصة مثيرة للاهتمام في الواجهة الأمامية - إنها تتعلق بالبحث الإبداعي والأدلة وتجربة المستخدم.
زر Google Pay في صفحة الدفع
يتم تجميع صفحة الدفع الخاصة بكاشير بالكامل على الخادم - فهي تستقبل البيانات من الواجهة الخلفية ، وتقوم بتشغيلها من خلال محرك القوالب وتعطي المتصفح HTML و CSS و JavaScript. لذلك يتم رسم الصفحة بشكل أسرع - عندما تكون جميع البيانات جاهزة ، ويعمل كل المحتوى الديناميكي من خلال JS على العميل.
تكمن الصعوبة في أنه من الممكن فقط تحديد ما إذا كان حساب العميل لدى Google قد أضاف وسائل الدفع من خلال مكتبة عملاء Google. لذلك ، كان يجب تنفيذ المنطق الذي يرسم جزءًا من الصفحة بواسطة زر الدفع على العميل. تم العثور على الحل الفني بعد بحث قصير.
على الواجهة الخلفية ، تحتاج إلى التحقق مما إذا كان المتجر قد مكن الدفع عبر Google Pay - إذا كان الأمر كذلك ، فإننا في محرك القالب نضيف رابط CDN إلى مكتبة Google Pay إلى الصفحة ونعطي المتصفح علامة على أنك بحاجة إلى تنزيل البيانات باستخدام طريقة الدفع هذه.
على العميل ، تحتاج إلى التحقق مما إذا كانت هناك علامة ضرورية - وإذا كان الأمر كذلك ، فاتصل بطريقة التحقق مما إذا كانت الدفعات عبر Google Pay مدعومة على هذا الجهاز. إذا كان كل شيء على ما يرام ، فإننا نعرض للمستخدم زرًا آخر. ونتيجة لذلك ، لا تزال الصفحة معروضة على الخادم ، ولكننا الآن نقوم بعمل زوجين من الطلبات الإضافية لخدمة أخرى.
اتضح أن هذه الخدمة قد لا تستجيب في بعض الأحيان.
شهر كامل ، وليس استراحة واحدة!
تدور هذه القصة حول قسم UX - كيف كانوا يبحثون عن طريقة لرسم زر Google Pay ، ولكن في نفس الوقت لا يتدخلوا في تفاعل المستخدم مع النموذج.
الفكرة الأولى هي تعليق الالتفاف على الصفحة بأكملها وانتظار رد من Google.

ولكن إذا انتظرت ردًا من Google ، فليس هناك جدوى في عرض الخادم (لا يزال المستخدم غير قادر على التفاعل مع الصفحة حتى نحصل على البيانات على العميل) ، ونبدأ في الاعتماد على خدمة طرف ثالث. إذا كانت هناك مشكلة في الإنترنت ، فقد تم حظر Google أو تعذر الوصول إليها ، فلن يتمكن المستخدم من استخدام الصفحة ، على الرغم من عدم وجود شيء يمنعه من إدخال رقم البطاقة.
قام المصممون بالعديد من الخيارات ، ولكن لأسباب مختلفة لم تكن مناسبة ، وتغيرت متطلبات التخطيطات تدريجيًا.

أوقات الاقتراب

النهج الثاني
ونتيجة لذلك ، كانت هناك ثلاثة متطلبات رئيسية:
- يجب أن يكون المستخدم قادرًا على الدفع بغض النظر عما إذا كانت خدمة الطرف الثالث ستستجيب ومدة استمراره. يجب ألا تصبح الخدمة أبطأ.
- تحتاج إلى قابلية التوسع. عند إضافة الدفع من Apple أو Samsung ، لا ينبغي أن يؤثر ذلك على السرعة والقدرة على العمل مع حقول الإدخال للبطاقة المصرفية.
- يجب ألا يحتوي الحل على الكثير من الرسوم المتحركة / الديناميكيات. إذا بدأ المستخدم في إدخال البيانات ، وفي هذا الوقت يتم تحميل زر Google Pay وتغير شيء ما ، فقد لا يفهم المستخدم ما حدث ولماذا.
وبناءً عليه ، ظهر التصميم النهائي لنموذج الدفع. قام بترتيب جميع المعايير - قابلة للتوسيع ، ولا يمنع إدخال بطاقة مصرفية ، وعند تلقي بيانات البطاقة المصرفية ، لا توجد رسوم متحركة غير ضرورية.

ماذا عن الهواتف الذكية بدون NFC؟
للدفع عبر Google Pay في المتاجر غير المتصلة بالإنترنت ، لا تزال NFC مطلوبة ، ولا توجد خيارات.
NFC غير مطلوب على الإنترنت. تعمل جميع متصفحات سطح المكتب بشكل جيد مع Google Pay. هناك بعض الفروق الدقيقة في الهواتف الذكية - لدى Google متطلبات عديدة لجهاز مع Google Pay. إليك قائمة بما هو غير مسموح به:
- استخدام هاتف يعمل بنظام Android 4.4.3 أو إصدار سابق ؛
- تثبيت إصدار Android للمطورين ؛
- جعل الجذر ، وفتح برنامج bootloader أو تثبيت البرامج الثابتة غير الرسمية ؛
- استخدام Samsung MyKnox ؛
- استخدم جهاز Google لم يتم التحقق منه.
في حالات أخرى ، يجب أن تعمل الدفعات عبر Google Pay على الإنترنت بشكل جيد - ولكن ، على الأرجح ، لا أحد يعرف جميع الاستثناءات.
استنتاجات عمل قاسية إذا كنت تستخدم Yandex.Cash بالفعل
لتمكين قبول المدفوعات عبر Google Pay ، اكتب إلى المدير في حسابك. بعد فترة ، سيظهر الزر من تلقاء نفسه ، ويمكنك قضاء وقت المطورين على شيء آخر.
سيزداد التحويل - وفقًا لدراسة أجرتها Mediascope ، يدفع 36.3٪ من المستخدمين عدم الاتصال. أظهر بحث Yandex.Money نفسه أن 43٪ من حاملي البطاقات يستخدمونها للدفع بدون تلامس. بالإضافة إلى ذلك ، هناك عدد غير قليل من الأشخاص الذين يستخدمون Android بين مستخدمي Android - لن يحتاجوا إلى إدخال الرمز الآمن ثلاثي الأبعاد.
استنتاجات عمل قاسية ، إذا كنت لا تستخدم Yandex.Cash بالفعل
الاتصال على وجه السرعة ، لماذا سحب شيء ما؟
قصص أخرى عن ما هو جيد في كاسا
عشرة أشخاص على 90 ألف موقع: كيف لا بالجنون
تعبت من قبول المدفوعات من خلال WebView. ماذا افعل؟
كيف نحمي المراجعات والمشتريات والسفر من المخادعين