Google ottaa virallisesti käyttöön Payment Request APIn, jonka avulla voit maksaa kolmannen osapuolen sovelluksilla Chromessa

Google julkistetaan Google I/O: n aikana, ja Google ottaa virallisesti käyttöön Payment Request APIn Chromeen, jonka avulla voit maksaa kolmannen osapuolen sovelluksilla.

Ilmoitetaan tulevassa Google I/O -kehittäjäkonferenssissa Payment Request API mullistaa tavan, jolla suoritamme verkkomaksuja mobiililaitteillamme. Google Chromen Android-käyttäjien ei enää tarvitse käydä läpi pitkiä kassaprosesseja, joihin kuuluu luottokorttitietojen syöttäminen tai PayPaliin kirjautuminen. Sen sijaan sovellusliittymän avulla verkkosivustojen kehittäjät voivat lähettää aikeita tuetuille kolmannen osapuolen maksusovelluksille maksun suorittamista varten. Toisin kuin monet muita yllätyksiä Googlella on meille varattavissa, siitä, kuinka tämä uusi maksutapa tarkalleen ottaen tulee toimimaan, on jo paljon julkista tietoa. Olemme perehtyneet kaikkiin näihin asiakirjoihin tarjotaksemme sinulle tietoja ennen Googlen virallista ilmoitusta tällä viikolla.


Maksamisen helpottaminen Payment Request APIn avulla

Kerrataanpa ensin, kuinka maksuja käsitellään tällä hetkellä verkkoselaimissa. Kun siirryt minkä tahansa verkkokauppiaan kassasivulle, sinua pyydetään syöttämään maksutietosi. Voit joko lisätä kauppiaan tukeman luottokortin tai käyttää integroitua palvelua, kuten PayPalia, suorittaaksesi tapahtumasi loppuun. Nyt, ellet ole jo tallentanut luottokorttitietojasi verkkosivustolla (mitä monet ihmiset eivät halua tehdä) tai olet jo kirjautunut PayPaliin, voi olla vaivalloista nousta ylös, mennä lompakkosi luo, etsiä korttisi ja syöttää sitten kortin numero, viimeinen voimassaolopäivä ja turvallisuus. koodi. Joka kerta, kun haluat tehdä ostoksen uudella verkkosivustolla, sinun on käytävä läpi jokin tämän prosessin muunnelma. Niille meistä, jotka

haluavat metsästää tarjouksia, tämä voi ärsyttää melko nopeasti.

Erilaisia ​​online-kauppiaiden kassasivuja

Monilla luottokortti- ja pankkilaitoksilla on sovelluksia saatavilla Google Play Kaupasta. Koska käytämme jo näitä sovelluksia taloustilien valvontaan, miksi emme voi käyttää niitä maksujen todentamiseen? Juuri tämä on Web Payments Working Groupin ajatusprosessi, joka koostuu jäsenistä, kuten Google, Mozilla, Samsung, Alibaba, Microsoft ja monet muut. Tämä ryhmä on työskennellyt kulissien takana sen eteen ottaa käyttöön uuden sovellusliittymän nimeltä Payment Request API ja uusi online-standardi, joka on määritelty maksuluetteloehdotuksessa verkkoselaimien välisen viestinnän helpottamiseksi ja verkkokauppiaat, jotta verkkokauppias voi käyttää loppukäyttäjän laitteessa olevia sovelluksia maksujen käsittelyyn.

Kuinka se toimii

Tämän tehtävän suorittamiseksi verkkoselaimet on tuettava Payment Request API: ta, verkkokauppiaiden on tuettava API: ta ottamalla käyttöön niin sanottu a Maksutavan tunnisteja Android-sovelluksia tarvetta ottaa käyttöön uusia palveluita. Menemättä liian yksityiskohtiin selitän lyhyesti, mitä kassalla tapahtuu.

Olettaen, että selaimesi tukee Payment Request API -sovellusliittymää (sitä lisää myöhemmin), kun siirryt verkkokauppiaan maksusivulle, sinulla on mahdollisuus maksaa jollakin heidän tuetuista maksunkäsittelijöistä (luottokortti/PayPal/jne.) Kun napautat painiketta tehdäksesi ostoksen (kuten alla olevalla esimerkkisivulla, jota Googlen työntekijät käyttävät Testaa Payment Request API), sitten Payment Request API lähettää Android-intentin tuetulle maksusovellukselle, jotta tämä sovellus voi todentaa käyttäjän maksu.

 Oletetaan, että hypoteettiseen Android-laitteeseen asennettu hypoteettinen luottokorttisovellus on nimeltään Bob Pay. Bob Pay lisää seuraavat tiedot AndroidManifest.xml-tiedostoonsa:

"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>

Kun tavoite lähetetään tähän hypoteettiseen luottokorttisovellukseen, tämän sovelluksen palvelu käynnistetään. Kaikki tiedot, joita tarvitsemme hypoteettiselle Bob Pay -sovelluksellemme ymmärtääkseen, mitä ostetaan, miltä myyjältä ja kuinka paljon rahaa tavoitteen lisävarusteet sisältävät:

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

Kun Bob Pay on vahvistanut maksun, Payment Request API vastaanottaa nämä tiedot toisessa Bob Payn lähettämässä tarkoituksessa:

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.

Mutta mistä Bob Payta tukeva verkkokauppias tietää, että puhelimeesi asennettu Bob Pay on oikea Bob Pay, ei mikään petosten tekemiseen tarkoitettu haittaohjelma? Se saavuttaa tämän luomalla Payment Method Manifest Identifier -JSON-tiedoston, joka on selaimen koneellisesti luettavissa.

{
<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>,
}
]
}

Tässä JSON-tiedostossa on allekirjoitus, jota käytetään varmistamaan laitteellesi asennetun sovelluksen eheys, joka väittää olevansa todellinen Bob Pay. Jos tämä allekirjoituksen tarkistus epäonnistuu, Bob Payta ei hyväksytä maksujen käsittelijäksi.

Tietysti yksinkertaistan valtavasti, valtavasti, valtavasti tähän liittyvää yleistä prosessia. Maksut ovat uskomattoman monimutkainen järjestelmä, joka vaatii useita turvatarkastuksia varmistaakseen, että vain kelvollisia maksuja suoritetaan. Kolme asiakirjaa, joihin aiemmin linkitin, kuvaavat, kuinka selain toteuttaa maksupyynnön API: n täysin, miten a verkkosivusto toteuttaa JSON-luettelotiedoston ja kuinka Android-sovellus voi käsitellä maksupyynnön lähettämää tarkoitusta API. Tässä on vuokaavio, joka hahmottelee yleisen prosessin, jonka esitin yllä:

Maksun vuokaavio. Lähde: Rouslan Solomakhin

Kuten näette, tähän liittyy monia vaiheita. Kaikki nämä muutokset käsitellään verkkokauppiassivustojen, Android-pankkien/-luottojen kehittäjien toimesta korttisovellukset ja verkkoselaimien kehittäjät, joten loppukäyttäjällä ei todennäköisesti ole aavistustakaan siitä, mitä todella tapahtuu tässä. Mutta tiedä vain, että lopputulos on, että verkkomaksuistasi tulee paljon yksinkertaisempia, jos kaikki osapuolet osallistuvat toteuttaa nämä muutokset, joista Web Payments Working Groupin standardointityön ansiosta toivottavasti tulee todellisuutta.


History Behind the Payment Request API

World Wide Web Consortium (lyhenne W3C) perustettiin vuonna 1994 kehittämään alustaa standardit, joiden avulla kaikki verkkosivustot ja niiden käyttäjät voivat hyötyä yhteensopivuudesta ja johdonmukaisuus. W3C perusti verkkomaksujen kasvavaan pirstoutumiseen puuttumisen Verkkomaksutyöryhmä vuonna 2015 joidenkin verkkomaksuvirran näkökohtien standardoimiseksi. Tämän jälkeen aloitettiin työ kaikkien verkkomaksutyöryhmän jäsenten kesken löytääkseen tapoja parantaa olemassa olevien verkkomaksujärjestelmien toimintaa.

Ryhmä keksi Payment Request API, kokoelma menetelmiä, joiden avulla verkkosivustot voivat käyttää maksutapoja integroimatta maksutapaa sivustoonsa. Verkkoselaimet on päivitettävä tukemaan API: ta, mutta vaikeampi osa johtuu saada verkkokauppiaat mukaan. Tätä varten työryhmän jäsenet teki ehdotuksen kuinka verkkosivustot voivat luoda tunnisteita niiden tukemien maksutapojen määrittämiseksi. Tämä edellyttää maksuluettelon JSON-tiedoston luomista, joka on koneellisesti luettava (maksutavan tunniste) – selaimen on luettava se, jotta Payment Request API voi tunnistaa, onko käyttäjällä yksi tai useampi JSON: ssa tunnistettuja tuettuja maksutapoja vastaavista sovelluksista. tiedosto. Tämä toteutus on Googlen inspiroima Digital Asset Links Protocol Näin verkkosivustot ohjaavat sinut mobiilisivustoltaan sovellukseensa, jos se on jo asennettu.

Monien ryhmän sisäisten edestakaisin harjoitusten jälkeen 25. marraskuuta 2016 Zach Koch Googlesta ja Dapeng Liu Alibabasta lähettivät Maksutapaluettelon alkuperäinen luonnos aloittaakseen maksutapatunnisteiden standardointiprosessin, jonka kaikki jäsenet voisivat hyväksyä. Lopulta työryhmän jäsenet tapasivat henkilökohtaisesti Chicagossa 23.-24. maaliskuuta Maksupyyntösovellusliittymän, maksuluetteloehdotuksen ja muiden hajautusten poistamiseksi. Työryhmä äänesti virallisen hyväksymisen puolesta maksuluettelon uusi versio (versio 2), jossa olemme tänään.


Maksupyyntösovellusliittymän tuki

Kolmannen osapuolen Android-maksusovelluksille tuetaan nyt 10. toukokuuta oletuksena käytössä Chromiumissa, koska verkkomaksuluettelon ennakkoehto hyväksyttiin blink-dev-haarassa (Blink on Chromen käyttämän renderöintimoottorin nimi). Huomaa, että tätä ominaisuutta on testattu Chromessa kuukausia, mutta vasta äskettäin näyttää siltä, ​​​​että ryhmä on valmis jatkamaan tätä. Tämä ominaisuus toimitetaan kaikki Chromiumin alustat/versiot paitsi Android Webview (jolla ei ole käyttöliittymää, joten se ei voi ottaa käyttöön Payment Request API: ta).

Vasta kuukausien kulissien takana tehdyn työn jälkeen näemme nyt Web Payments -työryhmän työskentelyn edut. Google I/O: ssa yritys todennäköisesti ilmoittaa, että Google Chrome toimitetaan Payment Request API: n kanssa, ja Zach Koch mainitsi aiemmin pitää puheensa torstaina siitä, kuinka kolmannen osapuolen maksupalveluntarjoajat voivat tukea API: ta rakentamalla Payment Manifest JSON tiedostot.

Myös muut selaimet pyrkivät lisäämään maksupyyntösovellusliittymän tuen. Mozilla ja Samsung ovat kuitenkin ilmaisseet julkisen tukensa API: n lisäämiselle Googlen työntekijän mukaan Rouslan Solomakhin ei ole vielä tietoa, lisääkö Microsoftin Edge-selain vai Applen Safari tuen. Meidän on huomattava, että Microsoft on testaa jo Payment Request API -sovellusliittymää Universal Windows Platform (UWP) -sovelluksille ja klo ainakin yksi pankki on jo ottanut käyttöön tukea (Monzo) sovelluksessaan.

Mitä tulee muihin verkkokauppiaisiin ja Android-sovelluksiin, jotka tukevat tätä uutta maksuspesifikaatiota, Googlen työntekijän Zach Kochin mukaan:

"Maksutavan tarjoajien" määrä, jonka olisi otettava käyttöön tämä spesifikaatio, on melko pieni (satoja), ja tällä hetkellä työskentelemme suoraan vain hyvin pienen osajoukon (<5) kanssa testataksemme vedet. Jos joutuisimme tilanteeseen, jossa joutuisimme vaihtamaan jotakin kentistä, uskon, että voisimme tehdä sen helposti ja ilman suurta (jos ollenkaan) yhteistoimintariskiä. Kaikki varhaiset kumppanimme ovat tietoisia siitä, että tämä spesifikaatio voi muuttua, ja hyväksyvät sen.

Tämän käyttöönotto on erittäin tärkeää, jotta muut pelaajat voivat osallistua PR-ekosysteemiin, ainakin Androidilla. Haluaisin todella olla käyttämättä täysin omaa reittiä ottaakseni käyttöön Android-natiivisovellukset. Olemme pitäneet tämän jalanjäljen tarkoituksella pienenä jättääksemme tilaa kasvulle ja kehittyneemmille käyttötapauksille.

Näin ollen voimme nähdä, että vaikka Google on edelläkävijä Payment Request API: n tuki, kestää jonkin aikaa, ennen kuin näemme tämän uuden tavan todella löytää tiensä kaikkiin selaimiin, kaikki verkkokauppiaat ja kaikki sovellukset. Olen henkilökohtaisesti erittäin innoissani nähdessäni, että Google tukee Payment Request API: ta. Verkkokaupan ekosysteemi on ollut tarpeettomasti pirstoutunut maksutavoilla vuosia, ja jos tämä uusi API tarkoitan sitä, että minun ei enää koskaan tarvitse syöttää luottokorttitietojani manuaalisesti verkkosivustolle, niin olen kaiken puolesta se.


Mitä mieltä olet tästä tulevasta standardista? Kerro kommenteissa ja kerro meille mielipiteesi!