Přeskočit na hlavní obsah

Google Pay

Google Pay nabízí uživatelům pohodlný, rychlý a bezpečný způsob platby prostřednictvím zařízení se systémem Android. Následující dokument popisuje postup integrace tlačítka Google Pay do mobilní aplikace a získání platebního tokenu, který se následně odesílá ke zpracování do platební brány Comgate.

1. Google Play Console

Před nasazením Google Pay do produkční verze aplikace je nutné aplikaci správně nakonfigurovat a publikovat v obchodě Google Play. Tento krok je požadován společností Google a je nezbytný pro aktivaci Google Pay v souladu s jejími podmínkami.

Konfigurace, nahrávání a správa aplikace se provádí prostřednictvím rozhraní Google Play Console. Aplikace musí být dostupná minimálně v režimu interního nebo uzavřeného testování. Možností je také plné zveřejnění.

Tip

V dokumentaci není popsán podrobný postup nastavení v Google Play Console. Proces může být rozsáhlý a liší se podle konkrétní situace, proto doporučujeme řídit se oficiálními pokyny společnosti Google.

Během vývoje je také nutné zohlednit další požadavky Google, které se týkají zveřejnění aplikace s dostupným Google Pay.

2. Google Pay Console

Jakmile je aplikace zpřístupněna alespoň v režimu interního testování, je vhodné seznámit se s požadavky na schválení v Google Pay Console. Tento krok je nezbytný pro aktivaci produkční verze Google Pay.

Celý proces registrace a konfigurace je popsán v oficiální dokumentaci.

Schvalovací proces může trvat několik dní a vyžaduje splnění následujících požadavků:

Upozornění

Součástí schvalovacího procesu je také doložení screenshotů implementace Google Pay ve vaší aplikaci.

V tomto kroku postačuje zřídit přístup do Google Pay Console a ověřit, že je v sekci „Rozhraní API služby Google Pay“ uvedena vaše aplikace, která byla nakonfigurována v Google Play Console.

Podání žádosti o schválení bude popsáno v pozdější sekci, a to po dokončení integrace.

3. Implementace

Následující část popisuje jednotlivé kroky potřebné k integraci tlačítka Google Pay do mobilní aplikace – od jeho konfigurace až po získání platebního tokenu.

Vzorový projekt

Pro orientaci v implementaci doporučujeme stáhnout a prozkoumat oficiální vzorový projekt Google Pay. Naše testovací implementace i následující kroky v dokumentaci vycházejí ze šablony Basic integration napsané v jazyce Java.

Tutorial

Před implementací tlačítka Google Pay je nutné do projektu přidat potřebné závislosti. Postup přidání je popsán v oficiální dokumentaci: Setup – Google Pay for Android

Po úspěšném nastavení závislostí lze pokračovat samotnou implementací. Doporučujeme řídit se oficiálním návodem: Tutorial – Google Pay for Android

Tip

V průběhu implementace je potřeba definovat specifické konfigurační údaje. Doporučujeme tedy současně sledovat naši dokumentaci, zejména sekci Pokyny pro implementaci, aby konfigurace odpovídala požadavkům Comgate.

Pokyny pro implementaci

Při integraci Google Pay je nutné postupovat podle konkrétních kroků, které definují základní konfiguraci, nastavení identifikátorů a odesílání platebních požadavků. Následující části shrnují doporučený postup a navazují na vzorový projekt od společnosti Google.

Krok 1 – konfigurace platby

Prvním krokem integrace je nastavení základních parametrů, které určují chování platby. Google tento krok označuje jako Step 1 – Payment configuration.

Tip

Pokud aplikace potřebuje získat e-mail nebo doručovací údaje uživatele prostřednictvím Google Pay, je možné rozšířit konfigurační objekt o příslušné parametry. Tyto údaje nejsou na straně Comgate dále zpracovávány. Pokud je nevyužíváte, doporučujeme je do požadavku nezařazovat.

Následující tabulka obsahuje požadované položky konfigurace a jejich doporučené hodnoty:

KlíčHodnotaPoznámka
apiVersion2
apiVersionMinor0
tokenizationSpecification
type"PAYMENT_GATEWAY"Podporován je pouze typ PAYMENT_GATEWAY. Typ DIRECT není podporován.
gateway"itcardpaymentservice"
gatewayMerchantIdGxxxxxxxxxxHodnotu naleznete v klientském portálu Comgate. Více pod tabulkou.
allowedPaymentMethods
allowedCardNetworks"MASTERCARD""VISA"Jiné karetní sítě nejsou podporovány.
allowedAuthMethods
allowedCardAuthMethods"PAN_ONLY""CRYPTOGRAM_3DS"
Kde najdu hodnotu pro parametr gatewayMerchantId?

Hodnotu naleznete v klientském portálu Comgate: Integrace → Nastavení obchodů → váš obchod

Hodnota musí začínat písmenem G následovaným čísly.

https://portal.comgate.cz/cs/nastaveni-obchodu/obchod_pk/XXXXX

Krok 2 – vytvoření PaymentsClient

Třída PaymentsClient slouží jako hlavní rozhraní pro práci s Google Pay API. Její instanci je nutné vytvořit, aby bylo možné zobrazit tlačítko Google Pay a provádět samotné platby.

Tip

Při vývoji nebo testování aplikace je vždy nutné použít testovací prostředí.

Produkční platby jsou dostupné až po schválení aplikace v Google Pay Console a její instalaci přes Google Play — včetně režimu interního testování.

Krok 3 – dostupnost Google Pay na zařízení

V tomto kroku se ověřuje, zda zařízení uživatele podporuje Google Pay a je schopno zpracovávat platby. Kontrola se provádí prostřednictvím metody isReadyToPay().

Ze strany Comgate nejsou k tomuto kroku vyžadovány žádné speciální úpravy.

Krok 4 – zobrazení tlačítka Google Pay

Způsob zobrazení tlačítka Google Pay musí odpovídat doporučeným UX principům a pravidlům pro používání značky Google Pay.

Tip

Dbejte na správný kontrast tlačítka vůči pozadí:

  • na světlém pozadí použijte černou variantu tlačítka,
  • na tmavém pozadí bílou variantu.

Tlačítko musí mít stejnou velikost jako ostatní akční prvky na obrazovce a nesmí být příliš blízko k jiným ovládacím prvkům – je nutné zachovat předepsaný ochranný prostor.

Grafiku tlačítka nelze nijak upravovat. Jediným přípustným způsobem úpravy je využití parametrů, které nabízí oficiální knihovna Google Pay.

Krok 5 – sestavení Payment Request objektu

Před odesláním požadavku je nutné připravit informace o transakci. Tato data určují částku, měnu a způsob, jakým má Google Pay vygenerovat platební token.

KlíčHodnotaPoznámka
transactionInfo
totalPrice199.99Částka s desetinnou tečkou typu string.
totalPriceStatus"FINAL"Používejte vždy hodnotu "FINAL".
countryCodeCZVždy nastavte na "CZ".
currencyCodeCZK, EUR, ...Musí odpovídat měně, ve které byla platba založena v systému Comgate.
Upozornění

Hodnoty totalPricecurrencyCode musí přesně odpovídat údajům, se kterými byla nebo bude platba založena v systému Comgate. Rozdíl v částce nebo měně může způsobit zamítnutí platby.

Vzorový Payment Request object

Pro lepší představu doporučujeme nahlédnout na vzorový objekt s kompletní konfigurací požadavku.

{
"apiVersion":2,
"apiVersionMinor":0,
"allowedPaymentMethods":[
{
"type":"CARD",
"parameters":{
"allowedAuthMethods":[
"PAN_ONLY",
"CRYPTOGRAM_3DS"
],
"allowedCardNetworks":[
"MASTERCARD",
"VISA"
]
},
"tokenizationSpecification":{
"type":"PAYMENT_GATEWAY",
"parameters":{
"gateway":"<YOUR_GATEWAY>", // itcardpaymentservice nebo csob
"gatewayMerchantId":"<YOUR_MERCHANT_ID>" // Gxxxxxxxxxx nebo M1MIPSxxxx
}
}
}
],
"merchantInfo":{
"merchantName":"<YOUR_MERCHANT_NAME>" // Můj obchod
},
"transactionInfo":{
"totalPriceStatus":"FINAL",
"totalPrice":"<YOUR_PAYMENT_PRICE>", // 199.99
"currencyCode":"<YOUR_PAYMENT_CURRENCY>", // CZK
"countryCode": "CZ" // neměnit
}
}
Krok 6 – dokončení integrace

V závěrečné fázi integrace dochází k propojení všech předchozích kroků a k plnému zprovoznění tlačítka Google Pay. Po kliknutí na tlačítko by mělo být možné získat platební token, který slouží pro další zpracování platby prostřednictvím Comgate API.

Zobrazení tlačítka Google Pay

Po úspěšném dokončení všech výše uvedených kroků by se mělo tlačítko Google Pay zobrazit přímo v aplikaci. Po jeho stisknutí se uživateli zobrazí standardní rozhraní Google Pay s detaily transakce a možností jejího potvrzení.

Získání payment tokenu

Po úspěšné autorizaci platby uživatelem Google Pay vygeneruje zašifrovaný platební token.

Informace

Potvrzení platby v dialogu Google Pay neznamená její automatické provedení. Pokud token neodešlete na API Comgate, platba nebude zpracována.

Platební token má omezenou platnost a je určen pouze pro jedno použití.

Platební token lze získat v callbacku handlePaymentSuccess(...), jak je uvedeno v oficiální ukázce pro Javu. Token je součástí objektu PaymentData a callback se volá po úspěšném potvrzení platby uživatelem.

Získaný token je nutné odeslat na Comgate API společně s dodatečnými údaji (paymentDetails). Token je dostupný ve struktuře: paymentData → paymentMethodData → tokenizationData → token jako textový řetězec.

Před odesláním je nutné tento řetězec převést do formátu Base64, např. pomocí metody Base64.encodeToString(...).

Tip

Podrobný popis struktury objektu PaymentData je k dispozici v oficiální dokumentaci služby Google Pay.

final String token = paymentMethodData
.getJSONObject("tokenizationData")
.getString("token");

final String paymentToken = Base64.encodeToString(token.getBytes(), Base64.NO_WRAP);

Map<String, Object> paymentDetails = new HashMap<>();
paymentDetails.put("displayName", paymentMethodData.getString("description"));
paymentDetails.put("network", paymentMethodData.getJSONObject("info").getString("cardNetwork"));
paymentDetails.put("cardType", paymentMethodData.getString("type"));

Zpracování tokenu

Získaný platební token je nutné odeslat na API Comgate společně s doplňujícími údaji. API je jednotné pro platby uskutečněné pomocí Google PayApple Pay.

Podrobný postup pro odeslání dat a zpracování platby je uveden v sekci Zpracování platby.

Tip

Před zahájením další implementace doporučujeme podat žádost o schválení Google Pay v Google Pay Console. Díky integraci tlačítka Google Pay již aplikace splňuje předpoklady pro doložení požadovaných screenshotů.

4. Podání žádosti o schválení

Pro aktivaci Google Pay v produkčním režimu je nutné odeslat žádost o schválení prostřednictvím Google Pay Console. Tento krok je nezbytný pro zpřístupnění plateb reálným plátcům a zároveň zajišťuje soulad s požadavky společnosti Google.

Checklist integrace

Před podáním žádosti je nutné projít kontrolní seznam integrace a ověřit, zda je integrace funkční. Google neprovádí detailní kontrolu splnení jednotlivých položek checklistu. V rámci integrace přes Comgate není možné splnit všechny požadavky uvedené v seznamu, přesto doporučujeme ověřit alespoň klíčové části.

Následující tabulka shrnuje požadavky, které buď není možné v rámci integrace s Comgate splnit, nebo jejich splnění není povinné:

SekceTestSplnitelnostVysvětlení
BasicsIf you complete a DIRECT tokenizationSpecification type integration...Nelze splnitIntegrace probíhá prostřednictvím platební brány. Přímá integrace (DIRECT) není podporována.
Functional testsIf you require a shipping address...VolitelnéAdresa není na straně Comgate zpracovávána.
If you require a telephone number...VolitelnéTelefonní číslo není na straně Comgate zpracováváno.

Průvodce žádostí

Tip

Než podáte žádost o schválení, doporučujeme připravit si všechny požadované screenshoty aplikace.

Google vyžaduje snímky obrazovky znázorňující následující situace:

  1. uživatel si prohlíží položku nebo službu,
  2. uživatel je připraven dokončit nákup,
  3. uživatel si zvolil Google Pay jako platební metodu,
  4. uživateli se zobrazují platební údaje uložené v Google Pay (doporučujeme vyfotit jiným zařízením),
  5. nákup byl úspěšně dokončen.

Přesné znění požadavků najdete na konci formuláře žádosti v Google Pay Console.

  1. Přihlaste se do Google Pay Console a vyberte obchodní profil, pod kterým budou platby Google Pay provozovány.
  1. Na úvodní stránce (případně v levém menu v sekci Rozhraní API služby Google Pay → Integrate with your Android app) zvolte aplikaci, pro kterou má být žádost o schválení podána.
https://pay.google.com/business/console/home/XXXXXXXXXXX

Výběr aplikace z hlavní stránky Google Pay Console

  1. Ve formuláři v sekci Your Google Pay API integration type zvolte možnost Brána (Gateway).
https://pay.google.com/business/console/payment/android/XXXXXXXXXXX/com.comgate.android.googlepay.example

Výběr typu integrace „Brána“ ve formuláři žádosti o schválení

  1. Nahrajte všechny připravené screenshoty, které demonstrují správnou funkčnost Google Pay ve vaší aplikaci.
Tip

Některé kategorie ve formuláři mohou obsahovat shodné screenshoty – záleží na tom, jakým způsobem je navržen váš checkout proces.

https://pay.google.com/business/console/payment/android/XXXXXXXXXXX/com.comgate.android.googlepay.example

Nahrání screenshotů do formuláře žádosti o schválení

  1. Po vyplnění všech požadovaných údajů klikněte na tlačítko Uložit.

  2. Pokud se formulář úspěšně uloží (v některých případech může tlačítko „Uložit“ zůstat zablokované v animaci) a neobsahuje žádné chyby, zobrazí se v horní části stránky nová sekce pro odeslání žádosti. Zkontrolujte, že jsou splněny všechny požadavky, potvrďte je zaškrtnutím příslušných políček a klikněte na tlačítko Submit for approval, čímž žádost odešlete.

https://pay.google.com/business/console/payment/android/XXXXXXXXXXX/com.comgate.android.googlepay.example

Odeslání žádosti o schválení v Google Pay Console

Po odeslání žádosti provede podpora Google Pay kontrolu vaší aplikace. V případě úspěchu bude integrace schválena, v opačném případě obdržíte e‑mail s instrukcemi, co je potřeba upravit. Proces schvalování může trvat několik dní.

Tip

V některých případech se může stát, že podpora Google Pay na žádost delší dobu nereaguje. Doporučujeme vyčkat alespoň 5 pracovních dní (dle kalendáře USA) a teprve poté kontaktovat podporu s dotazem na stav žádosti.

Možnost Kontaktovat podporu najdete v levém menu Google Pay Console.

  1. Jakmile je aplikace schválena, obdržíte email s potvrzením. Schválení též uvidíte v Google Pay Console, kde bude aplikace označena jako "Aktivní". nyní je možné přepnout Google Pay v aplikaci do produkčního režimu.
https://pay.google.com/business/console/payment/XXXXXXXXXXX

Stav schválení aplikace označený jako „Aktivní“ v Google Pay Console

5. Testovací prostředí

Na rozdíl od integrace Apple Pay je testování Google Pay podstatně jednodušší. Pro testování je však nutné použít fyzické zařízení s aktivovanou peněženkou Google Wallet.

Jako doplněk při vývoji lze využít také emulátor systému Android, integrovaný v rámci Android Studia. Ten však podporuje pouze omezené funkce, například zobrazení tlačítka Google Pay.

Fyzické Android zařízení

Pro plnohodnotné testování Google Pay doporučujeme používat skutečné zařízení. Zařízení musí být přihlášeno k libovolnému účtu Google a podporovat Google Wallet.

Pro testování postačí, pokud je aplikace sestavena s konfigurací testovacího prostředí, která se nastavuje v kroku 2.

  1. Připravte zařízení

    • Zkontrolujte, že je nainstalována aktuální verze Androidu.
    • Přihlaste se do Google účtu určeného pro testování.
    • Připravte si USB kabel pro připojení zařízení k počítači.
  2. Aktivujte vývojářský režim

  3. Testovací karty

    • Pokud je Google Pay správně nastaven pro testování, po kliknutí na tlačítko Google Pay se automaticky zobrazí testovací karty.
    • Tyto karty nelze použít pro reálné transakce a slouží výhradně k ověření integrace.
    • Podrobnosti naleznete v oficiální dokumentaci Google.
  4. Spusťte aplikaci na zařízení

  5. Otestujte platbu

    • Po spuštění aplikace klikněte na tlačítko Google Pay.
    • Pokud je vše nastaveno správně, zobrazí se výběr testovacích karet.
    • Transakce bude simulována – nedojde k jejímu reálnému provedení.
Tip

Pokud se Google Pay nezobrazuje, zkontrolujte nastavení klienta Google Pay v testovacím režimu, správnost Payment Request objektu a podporu Google Wallet na zařízení.

Android emulátor

Android emulátor podporuje Google Pay pouze v omezeném rozsahu. Lze otestovat zobrazení tlačítka Google Pay a základní UI. Není možné dokončit platbu ani získat platební token. Pro testování generování tokenu je vždy nutné použít fyzické Android zařízení.

Spuštění aplikace v emulátoru je popsáno v oficiální dokumentaci.

Upozornění

Na Android emulátoru nelze získat zašifrovaný platební token. Jedná se o záměrné omezení ze strany společnosti Google.