تعتمد Google رسميًا واجهة برمجة تطبيقات طلب الدفع ، مما يتيح لك الدفع باستخدام تطبيقات الجهات الخارجية في Chrome

وأخيرا هناك طريقة جديدة للدفع

تم تعيينه ليتم الإعلان عنه في مؤتمر مطور الإدخال / الإخراج القادم من Google ، فإن واجهة برمجة تطبيقات طلب الدفع ستحدث ثورة في الطريقة التي ندفع بها عبر الإنترنت على أجهزتنا المحمولة. لم يعد على مستخدمي Google Chrome على نظام Android إجراء عمليات تدقيق مطولة تتضمن إدخال معلومات بطاقة الائتمان الخاصة بهم أو تسجيل الدخول إلى PayPal. بدلاً من ذلك ، تُمكّن واجهة برمجة التطبيقات مطوري مواقع الويب من إرسال نوايا إلى تطبيقات الدفع التابعة لجهة خارجية من أجل إجراء الدفع. على عكس العديد من المفاجآت الأخرى التي قامت Google بتخزينها لنا ، هناك بالفعل الكثير من المعلومات العامة حول كيفية عمل هذه الطريقة الجديدة للدفع بالضبط . لقد غطسنا في جميع هذه المستندات لنقدم لك بعض المعلومات قبل إعلان Google الرسمي هذا الأسبوع.


جعل الدفعات أسهل مع واجهة برمجة تطبيقات طلب الدفع

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

صفحات الخروج التاجر عبر الإنترنت المختلفة

العديد من بطاقات الائتمان والمؤسسات المصرفية لديها تطبيقات متوفرة على متجر Google Play. نظرًا لأننا نستخدم هذه التطبيقات بالفعل لمراقبة حساباتنا المالية ، فلماذا لا يمكننا استخدامها لمصادقة المدفوعات؟ هذه هي بالضبط عملية التفكير وراء مجموعة عمل مدفوعات الويب ، والتي تتكون من أعضاء مثل Google و Mozilla و Samsung و Alibaba و Microsoft وغيرهم. تعمل هذه المجموعة من وراء الكواليس من أجل تقديم واجهة برمجة تطبيقات جديدة تسمى واجهة برمجة تطبيقات طلب الدفع ومعيارًا جديدًا عبر الإنترنت محدد في اقتراح بيان الدفع من أجل تسهيل الاتصال بين متصفحات الويب والتجار عبر الإنترنت حتى يمكن للتاجر عبر الإنترنت استخدام التطبيقات الحالية على جهاز المستخدم النهائي من أجل التعامل مع المدفوعات.

كيف تعمل

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

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

دعنا نقول أن تطبيق بطاقة الائتمان الافتراضية المثبت على جهاز Android الافتراضي يسمى Bob Pay. سيقوم Bob Pay بإضافة ما يلي إلى ملف AndroidManifest.xml:

 

عند إرسال نية تستهدف تطبيق بطاقة الائتمان الافتراضية ، يتم تشغيل خدمة هذا التطبيق. جميع المعلومات اللازمة لتطبيق Bob Pay الافتراضي الخاص بنا لفهم ما يتم شراؤه ، من أي بائع ، ومقدار الأموال الموجودة في إضافات النية:

 Bundle extras = new Bundle(); extras.putString("key", "value"); intent.putExtras(extras); 

بمجرد التحقق من صحة Pay Pay ، يتلقى API طلب الدفع هذه المعلومات في نية أخرى يرسلها Bob Pay:

 Intent result = new Intent(); Bundle extras = new Bundle(); extras.putString("key", "value"); result.putExtras(extras); setResult(RESULT_OK, result); // Change to RESULT_CANCELED on failure. finish(); // Close the payment activity. 

لكن كيف يعرف التاجر عبر الإنترنت الذي يدعم Bob Pay أن Bob Pay المثبت على هاتفك هو Bob Pay الحقيقي ، وليس بعض البرامج الضارة التي تهدف إلى ارتكاب الاحتيال؟ يحقق ذلك عن طريق إنشاء ملف JSON لمعرّف طريقة الدفع قابل للقراءة آليًا بواسطة المستعرض.

 { " name " : " BobPay - World's Greatest Payment Method ", " description " : " This payment method changes lives ", " short_name " : " BobPay ", " icons " : [{ " src " : " icon/lowres.webp ", " sizes " : " 64x64 ", " type " : " image/webp " }, { " src " : " icon/lowres.png ", " sizes " : " 64x64 " }, { " src " : " icon/hd_hi ", " sizes " : " 128x128 " }], " serviceworker " : { " src " : " payment-sw.js ", " scope " : " /pay ", " use_cache " : false } " related_applications " : [ { " platform " : " play ", " url " : " //play.google.com/store/apps/details?id=com.bobpay ", " fingerprints " : [{ " type " : " sha256_cert ", " value " : " 59:5C:88:65:FF:C4:E8:20:CF:F7:3E:C8... " }], //new " min_version " : " 1 ", // new " id " : " com.example.app1 " }, { " platform " : " itunes ", " url " : " //itunes.apple.com/app/example-app1/id123456789 ", } ] } 

ضمن ملف JSON هذا ، يتم استخدام توقيع للتحقق من سلامة التطبيق المثبت على جهازك الذي يدعي أنه حقيقي Bob Pay. إذا فشل التحقق من التوقيع ، فلن يتم قبول Bob Pay كمعالج للدفع.

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

مخطط الدفع. المصدر: رسلان سليمان

كما ترون ، هناك الكثير من الخطوات المتضمنة هنا. سيتم التعامل مع كل هذه التغييرات من قبل مطوري المواقع التجارية عبر الإنترنت ، وتطبيقات البطاقات المصرفية / الائتمانية التي تعمل بنظام Android ، ومطوري متصفحات الويب ، وبالتالي لن يكون لدى المستخدم النهائي أي فكرة عما يحدث بالفعل هنا. لكن عليك أن تعرف أن النتيجة النهائية هي أن المدفوعات عبر الإنترنت ستصبح أبسط بكثير إذا نفذت جميع الأطراف المعنية هذه التغييرات ، والتي بفضل الجهود التقييسية لمجموعة عمل المدفوعات على الويب ، نأمل أن تصبح حقيقة واقعة.


المحفوظات وراء API طلب الدفع

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

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

بعد الكثير من التراجع الداخلي للمجموعة ، في 25 نوفمبر 2016 ، قدم Zach Koch من Google و Dapeng Liu من Alibaba مسودة أولية لبيان طريقة الدفع من أجل بدء عملية التقييس لمعرفات طريقة الدفع التي يمكن لجميع الأعضاء توافق على. في النهاية ، التقى أعضاء مجموعة العمل شخصيًا في شيكاغو في الفترة من 23 إلى 24 مارس من أجل تجزئة واجهة برمجة تطبيقات طلب الدفع ومقترح بيان الدفع والمزيد. صوتت مجموعة العمل على اعتماد نسخة جديدة من اقتراح بيان الدفع (الإصدار 2) رسميًا ، وهو ما نقف عليه اليوم.


دعم API طلب الدفع

في 10 مايو ، يتم الآن تمكين دعم تطبيقات دفع Android الخارجية بشكل افتراضي في Chromium نظرًا لأن شرط بيان الدفع عبر الإنترنت تمت الموافقة عليه في فرع blink-dev (Blink هو اسم محرك العرض الذي يستخدمه Chrome). لاحظ أن هذه الميزة كانت قيد الاختبار في Chrome منذ شهور ، لكن يبدو أن المجموعة على استعداد للمضي قدمًا في هذا الأمر مؤخرًا. سيتم شحن هذه الميزة على جميع الأنظمة الأساسية / إصدارات Chromium باستثناء Android Webview (الذي لا يحتوي على واجهة مستخدم وبالتالي لا يمكن تطبيق API Request Payment).

فقط بعد أشهر من العمل وراء الكواليس ، سنرى الآن فوائد ما تعمل عليه مجموعة عمل مدفوعات الويب. في Google I / O ، من المحتمل أن تعلن الشركة أن Google Chrome سوف يتم شحنه مع تمكين واجهة برمجة تطبيقات طلب الدفع ، وسيقوم Zach Koch المذكور سابقًا بالحديث يوم الخميس حول كيفية قيام موفري الدفع من الأطراف الثالثة بدعم API من خلال إنشاء بيان الدفع ملفات JSON.

تعمل المتصفحات الأخرى أيضًا على إضافة دعم لواجهة برمجة تطبيقات طلب الدفع. أعربت Mozilla و Samsung عن دعمهما العام لإضافة واجهة برمجة التطبيقات ، على الرغم من أنه وفقًا لـ Googler Rouslan Solomakhin ، فليس هناك أي معلومات حتى الآن عما إذا كان متصفح Microsoft Edge أو Safari من Apple سيضيفان الدعم. تجدر الإشارة إلى أن Microsoft تختبر بالفعل واجهة برمجة تطبيقات طلب الدفع للتطبيقات العالمية لنظام Windows الأساسي (UWP) وأن بنكًا واحدًا على الأقل قد قام بالفعل بتطبيق الدعم (مونزو) في تطبيقه.

بالنسبة للتجار الآخرين عبر الإنترنت وتطبيقات Android التي ستدعم مواصفات الدفع الجديدة هذه ، وفقًا لـ Googler Zach Koch:

عدد "موفري طرق الدفع" الذين يحتاجون إلى تطبيق هذه المواصفات صغير جدًا (بالمئات) ، والآن نعمل فقط مع مجموعة فرعية صغيرة جدًا من هؤلاء (<5) لاختبار المياه. إذا واجهنا موقفًا كنا بحاجة فيه إلى تغيير أحد الحقول ، أعتقد أنه يمكننا القيام بذلك بسهولة ودون الكثير من المخاطر (إن وجدت). يدرك جميع شركائنا الأوائل أن هذه المواصفات يمكن أن تتغير وأنهم بخير في ذلك.

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

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


ما رأيك في هذا المعيار القادم؟ صوت في التعليقات واسمحوا لنا أن نعرف رأيك!