Szybka płatność w internecie dzięki Google Pay

Google Pay API umożliwia użytkownikom płacenie w dowolnym miejscu przy użyciu danych karty zapisanych na kontach Google. W tym laboratorium wykorzystasz bibliotekę klienta Google Pay dla internetu, aby ulepszyć proces płatności w uproszczonym przykładowym sklepie internetowym. Dzięki temu będzie on szybszy, wygodniejszy i bezpieczniejszy, co przełoży się na większą liczbę konwersji i zadowolonych klientów.

Auto T-Shirt Shop to innowacyjny sklep, który wykorzystuje najnowsze osiągnięcia w dziedzinie sztucznej inteligencji i korzysta z informacji takich jak preferencje dotyczące stylu, pogoda, pora roku i trendy w modzie, aby sugerować najbardziej odpowiedni produkt do zakupu.

Wskaźniki zaangażowania w przypadku tego sklepu są bardzo wysokie. Niestety dane odzwierciedlają też dużą liczbę porzuceń podczas procesu płatności. Jeden z właścicieli projektu postanowił to zmienić. Przypomniał sobie, że widział film pokazujący obiecujące wyniki, jakie Google Pay przynosi podobnym witrynom. Postanowił więc spróbować i powierzył Ci integrację tej usługi.

Co utworzysz

W tym samouczku dowiesz się, jak zintegrować Google Pay z istniejącą witryną, w tym jak sprawdzić, czy użytkownik może zapłacić za pomocą formy płatności obsługiwanej przez Google Pay, jak umieścić i zaprojektować przycisk płatności oraz jak przeprowadzić transakcję.

Czego się nauczysz

  • Integracja Google Pay z dotychczasową stroną płatności
  • Jak wybrać preferowaną formę płatności
  • Jak sprawdzić, czy użytkownik jest gotowy do płacenia za pomocą Google Pay

Wymagania

  • komputer z dostępem do internetu,
  • Podstawowa znajomość języka JavaScript

Uruchamianie przykładowej witryny na platformie glitch.com

Aby jak najszybciej rozpocząć pracę, ten codelab został udostępniony na platformie glitch.com. Glitch to bezpłatne środowisko internetowe, które udostępnia edytor kodu oraz funkcje hostingu i wdrażania, których możesz używać do tworzenia i udostępniania aplikacji internetowych.

Aby rozpocząć, kliknij przycisk poniżej, aby udostępnić nowe środowisko programistyczne w Glitchu, które jest już skonfigurowane z kopią tych ćwiczeń z programowania.

Uruchom środowisko programistyczne na Glitch.com

Od tego momentu możesz używać edytora kodu w Glitchu do modyfikowania plików. Aby zacząć wyświetlać aplikację, użyj menu Pokaż u góry i wybierz W nowym oknie.

Przejrzyj przykładową witrynę

Jak widać, repozytorium ma prostą strukturę plików. Głównym celem tego laboratorium jest umożliwienie Ci dostosowania tej integracji do istniejących i przyszłych aplikacji niezależnie od platformy, bibliotek lub narzędzi, z którymi zdecydujesz się pracować.

Poznawanie witryny

Ta demonstracyjna platforma została stworzona tak, aby przypominała Twoją obecną lub potencjalną aplikację przed dodaniem możliwości zakupu. Chociaż zalecamy pracę na tej aplikacji demonstracyjnej, możesz użyć tego laboratorium do zintegrowania Google Pay z dotychczasowymi aplikacjami.

Jeśli nie została jeszcze przeprowadzona, otwórz witrynę demonstracyjną w jej obecnej postaci. Aby to zrobić, kliknij przycisk Pokaż, jeśli używasz Glitcha, lub otwórz adres URL, pod którym działa Twój lokalny serwer internetowy.

Witryna demonstracyjna nie jest niczym zaskakującym, prawda? Strona szczegółów produktu ze zdjęciem, ceną, opisem, selektorami i przyciskiem, który przenosi użytkownika do fikcyjnego i zwykłego formularza płatności.

Celem tego modułu jest zastąpienie tego procesu dwoma kliknięciami obsługiwanymi przez Google Pay.

Zaplanujmy to!

Aby lepiej zrozumieć tę integrację, podzieliliśmy proces na te podstawowe kroki:

  1. Wczytywanie biblioteki
  2. Określanie możliwości płacenia za pomocą Google Pay
  3. Wyświetlanie przycisku płatności Google Pay
  4. Tworzenie i wysyłanie prośby o płatność
  5. Zbieranie wyników

Dodaj script tag

Aby zacząć korzystać z interfejsu Google Pay API, musisz najpierw wczytać bibliotekę JavaScript. Aby to zrobić, w pliku HTML, z którego chcesz wywołać interfejs API, umieść tag script, w tym atrybut src, który wskazuje zewnętrzną bibliotekę JavaScript.

W tym ćwiczeniu otwórz plik index.html. Powinien w nim być już tag skryptu:

<script async
  src="https://pay.google.com/gp/p/js/pay.js"
  onload="onGooglePayLoaded()">
</script>

Oprócz atrybutu src dodano 2 inne atrybuty.

  • async umożliwia asynchroniczne wczytywanie i wykonywanie skryptu wraz z pozostałą częścią strony, dzięki czemu nie wpływa na czas pierwszego wczytania dokumentu.
  • onload pomaga odroczyć wykonanie kodu, który zależy od tej biblioteki, do momentu załadowania skryptu. Po wykonaniu tej czynności uruchamiana jest funkcja określona w tym atrybucie. W tym przypadku funkcja to onGooglePayLoaded.

Utwórz instancję klienta API

Po załadowaniu skryptu wszystko jest gotowe do korzystania z tej biblioteki. Zacznij od utworzenia instancji obiektu klienta, którego będziesz później używać do wywoływania Google Pay API.

Edytuj plik index.js, który jest już częścią struktury plików w tym projekcie. Zastąp funkcję onGooglePayLoaded tym kodem.

let googlePayClient;
function onGooglePayLoaded() {
  googlePayClient = new google.payments.api.PaymentsClient({
    environment: 'TEST'
  });
}

Klient płatności jest inicjowany za pomocą obiektu PaymentOptions. Ustawienie wartości environment na TEST umożliwia eksperymentowanie z przykładowymi informacjami o płatnościach w całej integracji. Gdy będziesz gotowy(-a) do utworzenia operacji obsługujących rzeczywiste transakcje, możesz zmienić wartość właściwości environment na PRODUCTION.

Omówienie

Biblioteka klienta JavaScript Google Pay API została wczytana. Teraz skonfigurujmy go tak, aby wykonywał wywołania interfejsu API.

Wszystkie zmiany w kodzie w pozostałej części tego laboratorium zostaną wprowadzone w pliku index.js.

szkielet,

Za każdym razem, gdy komunikujesz się z Google Pay API, musisz uwzględniać w żądaniach szereg parametrów konfiguracji, takich jak wersja interfejsu API, z której korzystasz. Na potrzeby tego laboratorium obiekt zawiera też informacje o formach płatności akceptowanych w aplikacji. Ostateczna struktura wygląda tak:

{
  apiVersion: number,
  apiVersionMinor: number,
  allowedPaymentMethods: Array
}

Właściwość allowedPaymentMethods przyjmuje listę form płatności. W przypadku każdej formy płatności musisz podać te właściwości:

{
  type: 'CARD',
  parameters: {
    allowedCardNetworks: Array.<string>,
    allowedAuthMethods: Array.<string>
  }
}

Aby określić, czy dany użytkownik może zapłacić za pomocą Google Pay, wymagane są tylko właściwości typeparameters.

Konfiguracja formy płatności

W tym przykładzie akceptujesz tylko jedną konfigurację, która umożliwia płatności kartami Mastercard i Visa w formie tokenizowanej i głównego numeru konta (PAN).

Oto jak powinna wyglądać konfiguracja w index.js:

const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS']
  }
};

Podsumowanie zdobytej wiedzy

Podsumujmy.

W witrynie zdefiniowano jedną formę płatności, która ma być akceptowana, i będziesz korzystać z wersji 2.0 interfejsu API. Wynikowa konfiguracja powinna wyglądać tak:

const baseCardPaymentMethod = {
  type: 'CARD',
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS']
  }
};

const googlePayBaseConfiguration = {
  apiVersion: 2,
  apiVersionMinor: 0,
  allowedPaymentMethods: [baseCardPaymentMethod]
};

Skoro masz już gotową konfigurację podstawową, przejdźmy do przyjemniejszej części.

Jednym z głównych celów Google Pay jest zapewnienie użytkownikom szybszego i wygodniejszego procesu płatności. Dotyczy to nie tylko sytuacji, w których użytkownik może korzystać z Google Pay, ale też tych, w których nie może tego robić. Korzystanie z żądania isReadyToPay pozwala określić gotowość do płacenia za pomocą Google Pay i umożliwia odpowiednie zmodyfikowanie działania witryny.

Czy użytkownik może płacić za pomocą Google Pay?

Najpierw musisz sprawdzić, czy konkretny użytkownik, który ma dokonać płatności w Twojej witrynie, może użyć do tego Google Pay. W tym celu musisz określić wersję Google Pay API i dozwolone formy płatności w Twojej witrynie. Zawiera on dokładnie to samo, co obiekt konfiguracji podstawowej zdefiniowany w poprzednim kroku.

W polu index.js w funkcji onGooglePayLoaded() wklej ten kod:

googlePayClient.isReadyToPay(googlePayBaseConfiguration)
  .then(function(response) {
    if(response.result) {
      createAndAddButton();
    } else {
      alert("Unable to pay using Google Pay");
    }
  }).catch(function(err) {
    console.error("Error determining readiness to use Google Pay: ", err);
  });

Jeśli połączenie się nie powiedzie lub zwróci nieudaną odpowiedź, w kontekście Google Pay nie trzeba podejmować żadnych dalszych działań. W takiej sytuacji najbardziej odpowiednim kolejnym krokiem byłoby wyświetlenie dodatkowego interfejsu, który obsługuje inne formy płatności.

Jeśli odpowiedź jest pozytywna, możesz zezwolić użytkownikom na korzystanie z Google Pay. W tym celu dodaj przycisk, który będzie inicjować proces płatności po aktywacji przez użytkownika (np. po kliknięciu przycisku).

Dodawanie przycisku płatności Google Pay

Do rozpoczęcia procesu płatności możesz użyć dowolnego przycisku zgodnego z wytycznymi dotyczącymi marki Google Pay, ale zalecamy wygenerowanie go za pomocą Google Pay API. W ten sposób nie tylko zapewnisz prawidłowe stosowanie wytycznych dotyczących marki, ale też skorzystasz z innych ulepszeń wbudowanych bezpośrednio w przycisk, takich jak lokalizacja.

Aby wygenerować przycisk, użyj metody createButton w obiekcie PaymentsClient, w tym ButtonOptions, aby skonfigurować przycisk.

W polu index.js w funkcji createAndAddButton() wklej ten kod:

function createAndAddButton() {

  const googlePayButton = googlePayClient.createButton({

    // currently defaults to black if default or omitted
    buttonColor: 'default',

    // defaults to long if omitted
    buttonType: 'long',

    onClick: onGooglePaymentsButtonClicked
  });

  document.getElementById('buy-now').appendChild(googlePayButton);
}

function onGooglePaymentsButtonClicked() {
  // TODO: Perform transaction
}

Jedyną wymaganą właściwością podczas korzystania z createButton jest onClick, która jest niezbędna do określenia obiektu lub funkcji wywołania zwrotnego, która ma być uruchamiana za każdym razem, gdy użytkownicy aktywują przycisk. buttonColorbuttonType umożliwiają dostosowanie wyglądu przycisku. Dostosuj je do wymagań motywu i interfejsu aplikacji.

Po utworzeniu przycisku wystarczy dodać go do odpowiedniego węzła w DOM. W tym przykładzie do tego celu użyto węzła div oznaczonego jako buy-now.

Zwróć uwagę, że zdefiniowano też funkcję obsługi zdarzeń kliknięcia przycisku. W następnej sekcji użyjesz tej funkcji, aby poprosić o formę płatności.

Przygotuj prośbę o płatność

W tym momencie interfejs Google Pay API jest już załadowany i ustalono, że użytkownik Twojej witryny może używać Google Pay do dokonywania płatności. W rezultacie w interfejsie wyświetlony został przycisk płatności Google Pay i użytkownik jest gotowy do zainicjowania transakcji. Teraz należy wczytać końcowy arkusz płatności zawierający formy płatności dostępne dla różnych zalogowanych użytkowników.

Podobnie jak w przypadku definicji żądania isReadyToPay, to wywołanie również wymaga właściwości z wcześniej zdefiniowanego obiektu konfiguracji podstawowej (apiVersion, apiVersionMinorallowedPaymentMethods) oraz kilku nowych właściwości. Tym razem w formach płatności znajdują się nowa właściwość tokenizationSpecification i dodatkowe parameters, które są istotne dla tego żądania. Dodatkowo należy dodać transactionInfomerchantInfo.

Dodawanie dodatkowych wymaganych informacji do form płatności

Zacznij od utworzenia kopii podstawowej formy płatności kartą, która była używana wcześniej. Ta forma płatności kartą wymaga teraz właściwości tokenizationSpecification, która określa sposób obsługi danych związanych z wybraną formą płatności, a także dalsze wymagania dotyczące danych potrzebnych do przeprowadzenia transakcji: w tym przykładzie pełny adres rozliczeniowy i numer telefonu.

Usługa tokenizationSpecification

Specyfikacja tokenizacji określa, jak wybrana przez klientów forma płatności jest obsługiwana i używana do realizacji transakcji.

Obsługiwane są 2 rodzaje strategii obsługi. Jeśli przetwarzasz transakcję płatniczą na serwerach zgodnych ze standardem PCI DSS, użyj typu specyfikacji DIRECT. W tym przykładzie do przetwarzania płatności używasz bramy płatności, dlatego ustawiasz typ specyfikacji PAYMENT_GATEWAY.

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

const tokenizationSpecification = {
  type: 'PAYMENT_GATEWAY',
  parameters: {
    gateway: 'example',
    gatewayMerchantId: 'gatewayMerchantId'
  }
};

W sekcji parameters możesz określić bramę z listy dostawców obsługiwanych przez Google Pay API oraz dodatkową konfigurację wymaganą przez każdą bramę. Na potrzeby tego modułu wystarczy użyć bramy example, która zwraca wyniki testów przeprowadzonych transakcji.

Dodatkowe parametry

Podobnie możesz teraz podać więcej szczegółów o informacjach, których potrzebujesz, aby zrealizować transakcję. W tym przykładzie musisz dodać właściwości billingAddressRequiredbillingAddressParameters, aby wskazać, że w przypadku tej transakcji wymagany jest pełny format adresu rozliczeniowego użytkownika, w tym numer telefonu.

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

const cardPaymentMethod = {
  type: 'CARD',
  tokenizationSpecification: tokenizationSpecification,
  parameters: {
    allowedCardNetworks: ['VISA','MASTERCARD'],
    allowedAuthMethods: ['PAN_ONLY','CRYPTOGRAM_3DS'],
    billingAddressRequired: true,
    billingAddressParameters: {
      format: 'FULL',
      phoneNumberRequired: true
    }
  }
};

Dodawanie informacji o transakcji

Właściwość transactionInfo zawiera obiekt z informacjami finansowymi o transakcji, a mianowicie cenękod waluty(w formacie ISO 4217) wraz ze stanem ceny, który w zależności od charakteru transakcji może być ostateczny lub szacunkowy (np. cena może się różnić w zależności od podanego adresu dostawy).

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

const transactionInfo = {
  totalPriceStatus: 'FINAL',
  totalPrice: '123.45',
  currencyCode: 'USD'
};

Dodawanie informacji o sprzedawcy

Żądanie płatności zawiera informacje o sprzedawcy, który wysłał żądanie, w ramach właściwości merchantInfo. W tym module skupisz się na 2 z nich:

  • merchantId oczekuje identyfikatora powiązanego z Twoim kontem po zatwierdzeniu przez Google Twojej witryny do działania w środowisku produkcyjnym. Pamiętaj, że nie jest to oceniane w środowisku TEST.
  • merchantName to nazwa Twojej witryny lub organizacji widoczna dla użytkowników. Może być wyświetlana w arkuszu płatności Google Pay, aby przekazywać użytkownikom więcej informacji o tym, kto wysyła żądanie operacji.

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

const merchantInfo = {
  // merchantId: '01234567890123456789', Only in PRODUCTION
  merchantName: 'Example Merchant Name'
};

Prośba o informacje o płatności i przetwarzanie wyniku

Teraz scal wcześniej zdefiniowaną konfigurację z ostatecznym obiektem paymentDataRequest.

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

const paymentDataRequest = Object.assign({}, googlePayBaseConfiguration, {
  allowedPaymentMethods: [cardPaymentMethod],
  transactionInfo: transactionInfo,
  merchantInfo: merchantInfo   
});

W tym momencie masz wszystko, czego potrzebujesz, aby poprosić Google Pay API o prawidłową formę płatności. Aby to zrobić, użyj metody loadPaymentData w obiekcie PaymentsClient, przekazując zdefiniowaną konfigurację.

W polu index.js w funkcji onGooglePaymentsButtonClicked() wklej ten kod:

googlePayClient
  .loadPaymentData(paymentDataRequest)
  .then(function(paymentData) {
    processPayment(paymentData);
  }).catch(function(err) {
    // Log error: { statusCode: CANCELED || DEVELOPER_ERROR }
  });

Wywołanie metody loadPaymentData powoduje wyświetlenie arkusza płatności Google Pay. Jeśli nie ma błędów konfiguracji, zobaczysz listę prawidłowych form płatności powiązanych z aktualnie zalogowanym kontem.

Po wybraniu formy płatności arkusz zostanie zamknięty, a w Promise pojawi się obiekt PaymentData zawierający odpowiednie informacje o wybranej formie płatności:

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

Możesz teraz użyć tych informacji o formie płatności, aby przeprowadzić transakcję.

function processPayment(paymentData) {
  // TODO: Send a POST request to your processor with the payload
  // https://us-central1-devrel-payments.cloudfunctions.net/google-pay-server 
  // Sorry, this is out-of-scope for this codelab.
  return new Promise(function(resolve, reject) {
    // @todo pass payment token to your gateway to process payment
    const paymentToken = paymentData.paymentMethodData.tokenizationData.token;
    console.log('mock send token ' + paymentToken + ' to payment processor');
    setTimeout(function() {
      console.log('mock response from processor');
      alert('done');
      resolve({});
    }, 800);
  });
}

Do tej pory omawialiśmy transakcje o stałych kwotach płatności. Załóżmy jednak, że chcesz zaktualizować cenę na podstawie wyboru określonych właściwości transakcji (np. szczegółów dostawy). Możesz to zrobić, podając parametr paymentDataCallback podczas tworzenia klienta. Ten wywołanie zwrotne służy do obsługi zmian w transakcji i odpowiedniego stosowania modyfikacji. Możesz śledzić zmiany w wybranym adresie dostawy, opcji dostawy i formie płatności. W tym przykładzie będziesz nasłuchiwać zmian w wybranej opcji dostawy. Najpierw zdefiniuj zmienne zawierające wszystkie informacje o dostawie i zmodyfikuj paymentDataRequest, aby je uwzględnić:

const shippingOptionParameters = {
  shippingOptions: [
    {
      id: 'shipping-001',
      label: '$1.99: Standard shipping',
      description: 'Delivered on May 15.'
    },
    {
      id: 'shipping-002',
      label: '$3.99: Expedited shipping',
      description: 'Delivered on May 12.'
    },
    {
      id: 'shipping-003',
      label: '$10: Express shipping',
      description: 'Delivered tomorrow.'
    }
  ]
};

// Shipping surcharges mapped to the IDs above.
const shippingSurcharges = {
  'shipping-001': 1.99,
  'shipping-002': 3.99,
  'shipping-003': 10
};

...

// Place inside of onGooglePaymentsButtonClicked()
paymentDataRequest.shippingAddressRequired = true;
paymentDataRequest.shippingOptionRequired = true;
paymentDataRequest.callbackIntents = ['SHIPPING_OPTION'];
paymentDataRequest.shippingOptionParameters =  shippingOptionParameters;

Następnie modyfikujesz tworzenie googlePayClient, aby uwzględnić w nim paymentDataCallback, który jest wywoływany za każdym razem, gdy w operacji płatności wprowadzana jest zmiana uwzględniona w callbackIntents. Ta funkcja zwrotna zawiera obiekt ze zmienionymi właściwościami. Na podstawie tych zmian możesz utworzyć zaktualizowaną transakcję płatniczą:

function onGooglePayLoaded() {
  googlePayClient = new google.payments.api.PaymentsClient({
    paymentDataCallbacks: { onPaymentDataChanged: paymentDataCallback },
    environment: 'TEST'
  });
  ...
}

function paymentDataCallback(callbackPayload) {

  const selectedShippingOptionId = callbackPayload.shippingOptionData.id;
  const shippingSurcharge = shippingSurcharges[selectedShippingOptionId];
  const priceWithSurcharges = 123.45 + shippingSurcharge;

  return {
    newTransactionInfo: {
      totalPriceStatus: 'FINAL',
      totalPrice: priceWithSurcharges.toFixed(2),
      totalPriceLabel: 'Total',
      currencyCode: 'USD',
      displayItems: [
        {
          label: 'Subtotal',
          type: 'SUBTOTAL',
          price: priceWithSurcharges.toFixed(2),
        },
        {
          label: 'Shipping',
          type: 'LINE_ITEM',
          price: shippingSurcharge.toFixed(2),
          status: 'FINAL'
        }]
    }
  }
};

Po zwróceniu tego nowego obiektu w wywołaniu zwrotnym informacje wyświetlane w arkuszu płatności zostaną zaktualizowane, aby odzwierciedlały zmiany wprowadzone w transakcji.

Po sprawdzeniu, czy integracja działa prawidłowo, możesz pójść o krok dalej i wstępnie pobrać konfigurację płatności, gdy tylko stwierdzisz, że można używać Google Pay. Dzieje się to, zanim użytkownik aktywuje (kliknie) przycisk płatności Google Pay.

Jeśli wstępnie pobierzesz dane do płatności, w momencie, gdy użytkownik zdecyduje się zapłacić, informacje potrzebne do wczytania arkusza będą już dostępne, co znacznie skróci czas wczytywania, a tym samym poprawi ogólne wrażenia.

Ta metoda oczekuje tych samych danych wejściowych co loadPaymentData. Oznacza to, że możesz użyć tego samego obiektu paymentDataRequest, który został zdefiniowany wcześniej. Teraz wystarczy, że dodasz wywołanie metody wstępnego pobierania, gdy tylko ustalisz, że użytkownik może korzystać z Google Pay, po tym jak isReadyToPay zwróci wartość wskazującą powodzenie:

googlePayClient.isReadyToPay(googlePayBaseConfiguration)
  .then(function(response) {
    if(response.result) {
      createAndAddButton();
      googlePayClient.prefetchPaymentData(paymentDataRequest);
    }
  });

W ten sposób skróciłeś czas ładowania, pobierając z wyprzedzeniem dane do płatności, zanim użytkownik kliknął przycisk. Dzięki większej responsywności witryny powinien wzrosnąć współczynnik konwersji.

W tym ćwiczeniu z programowania udało Ci się zintegrować Google Pay API z przykładową witryną lub własną aplikacją.

Aby wdrożyć to rozwiązanie w środowisku produkcyjnym, zapoznaj się z listą kontrolną integracji. Po zakończeniu i sprawdzeniu otrzymasz identyfikator sprzedawcy, który musisz dodać do konfiguracji klienta. Jeśli planujesz korzystać z zewnętrznego dostawcy usług płatniczych lub bramy (lub już z nich korzystasz), zapoznaj się z listą obsługiwanych dostawców w Google Pay i skonfiguruj swojego dostawcę. Jeśli integrujesz się z Google Pay bezpośrednio, zapoznaj się z sekcją dokumentacji na ten temat.

Omówione zagadnienia

  • Zaimportuj i skonfiguruj interfejs Google API w swojej witrynie.
  • Sprawdź, czy interfejs API jest obsługiwany, i odpowiednio zareaguj.
  • Dodaj przycisk, który umożliwi użytkownikom płacenie za pomocą Google Pay.
  • wczytywać i przetwarzać zapisane wcześniej informacje o płatnościach użytkownika;
  • Optymalizacja czasu wczytywania przez wstępne pobieranie informacji o płatności.

Dalsze kroki

  • Dowiedz się więcej o Google Pay
  • Zapoznaj się z listą kontrolną integracji i uzyskaj identyfikator sprzedawcy.
  • Zapoznaj się z 2 rodzajami integracji i zdecyduj, która z nich bardziej Ci odpowiada: integracja bezpośrednia czy korzystanie z bramki lub firmy obsługującej płatności.
  • Skonfiguruj Autoryzację płatności, aby rozpocząć proces płatności i potwierdzić status autoryzacji płatności. (Autoryzacja lub odrzucenie)

Więcej informacji

Czy to było przydatne?

Bardzo przydatne! Wystarczająco, aby spełnić oczekiwania. Niezupełnie.

Chcesz zobaczyć inne codelaby, które pomogą Ci w przypadku innych typów integracji (Android, integracja bezpośrednia, interfejsy API programów lojalnościowych)?

Tak, to byłoby wspaniale. Jestem zadowolony z tego, co otrzymałem.