„Google“ oficialiai priima mokėjimo užklausos API, leidžiančią jums mokėti naudojant trečiųjų šalių programas „Chrome“

Bus paskelbta per „Google I/O“, „Google“ oficialiai įdiegia mokėjimo užklausos API į „Chrome“, leidžiančią mokėti naudojant trečiųjų šalių programas.

Numatyta paskelbti artėjančioje „Google I/O“ kūrėjų konferencijoje „Payment Request“ API pakeis internetinių mokėjimų mobiliuosiuose įrenginiuose būdą. „Google Chrome“ naudotojams, naudojantiems „Android“, nebereikės atlikti ilgų atsiskaitymo procesų, įskaitant kredito kortelės informacijos įvedimą arba prisijungimą prie „PayPal“. Vietoj to, API leidžia svetainių kūrėjams siųsti ketinimus į palaikomas trečiųjų šalių mokėjimo programas, kad galėtų atlikti mokėjimą. Skirtingai nuo daugelio kitų staigmenų kuriuos „Google“ mums paruošė, jau yra daug viešos informacijos apie tai, kaip tiksliai veiks šis naujas mokėjimo būdas. Išnagrinėjome visus šiuos dokumentus, kad pateiktume jums šiek tiek informacijos prieš oficialų „Google“ pranešimą šią savaitę.


Lengvesnis mokėjimas naudojant mokėjimo užklausos API

Pirmiausia apibendrinkime, kaip šiuo metu mokėjimai apdorojami žiniatinklio naršyklėse. Kai einate į bet kurio internetinio prekybininko atsiskaitymo puslapį, jūsų prašoma įvesti mokėjimo informaciją. Norėdami užbaigti operaciją, galite pridėti prekybininko palaikomą kredito kortelę arba naudoti integruotą paslaugą, pvz., „PayPal“. Dabar, nebent jau išsaugojote savo kredito kortelės informaciją svetainėje (to daugelis žmonių nenori daryti) arba jau esate prisijungę į PayPal, gali būti sunku atsikelti, eiti į piniginę, rasti kortelę, tada įvesti kortelės numerį, galiojimo datą ir saugumą kodas. Kiekvieną kartą, kai norite pirkti naujoje svetainėje, turite atlikti tam tikrus šio proceso variantus. Tiems iš mūsų, kurie

mėgsta medžioti sandorius, tai gali gana greitai suerzinti.

Įvairūs internetiniai prekybininkų atsiskaitymo puslapiai

Daugelis kredito kortelių ir bankų įstaigų turi programas, kurias galima rasti „Google Play“ parduotuvėje. Kadangi jau naudojame šias programas savo finansinėms sąskaitoms stebėti, kodėl negalime jų naudoti mokėjimų autentifikavimui? Būtent toks mąstymo procesas yra už internetinių mokėjimų darbo grupės, kurią sudaro tokie nariai kaip „Google“, „Mozilla“, „Samsung“, „Alibaba“, „Microsoft“ ir kt. Ši grupė dirbo užkulisiuose, siekdama pristatyti naują API, vadinamą mokėjimo užklausos API ir naujas internetinis standartas, apibrėžtas Mokėjimo manifesto pasiūlyme, siekiant palengvinti ryšį tarp interneto naršyklių ir internetinius prekybininkus, kad internetinis prekybininkas galėtų naudoti esamas galutinio vartotojo įrenginyje esančias programas mokėjimams tvarkyti.

Kaip tai veikia

Norėdami atlikti šią užduotį, žiniatinklio naršyklės turi palaikyti mokėjimo užklausos API, internetiniai prekybininkai turi palaikyti API įdiegdami tai, kas vadinama a Mokėjimo būdo identifikatoriusir Android programos reikia diegti naujas paslaugas. Per daug nesigilindamas trumpai paaiškinsiu, kas vyksta atsiskaitymo metu.

Darant prielaidą, kad jūsų žiniatinklio naršyklė palaiko mokėjimo užklausos API (daugiau apie tai vėliau), naršydami į internetinio prekybininko mokėjimo puslapį turėsite galimybę mokėti su vienu iš jų palaikomų mokėjimų tvarkytojų (kredito kortele / PayPal / tt), kai bakstelite mygtuką, kad įsigytumėte (pvz., toliau pateiktame pavyzdiniame puslapyje, kurį naudoja „Google“ darbuotojai išbandykite mokėjimo užklausos API), tada mokėjimo užklausos API siunčia „Android“ tikslą palaikomai mokėjimo programai, kad ši programa galėtų autentifikuoti naudotojo mokėjimas.

 Tarkime, mūsų hipotetinė kredito kortelės programa, įdiegta hipotetiniame „Android“ įrenginyje, vadinama „Bob Pay“. Bob Pay prie savo AndroidManifest.xml failo pridės:

"font-weight: 400;"><manifestspan><spanstyle="font-weight: 400;">package=span><spanstyle="font-weight: 400;">"com.bobpay.app"span><spanstyle="font-weight: 400;">>span>
"font-weight: 400;"> </span>span> <spanstyle="font-weight: 400;">android: name=span><spanstyle="font-weight: 400;">".IsReadyToPayService"span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">android: enabled=span><spanstyle="font-weight: 400;">"true"span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">android: exported=span><spanstyle="font-weight: 400;">"true"span><spanstyle="font-weight: 400;">>span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;"><intent-filter>span>
"font-weight: 400;"> </span>span> <spanstyle="font-weight: 400;">android: name=span><spanstyle="font-weight: 400;">"org.chromium.intent.action.IS_READY_TO_PAY"span><spanstyle="font-weight: 400;">/></span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">intent-filter>span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">service>span>
"font-weight: 400;"> </span>span> <spanstyle="font-weight: 400;">android: name=span><spanstyle="font-weight: 400;">".PaymentActivity"span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">android: exported=span><spanstyle="font-weight: 400;">"true"span><spanstyle="font-weight: 400;">>span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;"><intent-filter>span>
"font-weight: 400;"> </span>span> <spanstyle="font-weight: 400;">android: name=span><spanstyle="font-weight: 400;">"org.chromium.intent.action.PAY"span><spanstyle="font-weight: 400;">/></span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">intent-filter>span>
"font-weight: 400;"> </span>span> <spanstyle="font-weight: 400;">android: name=span><spanstyle="font-weight: 400;">"org.chromium.default_payment_method_name"span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">android: value=span><spanstyle="font-weight: 400;">"https://bobpay.com/put/optional/path/here"span><spanstyle="font-weight: 400;">/>span>
<spanstyle="font-weight: 400;">span><spanstyle="font-weight: 400;">activity>span>
<spanstyle="font-weight: 400;">manifest>span>

Kai siunčiamas ketinimas, nukreiptas į šią hipotetinę kredito kortelės programą, paleidžiama šios programos paslauga. Visa informacija, reikalinga mūsų hipotetinei „Bob Pay“ programai, kad suprastų, kas perkama, iš kurio pardavėjo ir už kiek pinigų yra numatyta prieduose:

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

Kai Bob Pay patvirtina mokėjimą, mokėjimo užklausos API gauna šią informaciją kitu tikslu, kurį siunčia Bob Pay:

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

Bet kaip internetinis prekybininkas, palaikantis Bob Pay, žino, kad jūsų telefone įdiegtas Bob Pay yra tikrasis Bob Pay, o ne kokia nors kenkėjiška programa, skirta sukčiavimui? Tai atliekama sukuriant mokėjimo metodo manifesto identifikatoriaus JSON failą, kurį naršyklė nuskaito mašininiu būdu.

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

Šiame JSON faile yra parašas, naudojamas jūsų įrenginyje įdiegtos programos, kuri teigia esanti tikras Bobas Pay. Jei šis parašo patikrinimas nepavyks, Bob Pay nebus priimtas kaip mokėjimų tvarkytojas.

Žinoma, aš labai, be galo, nepaprastai supaprastinu bendrą čia vykstantį procesą. Mokėjimai yra neįtikėtinai sudėtinga sistema, kuriai reikia kelių saugumo patikrų lygių, siekiant užtikrinti, kad atliekami tik galiojantys mokėjimai. Trijuose dokumentuose, su kuriais susiejau anksčiau, aprašoma, kaip naršyklė visiškai įgyvendina mokėjimo užklausos API, kaip a svetainėje įdiegiamas JSON aprašo failas ir kaip „Android“ programa gali apdoroti mokėjimo užklausos išsiųstą tikslą API. Čia yra struktūrinė schema, kurioje aprašomas bendras procesas, kurį apibendrinau aukščiau:

Mokėjimo schema. Šaltinis: Ruslanas Solomachinas

Kaip matote, čia yra daug žingsnių. Visus šiuos pakeitimus atliks internetinių prekybininkų svetainių, Android bankininkystės / kredito kūrėjai kortelių programas ir žiniatinklio naršyklių kūrėjus, todėl galutinis vartotojas greičiausiai nesupras, kas iš tikrųjų vyksta čia. Tačiau tiesiog žinokite, kad galutinis rezultatas – jūsų mokėjimai internetu taps daug paprastesni, jei dalyvaus visos šalys įgyvendinti šiuos pakeitimus, kuriais tikimasi, kad Interneto mokėjimų darbo grupės standartizacijos pastangos taps realybe.


Mokėjimo užklausos API istorija

World Wide Web Consortium (sutrumpintai W3C) buvo įkurtas 1994 m., siekiant sukurti platformą. standartus, kurie leistų visoms svetainėms ir jų naudotojams gauti naudos iš suderinamumo ir nuoseklumas. Siekdama išspręsti didėjantį internetinių mokėjimų susiskaidymą, W3C sudarė Interneto mokėjimų darbo grupė 2015 m siekiant standartizuoti kai kuriuos mokėjimų internetu aspektus. Po to visi Interneto mokėjimų darbo grupės nariai pradėjo dirbti, siekiant rasti būdų, kaip pagerinti esamų internetinių mokėjimų sistemų veikimą.

Grupė sugalvojo Mokėjimo užklausos API, metodų rinkinys, leidžiantis svetainėms naudoti mokėjimo metodus neintegruojant mokėjimo metodo į savo svetainę. Kad būtų palaikoma API, žiniatinklio naršyklės turi būti atnaujintos, bet sunkesnė dalis kyla iš to pritraukti internetinius prekybininkus. Tuo tikslu darbo grupės nariai pateikė pasiūlymą apie tai, kaip svetainės gali sukurti identifikatorius, kad nustatytų, kuriuos mokėjimo būdus jos palaiko. Tam reikia sukurti mokėjimų manifesto JSON failą, kuris būtų nuskaitomas mašininiu būdu (mokėjimo metodo identifikatorius) – jį turi perskaityti naršyklė, kad Mokėjimo užklausos API gali nustatyti, ar vartotojas turi vieną ar daugiau programų, atitinkančių palaikomus mokėjimo metodus, nurodytus JSON. failą. Šį įgyvendinimą įkvėpė „Google“. Skaitmeninių išteklių nuorodų protokolas taip svetainės nukreipia jus iš savo svetainės mobiliesiems į savo programą, jei ją jau įdiegėte.

Po daugybės grupės vidinių veiksmų, galiausiai 2016 m. lapkričio 25 d. Zachas Kochas iš Google ir Dapeng Liu iš Alibaba pateikė pirminis Mokėjimo būdo manifesto projektas siekiant pradėti mokėjimo metodų identifikatorių standartizacijos procesą, su kuriuo galėtų sutikti visi nariai. Galiausiai darbo grupės nariai susitiko asmeniškai Čikagoje kovo 23-24 dienomis norėdami sumaišyti mokėjimo užklausos API, mokėjimo manifesto pasiūlymą ir kt. Darbo grupė balsavo už formalų priėmimą nauja Mokėjimo manifesto pasiūlymo versija (2 versija), kurioje mes šiandien stovime.


Mokėjimo užklausos API palaikymas

Gegužės 10 d. trečiųjų šalių „Android“ mokėjimo programų palaikymas dabar teikiamas įjungta pagal numatytuosius nustatymus „Chromium“, nes žiniatinklio mokėjimo aprašo išankstinė sąlyga buvo patvirtinta „blink-dev“ šakoje (Blink yra „Chrome“ naudojamo atvaizdavimo variklio pavadinimas). Atminkite, kad ši funkcija „Chrome“ buvo bandoma kelis mėnesius, tačiau tik neseniai paaiškėjo, kad grupė yra pasirengusi tai tęsti. Ši funkcija bus išsiųsta visose „Chromium“ platformose / versijose, išskyrus „Android WebView“. (kuris neturi vartotojo sąsajos ir todėl negali įdiegti mokėjimo užklausos API).

Tik po kelis mėnesius trukusio darbo užkulisiuose dabar pamatysime naudą, kurią dirbo žiniatinklio mokėjimų darbo grupė. „Google I/O“ įmonė greičiausiai paskelbs, kad „Google Chrome“ bus pristatyta su įjungta mokėjimo užklausos API, o Zachas Kochas paminėjo anksčiau ketvirtadienį kalbės apie tai, kaip trečiųjų šalių mokėjimo paslaugų teikėjai gali palaikyti API kurdami mokėjimo manifesto JSON failus.

Kitos naršyklės taip pat stengiasi pridėti mokėjimo užklausos API palaikymą. Mozilla ir „Samsung“ išreiškė viešą paramą API pridėjimui pagal „Google“ darbuotoją Ruslanas Solomachinas kol kas nėra informacijos, ar „Microsoft Edge“ naršyklė ar „Apple Safari“ pridės palaikymą. Turėtume pažymėti, kad „Microsoft“ yra jau išbando mokėjimo užklausos API universaliosios Windows platformos (UWP) programoms ir pas bent vienas bankas jau yra įgyvendinęs paramą (Monzo) savo programoje.

Kalbant apie kitus internetinius prekybininkus ir „Android“ programas, kurios palaikys šią naują mokėjimo specifikaciją, pasak „Google“ darbuotojo Zacho Kocho:

„Mokėjimo būdų teikėjų“, kuriems reikėtų įdiegti šią specifikaciją, skaičius yra gana mažas (šimtai), ir šiuo metu mes tiesiogiai dirbame tik su labai mažu jų pogrupiu (<5), kad išbandytume vandenys. Jei atsidurtume situacijoje, kai reikėtų pakeisti vieną iš laukų, manau, galėtume tai padaryti lengvai ir be didelės (jei iš viso) sąveikos rizikos. Visi mūsų pirmieji partneriai žino, kad ši specifikacija gali pasikeisti, ir su tuo sutinka.

Tai labai svarbu, kad kiti žaidėjai galėtų dalyvauti viešųjų ryšių ekosistemoje, bent jau „Android“. Aš tikrai nenorėčiau eiti visiškai patentuotu keliu, kad įgalinčiau „Android“ vietines programas. Sąmoningai išlaikėme mažą pėdsaką, kad liktų erdvės augimui ir pažangesniems naudojimo atvejams.

Taigi matome, kad nors „Google“ teikia pirmaujančią mokėjimo užklausos API palaikymą, prireiks šiek tiek laiko, kol tikrai pamatysime, kad šis naujas mokėjimo būdas atsidurs visose naršyklėse, visi internetiniai prekybininkai ir visos programos. Aš asmeniškai labai džiaugiuosi, kad „Google“ palaiko mokėjimo užklausos API. El. prekybos ekosistema daugelį metų buvo be reikalo suskaidyta mokėjimo metodais, o jei ši nauja API reiškia, kad daugiau niekada nereikės įvesti savo kredito kortelės informacijos rankiniu būdu į svetainę, tada aš esu už tai.


Ką manote apie šį būsimą standartą? Skambėkite komentaruose ir praneškite mums savo nuomonę!