Google bo uradno sprejel API za zahtevo za plačilo v Chromu, ki bo objavljen med Google I/O, kar vam bo omogočilo plačevanje z aplikacijami tretjih oseb.
Napovedano bo na prihajajoči konferenci za razvijalce Google I/O bo API za zahtevek za plačilo spremenil način izvajanja spletnih plačil na naših mobilnih napravah. Uporabnikom brskalnika Google Chrome v sistemu Android ne bo več treba skozi dolgotrajne postopke nakupa, ki vključujejo vnos podatkov o kreditni kartici ali prijavo v PayPal. Namesto tega API omogoča razvijalcem spletnih mest, da pošljejo namere podprtim plačilnim aplikacijam tretjih oseb, da izvedejo plačilo. Za razliko od mnogih druga presenečenja ki jih Google pripravlja za nas, obstaja že ogromno javnih informacij o tem, kako točno bo ta novi način plačevanja deloval. Poglobili smo se v vse te dokumente, da bi vam predstavili nekaj informacij pred Googlovo uradno objavo ta teden.
Enostavnejše plačevanje z API-jem za zahtevek za plačilo
Najprej povzamemo, kako se plačila trenutno obravnavajo v spletnih brskalnikih. Ko greste na stran za dokončanje nakupa katerega koli spletnega trgovca, morate vnesti podatke o plačilu. Za dokončanje transakcije lahko dodate kreditno kartico, ki jo podpira trgovec, ali uporabite integrirano storitev, kot je PayPal. Zdaj, razen če ste že shranili podatke o svoji kreditni kartici na spletnem mestu (česar mnogi ljudje neradi storijo) ali ste že prijavljeni v PayPal, je lahko težavno vstati, iti do denarnice, poiskati kartico, nato vnesti številko kartice, datum poteka in varnost Koda. Vsakič, ko želite opraviti nakup na novem spletnem mestu, morate iti skozi nekaj različic tega postopka. Za tiste med nami, ki
radi lovijo kupčije, lahko postane to kaj hitro moteče.Različne strani za nakupe spletnih trgovcev
Številne kreditne kartice in bančne ustanove imajo aplikacije na voljo v trgovini Google Play. Ker te aplikacije že uporabljamo za spremljanje naših finančnih računov, zakaj jih ne moremo uporabiti za preverjanje pristnosti plačil? Točno to je miselni proces v ozadju delovne skupine za spletna plačila, ki jo sestavljajo člani, kot so Google, Mozilla, Samsung, Alibaba, Microsoft in drugi. Ta skupina je delovala v zakulisju, da bi predstavi nov API, imenovan Payment Request API in nov spletni standard, opredeljen v predlogu plačilnega manifesta, da bi olajšali komunikacijo med spletnimi brskalniki in spletni trgovci, tako da lahko spletni trgovec uporablja obstoječe aplikacije na napravi končnega uporabnika za obdelavo plačil.
Kako deluje
Da bi izpolnili to nalogo, spletni brskalniki mora podpirati API zahteve za plačilo, morajo spletni trgovci podpirati API z implementacijo tako imenovanega a Identifikator načina plačilain aplikacije za Android potrebo po uvedbi novih storitev. Ne da bi šel v preveč podrobnosti, bom na kratko razložil, kaj se dogaja med postopkom blagajne.
Ob predpostavki, da vaš spletni brskalnik podpira API za zahtevo za plačilo (več o tem pozneje), boste imeli možnost plačila, ko se pomaknete na plačilno stran spletnega trgovca z enim od njihovih podprtih upravljavcev plačil (kreditna kartica/PayPal/itd.), ko se dotaknete gumba za nakup (na primer na spodnji vzorčni strani, ki jo uporabljajo Googlovi zaposleni za preizkusite API za zahtevo za plačilo), nato API za zahtevo za plačilo pošlje namero Android podprti aplikaciji za plačilo, da ta aplikacija preveri pristnost uporabnikovega plačilo.
Recimo, da se naša hipotetična aplikacija za kreditno kartico, nameščena na hipotetični napravi Android, imenuje Bob Pay. Bob Pay bo svoji datoteki AndroidManifest.xml dodal naslednje:
"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>
Ko je poslan namen, ki cilja na to hipotetično aplikacijo za kreditno kartico, se zažene storitev te aplikacije. Vse informacije, ki so potrebne za našo hipotetično aplikacijo Bob Pay, da razume, kaj se kupuje, od katerega prodajalca in za koliko denarja je v dodatkih namena:
Bundle extras = new Bundle();
extras.putString("key", "value");
intent.putExtras(extras);
Ko Bob Pay potrdi plačilo, potem API za zahtevo za plačilo prejme te informacije v drugem namenu, ki ga pošlje 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.
Toda kako spletni trgovec, ki podpira Bob Pay, ve, da je Bob Pay, nameščen na vašem telefonu, pravi Bob Pay in ne zlonamerna programska oprema, namenjena goljufijam? To doseže tako, da ustvari datoteko JSON z identifikatorjem manifesta načina plačila, ki jo brskalnik strojno bere.
{
<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>,
}
]
}
Znotraj te datoteke JSON je podpis, ki se uporablja za preverjanje celovitosti aplikacije, nameščene v vaši napravi, ki trdi, da je resnično Bob Pay. Če to preverjanje podpisa ne uspe, Bob Pay ne bo sprejet kot izvajalec plačil.
Seveda zelo, zelo, zelo preveč poenostavljam splošni postopek, ki je tukaj vključen. Plačila so izjemno zapleten sistem, ki zahteva večplastno varnostno preverjanje, da se zagotovi, da se izvajajo samo veljavna plačila. Trije dokumenti, na katere sem se prej povezal, opisujejo, kako brskalnik v celoti izvaja API za zahtevo za plačilo, kako a spletno mesto izvaja datoteko manifesta JSON in kako lahko aplikacija za Android obravnava namero, poslano z zahtevo za plačilo API. Tukaj je diagram poteka, ki opisuje splošni postopek, ki sem ga povzel zgoraj:
Diagram poteka plačil. Vir: Rouslan Solomakhin
Kot lahko vidite, je tu vključenih veliko korakov. Za vse te spremembe bodo skrbeli razvijalci spletnih mest za spletne trgovce, bančništvo/kredit Android aplikacije za kartice in razvijalci spletnih brskalnikov, tako da končni uporabnik verjetno ne bo vedel, kaj se v resnici dogaja tukaj Vedite pa le, da bo končni rezultat vaša spletna plačila postala veliko enostavnejša, če bodo vključene vse strani izvesti te spremembe, kar bo, upajmo, postalo zaradi standardizacijskih prizadevanj delovne skupine za spletna plačila resničnost.
Zgodovina API-ja za zahtevo za plačilo
Konzorcij svetovnega spleta (skrajšano W3C) je bil ustanovljen leta 1994 z namenom razvoja platforme. standardi, ki bi vsem spletnim mestom in njihovim uporabnikom omogočili, da izkoristijo medsebojno združljivost in doslednost. Da bi obravnaval naraščajočo razdrobljenost spletnih plačil, je W3C ustanovil Delovna skupina za spletna plačila v letu 2015 da bi standardizirali nekatere vidike spletnega plačilnega toka. Nato se je začelo delo med vsemi člani delovne skupine za spletna plačila, da bi našli načine za izboljšanje delovanja obstoječih spletnih plačilnih sistemov.
Skupina se je domislila API za zahtevo za plačilo, zbirka metod, ki spletnim mestom omogočajo uporabo načinov plačila, ne da bi integrirali način plačila na svoje mesto. Spletne brskalnike je treba posodobiti, da podpirajo API, a težji del izhaja iz vključitev spletnih trgovcev. V ta namen so člani delovne skupine prišel s predlogom o tem, kako lahko spletna mesta ustvarijo identifikatorje za določitev, katere načine plačila podpirajo. To vključuje ustvarjanje datoteke JSON plačilnega manifesta, ki je strojno berljiva (identifikator plačilne metode) – prebrati jo mora brskalnik, da API za zahtevo za plačilo lahko ugotovi, ali ima uporabnik eno ali več aplikacij, ki ustrezajo podprtim načinom plačila, opredeljenim v JSON mapa. Ta izvedba se zgleduje po Googlu Protokol povezav digitalnih sredstev tako vas spletna mesta preusmerijo s svojega mobilnega mesta na svojo aplikacijo, če jo že imate nameščeno.
Po dolgih internih pretresih skupine sta 25. novembra 2016 Zach Koch iz Googla in Dapeng Liu iz Alibabe predložila začetni osnutek Manifesta načina plačila da bi začeli postopek standardizacije za identifikatorje načinov plačila, s katerim bi se lahko strinjali vsi člani. Na koncu člani delovne skupine osebno srečal v Chicagu med 23. in 24. marcem za zgoščevanje API-ja zahteve za plačilo, predloga plačilnega manifesta in več. Delovna skupina glasoval za uradno sprejetje nova različica predloga plačilnega manifesta (različica 2), kjer stojimo danes.
Podpora za API zahteve za plačilo
10. maja je zdaj na voljo podpora za plačilne aplikacije za Android tretjih oseb privzeto omogočeno v Chromiumu, saj je bil predpogoj manifesta spletnega plačila odobren v veji blink-dev (Blink je ime mehanizma za upodabljanje, ki ga uporablja Chrome). Upoštevajte, da je bila ta funkcija v Chromu preizkušana več mesecev, vendar se je šele pred kratkim izkazalo, da je skupina pripravljena nadaljevati s tem. Ta funkcija bo na voljo vse platforme/različice Chromiuma razen Android Webview (ki nima uporabniškega vmesnika in zato ne more implementirati API-ja zahteve za plačilo).
Šele po mesecih dela v zakulisju bomo zdaj videli prednosti tega, na čemer dela delovna skupina za spletna plačila. Na Google I/O bo podjetje verjetno objavilo, da bo Google Chrome dobavljen z omogočenim API-jem za zahtevo za plačilo, in Zach Koch je omenil prej bo v četrtek govoril o tem, kako lahko tretji ponudniki plačil podpirajo API z izdelavo plačilnega manifesta JSON datoteke.
Tudi drugi brskalniki si prizadevajo dodati podporo za API zahteve za plačilo. Mozilla in Samsung sta izrazila javno podporo dodajanju API-ja glede na Googlovca Rouslan Solomakhin še ni znano, ali bo Microsoftov brskalnik Edge ali Applov Safari dodal podporo. Opozoriti moramo, da je Microsoft že preizkuša API zahteve za plačilo za aplikacije univerzalne platforme Windows (UWP). in pri vsaj ena banka je že implementirala podporo (Monzo) v njihovi aplikaciji.
Kar zadeva druge spletne trgovce in aplikacije za Android, ki bodo podpirale to novo plačilno specifikacijo, po besedah Googlovega Zacha Kocha:
Število "ponudnikov plačilnih metod", ki bi morali implementirati to specifikacijo, je precej majhno (na stotine) in trenutno delamo neposredno samo z zelo majhno podmnožico teh (<5) za testiranje vode. Če bi res naleteli na situacijo, ko bi morali spremeniti eno od polj, menim, da bi to lahko storili enostavno in brez večjega (če sploh) tveganja medsebojnega delovanja. Vsi naši prvi partnerji se zavedajo, da se ta specifikacija lahko spremeni, in se s tem strinjajo.
Uvedba tega je ključnega pomena za sodelovanje drugih igralcev v PR ekosistemu, vsaj v sistemu Android. Resnično raje ne bi šel po popolni lastniški poti, da bi omogočil izvorne aplikacije za Android. Odtis na tem smo namerno ohranili majhen, da bi pustili prostor za rast in naprednejše primere uporabe.
Tako lahko vidimo, da čeprav je Google pionir v podpori za API zahteve za plačilo, trajalo bo nekaj časa, preden bomo resnično videli, da se bo ta novi način plačevanja znašel v vseh brskalnikih, vsi spletni trgovci in vse aplikacije. Osebno sem zelo navdušen, da Google podpira API za zahtevo za plačilo. Ekosistem e-trgovine je bil leta po nepotrebnem razdrobljen s plačilnimi sredstvi in če bo ta novi API pomeni, da mi nikoli več ni treba ročno vnašati podatkov o kreditni kartici na spletno mesto, potem sem za to.
Kaj menite o tem prihajajočem standardu? Odzvonite v komentarjih in nam sporočite svoje mnenje!