What payment methods does Stripe support?

Google Pay API til Android: Din Komplette Guide

27/04/2022

Rating: 4.02 (3131 votes)

Velkommen til en dybdegående guide til Google Pay API for Android. I nutidens digitale æra forventer brugere en hurtig, sikker og problemfri betalingsoplevelse, når de handler via mobile apps. Google Pay API leverer netop dette ved at give dine kunder mulighed for at betale med kredit- eller debetkort, der er gemt på deres Google-konto, inklusive Android-enhedstokens. Dette kan dramatisk forbedre din apps checkout-flow, reducere antallet af opgivne indkøbskurve og øge konverteringerne ved at give adgang til hundredvis af millioner af kort globalt. Lad os udforske, hvordan du kan integrere og optimere Google Pay i din Android-app for at give dine brugere den bedst mulige oplevelse.

What is a Google Pay API Codelab?
When you issue requests against the Google Pay API, there are a number of configuration parameters that you need to include in your requests, such as the version of the API you are targeting. For the purpose of this codelab, this object also contains information about the payment methods accepted in your application.

Hvordan fungerer Google Pay på Android-enheder?

Google Pay API strømliner checkout-processen i din app og giver dig nem adgang til et stort antal betalingskort, der er gemt på Google-konti verden over. Når en bruger trykker på Google Pay-betalingsknappen i din app, præsenteres de for et betalingsark. Dette ark viser de betalingsmetoder, der er gemt på brugerens Google-konto, og kan også inkludere valgfri felter som en leveringsadresse. Brugere kan hurtigt vælge en eksisterende betalingsmetode, tilføje en leveringsadresse eller indtaste nye oplysninger.

Betalingsflowet er typisk som følger:

  1. Brugeren trykker på Google Pay-betalingsknappen i din app.
  2. Et betalingsark vises med en liste over understøttede betalingsmetoder.
  3. Brugeren vælger en betalingsmetode.
  4. Google Pay returnerer sikkert et betalingstoken for den valgte metode til din app. Dette token indeholder krypteret betalingsinformation.
  5. Din app sender betalingstokenet, sammen med detaljer om købet, til din egen backend-server.
  6. For at udføre betalingen behandler din backend købet og sender betalingstokenet til din betalingstjenesteudbyder (PSP).

Denne proces sikrer en hurtig checkout og en høj grad af sikkerhed, da følsomme kortdata aldrig direkte håndteres af din app, men i stedet behandles via sikre tokens.

Test af Google Pay API'en

Før du implementerer Google Pay i din produktionsapp, er det afgørende at teste integrationen grundigt. Google tilbyder en eksempelsapp, der demonstrerer grundlæggende brug af Google Pay API for Android. Denne app er et glimrende udgangspunkt for at forstå API'ens funktionalitet og sikre, at din implementering fungerer som forventet.

Google Pay API Eksempelapp for Android:

Eksempelappen viser, hvordan du anmoder om kredit- eller debetkort, der er gemt på en kundes Google-konto, herunder Android-enhedstokens.

How do I get production access to the Google Pay API?

Krav for at bygge og køre eksempelappen:

  • Android Studio 3.0 eller nyere installeret.
  • En enhed, der kører Android 4.4 (KitKat) eller nyere.
  • Google Play services version 16.0.0 eller nyere installeret på denne enhed.

For at teste API'en fuldt ud, skal du åbne kotlin eller java mappen i Android Studio. Det er vigtigt at læse og modificere kommentarerne i filerne Constants.java og PaymentsUtil.java, som beskrevet i eksemplets instruktioner. Disse filer indeholder konstanter, der skal justeres for at tilpasse appen til dine testbehov. Husk, at du i testmiljøet vil arbejde med simuleret betalingsinformation.

Konfiguration af Google Pay til betalingskort

Konfigurationen af Google Pay API involverer at definere, hvilke betalingsmetoder og netværk din app vil acceptere, samt at specificere detaljer om din forretning og transaktioner. Dette gøres primært gennem konstanter og JSON-objekter, der sendes til API'en. En central fil i Android-implementeringen er ofte Constants.java (eller tilsvarende i Kotlin), hvor mange af disse indstillinger er defineret.

Her er nogle af de vigtigste konfigurationselementer:

PAYMENTS_ENVIRONMENT:

Denne konstant bestemmer, om du arbejder i et testmiljø eller et produktionsmiljø.

  • WalletConstants.ENVIRONMENT_TEST: Anvendes til test og returnerer simuleret kortinformation. Dette er ideelt til udvikling og fejlfinding.
  • WalletConstants.ENVIRONMENT_PRODUCTION: Anvendes til live-transaktioner og returnerer faktisk opkrævelig kortinformation. At skifte til dette miljø kræver en Google Pay Merchant ID og en godkendt ansøgning gennem Google Pay Business Console.

SUPPORTED_NETWORKS:

En liste over de kortnetværk, din app understøtter. Kun kort fra disse netværk vil blive tilbudt brugeren i betalingsarket. Eksempler inkluderer "AMEX", "DISCOVER", "JCB", "MASTERCARD" og "VISA". Det er afgørende, at du kun lister de netværk, din betalingstjenesteudbyder kan behandle.

SUPPORTED_METHODS:

Angiver, hvordan Google Pay må returnere kortoplysninger. De mest almindelige metoder er:

  • "PAN_ONLY": Refererer til kort gemt på Google.com (Primary Account Number).
  • "CRYPTOGRAM_3DS": Refererer til et enhedstoken på en Android-enhed, der er autentificeret med et 3-D Secure kryptogram. Dette giver en forbedret sikkerhed ved at erstatte følsomme kortdata med et unikt token for hver transaktion.

COUNTRY_CODE og CURRENCY_CODE:

Disse angiver landekoden (f.eks. "US" for USA) og valutaen (f.eks. "USD" for amerikanske dollars) for din forretning. Disse er påkrævet af API'en, men er typisk ikke synlige for brugeren i betalingsarket.

How does Google Pay function on an Android device?
When a user taps the Google Pay payment button on an Android device, they see a payment sheet that displays the payment methods saved to their Google Account. Optional fields, such as a shipping address field, are also available for users to fill in or update. Users can quickly select a payment method or add/modify a shipping address before completing the transaction.

SHIPPING_SUPPORTED_COUNTRIES:

Hvis din app anmoder om en leveringsadresse, skal du angive en liste over lande (ISO 3166-1 alpha-2 koder), hvor du tilbyder forsendelse. Hvis leveringsadresse ikke er relevant for din app, kan du fjerne denne funktionalitet fra din kode.

Tokeniseringsspecifikationer:

Dette er afgørende for, hvordan betalingsdata behandles. Du vil typisk bruge en af to typer:

  • PAYMENT_GATEWAY: Anvendes, når du behandler betalinger via en betalingstjenesteudbyder (PSP). Du skal angive navnet på din gateway (f.eks. "example") og eventuelle yderligere parametre, som din gateway kræver (f.eks. "gatewayMerchantId"). Dette er den mest almindelige metode.
  • DIRECT: Anvendes, hvis du selv behandler betalinger direkte på dine PCI DSS-kompatible servere. Dette kræver avanceret kryptografi og er sjældnere for de fleste udviklere.

Her er en oversigt over nogle centrale konstanter, du ofte vil konfigurere:

KonstantBeskrivelseEksempelværdier
PAYMENTS_ENVIRONMENTMiljø for API-kaldWalletConstants.ENVIRONMENT_TEST eller .ENVIRONMENT_PRODUCTION
SUPPORTED_NETWORKSKortnetværk der accepteres["VISA", "MASTERCARD", "AMEX"]
SUPPORTED_METHODSBetalingsmetoder der accepteres (tokenisering)["PAN_ONLY", "CRYPTOGRAM_3DS"]
COUNTRY_CODEForretningens landekode"DK"
CURRENCY_CODEForretningens valuta"DKK"
PAYMENT_GATEWAY_TOKENIZATION_NAMENavn på betalingsgateway"example"
PAYMENT_GATEWAY_TOKENIZATION_PARAMETERSParametre til betalingsgateway{"gateway": "example", "gatewayMerchantId": "dit_merchant_id"}

Hvad er en Google Pay API Codelab?

En Google Pay API Codelab er en trin-for-trin guide, der hjælper udviklere med at integrere Google Pay API i deres applikationer. Disse codelabs er designet til at give praktisk erfaring og en dyb forståelse af API'ens funktioner og den bedste praksis for implementering. De er en uvurderlig ressource for at komme hurtigt i gang med integrationen.

Formålet med et Codelab er at forbedre checkout-oplevelsen for dine brugere ved at gøre den hurtigere, mere bekvem og mere sikker. Dette fører til øgede konverteringer og gladere kunder. Et typisk Codelab vil guide dig gennem følgende centrale trin for at integrere Google Pay:

1. Tilføj de nødvendige afhængigheder:

Det første skridt er at inkludere Google Play Services Wallet-pakken i din apps build.gradle-fil. Dette giver din app adgang til de nødvendige API-klasser. For eksempel:

implementation "com.google.android.gms:play-services-wallet:18.0.0"

2. Aktivér API'en i dit manifest:

Du skal informere systemet om, at din app vil bruge Google Pay API ved at tilføje et meta-data-element i din AndroidManifest.xml-fil, inden for application-noden:

<meta-data android:name="com.google.android.gms.wallet.api.enabled" android:value="true" />

3. Planlæg brugergrænsefladen (UI) og placeringen af Google Pay-knappen:

Designet og den overordnede brugeroplevelse er afgørende. Google Pay giver mulighed for at tilbyde hurtige checkout-muligheder tidligt i processen, f.eks. direkte på produktdetaljesiden. Det er vigtigt at placere Google Pay-knappen strategisk og at følge Googles retningslinjer for knapdesign for at sikre konsistens og genkendelighed. En vigtig anbefaling er kun at vise knappen, når du har bestemt, at brugeren faktisk kan betale med Google Pay.

4. Initialiser og konfigurer Google Pay API'en:

Du skal oprette en instans af PaymentsClient-objektet, som du vil bruge til at foretage API-kald. Klienten initialiseres med WalletOptions, hvor du indstiller miljøet (f.eks. ENVIRONMENT_TEST til udvikling). Husk, at for ENVIRONMENT_PRODUCTION kræves en gyldig Google Pay Merchant ID fra Google Pay Business Console.

How do I configure Google Pay to accept payment cards?
To configure your application to accept payment cards using Google Pay, follow these steps: Step 1: Define your Google Pay API version. Step 2: Request a payment token for your payment provider. Step 3: Define the supported payment card networks.

Hver gang du kommunikerer med API'en, skal du inkludere konfigurationsparametre som API-version (apiVersion, apiVersionMinor) og en liste over accepterede betalingsmetoder (allowedPaymentMethods). For kortbetalinger specificerer du type (f.eks. "CARD"), allowedCardNetworks (f.eks. "VISA", "MASTERCARD") og allowedAuthMethods ("PAN_ONLY", "CRYPTOGRAM_3DS").

5. Bestem tilgængelighed for at betale med Google Pay (isReadyToPay):

For at optimere brugeroplevelsen bør du først kontrollere, om den specifikke bruger kan anvende Google Pay. Dette gøres med isReadyToPay-anmodningen. Hvis svaret er positivt, kan du vise Google Pay-knappen. Hvis ikke, kan du tilbyde alternative betalingsmetoder. Du kan også inkludere existingPaymentMethodRequired: true i anmodningen for kun at vise knappen, hvis brugeren allerede har en kompatibel betalingsmetode tilknyttet sin Google-konto.

6. Vis Google Pay-knappen:

Når isReadyToPay returnerer positivt, indstiller du knappens synlighed til View.VISIBLE og tilføjer en klik-lytter, der vil udløse betalingsprocessen, når brugeren trykker på knappen.

7. Forbered betalingsanmodningen:

Når brugeren er klar til at foretage et køb, opretter du et PaymentDataRequest-objekt. Dette objekt bygger videre på din grundlæggende konfiguration og inkluderer yderligere detaljer:

  • tokenizationSpecification: Definerer, hvordan den valgte betalingsmetode skal behandles (f.eks. PAYMENT_GATEWAY med din gateway og merchant ID).
  • Yderligere parametre for kortbetalingsmetoden, f.eks. billingAddressRequired og billingAddressParameters for at anmode om faktureringsadresse og telefonnummer.
  • transactionInfo: Indeholder finansielle detaljer som totalPrice, totalPriceStatus (FINAL/ESTIMATED) og currencyCode.
  • merchantInfo: Information om din forretning, herunder merchantName (vist til brugeren) og merchantId (dit Google Pay Merchant ID, der kun evalueres i produktionsmiljøet).

8. Anmod om betalingsinformation og behandl resultatet:

Du sender den forberedte PaymentDataRequest til paymentsClient.loadPaymentData(). Dette udløser visningen af Google Pay-betalingsarket. Når brugeren har valgt en betalingsmetode, returneres resultatet til din apps onActivityResult-metode. Hvis transaktionen lykkes (Activity.RESULT_OK), kan du udpakke PaymentData-objektet, som indeholder det vigtige betalingstoken. Dette token sendes derefter til din backend for at fuldføre transaktionen via din betalingstjenesteudbyder.

Eksempel på det returnerede PaymentData JSON-objekt:

{ "apiVersionMinor": 0, "apiVersion": 2, "paymentMethodData": { "description": "Visa •••• 1234", "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }, "type": "CARD", "info": { "cardNetwork": "VISA", "cardDetails": "1234", "billingAddress": { "phoneNumber": "...", "..." } } } }

Det token-felt i tokenizationData er det, du sender til din betalingsgateway for at gennemføre betalingen. Husk at dette token vil indeholde de faktiske betalingsoplysninger, når du opererer i produktionsmiljøet.

How do I test the Google Pay API?
To be able to fully test the API, you will also need to: Add a payment method to your Google Account. Install and add a payment method to the Google Pay app (optional). Consult your payment processor's documentation to learn about whether they support the Google Pay API. For any questions or issues, please refer to our How to get help page.

Vigtige overvejelser og bedste praksis

For at sikre en succesfuld integration og en optimal brugeroplevelse med Google Pay API er der flere vigtige punkter at huske på:

  • Brugeroplevelse er nøglen: Brug isReadyToPay til at tilpasse din UI dynamisk. Vis kun Google Pay-knappen, når det er relevant for brugeren, da dette skaber en mere strømlinet og mindre forvirrende oplevelse.
  • Sikkerhed først: Google Pay's tokeniseringsmekanismer og kryptogrammer er designet til at beskytte følsomme kortdata. Sørg for, at din backend-integration også følger de højeste sikkerhedsstandarder, og at du aldrig håndterer rå kortdata direkte i din app.
  • Produktionsklarhed: At skifte fra ENVIRONMENT_TEST til ENVIRONMENT_PRODUCTION er et kritisk skridt, der kræver en gyldig Google Pay Merchant ID og en godkendt ansøgning. Planlæg dette trin omhyggeligt og følg Googles retningslinjer for at undgå forsinkelser.
  • Minimal dataanmodning: Anmod kun om de oplysninger (f.eks. fakturerings- eller leveringsadresse), der er absolut nødvendige for at gennemføre transaktionen. Jo færre felter brugeren skal udfylde, jo bedre er konverteringsraten.

Ved at følge disse retningslinjer kan du skabe en robust og brugervenlig Google Pay-integration, der vil glæde dine kunder og drive din virksomhed fremad.

Ofte Stillede Spørgsmål (FAQ)

1. Hvad er forskellen på test- og produktionsmiljøet i Google Pay API?

I testmiljøet (WalletConstants.ENVIRONMENT_TEST) returnerer Google Pay API simuleret betalingsinformation, hvilket er ideelt til udvikling, test og fejlfinding uden at involvere rigtige penge. Produktionsmiljøet (WalletConstants.ENVIRONMENT_PRODUCTION) håndterer derimod reelle transaktioner og kræver en godkendt Google Pay Merchant ID samt en verificeret app for at fungere.

2. Hvordan ved jeg, om en bruger kan betale med Google Pay i min app?

Du kan bruge paymentsClient.isReadyToPay()-metoden til at kontrollere, om brugerens enhed understøtter Google Pay, og om de har en kompatibel betalingsmetode tilknyttet deres Google-konto. Det anbefales at skjule Google Pay-knappen, indtil denne kontrol er udført og viser et positivt resultat, for at forbedre brugeroplevelsen.

3. Hvilke kortnetværk understøtter Google Pay API?

Google Pay API understøtter en bred vifte af populære kortnetværk, herunder AMEX, DISCOVER, JCB, MASTERCARD og VISA. Du skal konfigurere SUPPORTED_NETWORKS-listen i din app for at angive, hvilke netværk din betalingstjenesteudbyder kan behandle. Det er vigtigt at sikre, at din liste stemmer overens med de netværk, din PSP faktisk understøtter.

Hvis du vil læse andre artikler, der ligner Google Pay API til Android: Din Komplette Guide, kan du besøge kategorien Teknologi.

Go up