Obiekty odpowiedzi JSON

Ten dokument zawiera opis opcji obiektu odpowiedzi Google Pay API, których możesz używać w swojej aplikacji. Obiekty odpowiedzi to obiekty zwracane przez metody klienta Google Pay API.

PaymentData

Jest to obiekt odpowiedzi zwracany przez Google po zatwierdzeniu płatności przez płatnika.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Właściwość Typ Zawsze istnieje Opis
apiVersion liczba Tak Główna wersja interfejsu API. Wartość w odpowiedzi jest zgodna z wartością podaną w parametrze
apiVersionMinor liczba Tak Wersja podrzędna interfejsu API. Wartość w odpowiedzi jest zgodna z wartością podaną w parametrze
paymentMethodData PaymentMethodData Tak Dane dotyczące wybranej formy płatności.
email tekst Nie Adres e-mail, jeśli w obiekcie PaymentDataRequest. Jeśli inne żądanie ma ustawioną wartość true, nie ma to żadnego wpływu.
shippingAddress Adres Nie Adres dostawy, jeśli w 

Przykład

Ten przykładowy kod odpowiedzi dla Google Pay API w wersji 2.0 pokazuje formę płatności CARD wybraną w arkuszu płatności Google Pay. Wygenerowano token formy płatności dla bramy example.

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

PaymentMethodData

Ten obiekt zawiera dane wybranej formy płatności.

Właściwość Typ Zawsze istnieje Opis
type tekst Tak PaymentMethod type wybrana w arkuszu płatności Google Pay.
description tekst Tak

Komunikat dla użytkownika opisujący formę płatności, z której pochodzą środki na tę transakcję.

info obiekt Tak Wartość tej właściwości zależy od type zwróconej formy płatności. W przypadku CARD zapoznaj się z zasadą CardInfo.
tokenizationData PaymentMethodTokenizationData Nie Dane tokenizacji płatności dla wybranej formy płatności.

Przykład

Ten przykładowy kod odpowiedzi pokazuje, jak CARD forma płatności wybrana w arkuszu płatności Google Pay generuje token formy płatności dla bramy example.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

Ten obiekt dostarcza informacji o wybranej karcie płatniczej.

Właściwość Typ Zawsze istnieje Opis
cardDetails tekst Tak Szczegóły karty. Zwykle jest to 4 ostatnie cyfry numeru wybranego rachunku bankowego.
assuranceDetails AssuranceDetailsSpecifications Tak Ten obiekt dostarcza informacje o weryfikacji przeprowadzonej na zwróconych danych płatności, jeśli w obiekcie CardParameters.
cardNetwork tekst Tak

Sieć kart płatniczych wybranej płatności. Zwracane wartości są zgodne z formatem allowedCardNetworks w  CardParameters.

Wartość sieci kart nie powinna być wyświetlana kupującemu. Jest używana, gdy potrzebne są szczegóły karty kupującego. Na przykład jeśli zespół obsługi klienta potrzebuje tej wartości, aby zidentyfikować kartę, której kupujący użył do transakcji. Aby podać opis widoczny dla użytkownika, użyj właściwości description obiektu PaymentMethodData.

billingAddress Adres Nie Adres rozliczeniowy powiązany z podaną formą płatności, jeśli w  CardParameters.
cardFundingSource tekst Tak

Źródło finansowania karty dla wybranej formy płatności.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Przykład

Ten przykład pokazuje kartę w sieci Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

Ten obiekt dostarcza informacji o tym, jaka weryfikacja została przeprowadzona na zwróconych danych uwierzytelniających płatność, aby można było zastosować odpowiednie kontrole ryzyka instrumentu.

Nazwa Typ Opis
accountVerified wartość logiczna Jeśli true, oznacza to, że na zwróconych danych uwierzytelniających płatności przeprowadzona została weryfikacja posiadania Cardholder.
cardHolderAuthenticated wartość logiczna

Jeśli true, oznacza to, że na zwróconych danych uwierzytelniających płatności przeprowadzona została identyfikacja i weryfikacja.

Jeśli false, można przeprowadzić to samo uwierzytelnianie oparte na ryzyku, co w przypadku transakcji kartą. Uwierzytelnianie oparte na ryzyku może obejmować m.in. uwierzytelnianie stopniowe z protokołem 3D Secure, jeśli ma to zastosowanie.

Możesz otrzymywać i przetwarzać obiekt odpowiedzi, nawet jeśli nie używasz pola assuranceDetails. Aby otrzymać ten obiekt, w obiekcie żądania uwzględnij assuranceDetailsRequired: true w  CardParameters

PaymentMethodTokenizationData

Ten obiekt zawiera dane tokenizacji formy płatności.

Właściwość Typ Zawsze istnieje Opis
type tekst Tak Rodzaj tokenizacji, który ma być zastosowany do wybranej formy płatności. Ta wartość jest zgodna z wartością type ustawioną w  PaymentMethodTokenizationSpecification
token tekst Nie

Wygenerowany token formy płatności.

Przykład

To jest przykład odpowiedzi z tokenem przygotowanej dla bramy example.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

Ten obiekt dostarcza informacji o wyniku autoryzacji płatności.

Właściwość Typ Konieczność Opis
transactionState Ciąg znaków Wymagane Stan transakcji jest określany przez jeden z tych wyników sprzedawcy:
  • SUCCESS
  • ERROR
error PaymentDataError Opcjonalny Błąd, który ma być wyświetlany w arkuszu płatności, gdy konieczne jest ponowienie płatności.

Przykład

Poniższy przykład pokazuje wynik płatności zwrócony po przetworzeniu płatności:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

Właściwość Typ Konieczność Opis
reason Ciąg znaków Wymagane

Lista wstępnie zdefiniowanych przyczyn błędów:

  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Ciąg znaków Wymagane Komunikat o błędzie wyświetlany użytkownikowi w oknie.
intent Ciąg znaków Wymagane

Intencja błędu.

  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Przykład

Ten przykład pokazuje intencję błędu i komunikat, który ma się wyświetlić na karcie płatności.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

Adres

Ten obiekt zawiera informacje o żądanym adresie pocztowym. Wszystkie właściwości są ciągami znaków.

Adresy mogą być zwracane w formatach MIN, FULL i FULL-ISO3166. Właściwości należące do każdego formatu znajdziesz w tabeli poniżej.

Właściwość Format adresu Opis
name MIN, FULL, FULL-ISO3166 Pełne imię i nazwisko adresata.
postalCode MIN, FULL, FULL-ISO3166 Kod pocztowy.
countryCode MIN, FULL, FULL-ISO3166 Kod kraju w formacie ISO 3166-1 alfa-2.
phoneNumber MIN, FULL, FULL-ISO3166 Numer telefonu, jeśli w phoneNumberRequired ustawiono wartość true w  PaymentDataRequest.
address1 FULL, FULL-ISO3166 Pierwszy wiersz adresu.
address2 FULL, FULL-ISO3166 Druga linia adresu.
address3 FULL, FULL-ISO3166 Trzecia linia adresu.
locality FULL, FULL-ISO3166 Miasto, miasteczko, dzielnica lub przedmieście.
administrativeArea FULL, FULL-ISO3166 Podział kraju, np. stan lub województwo.
sortingCode FULL, FULL-ISO3166 Kod banku.
iso3166AdministrativeArea FULL-ISO3166 Kod regionu administracyjnego w formacie ISO 3166-2 odpowiadający wartości administrativeArea.

Przykład

To przykład adresu w FULL-ISO3166 formacie w Stanach Zjednoczonych z wieloma wierszami danych adresu.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediatePaymentData

Ten obiekt jest zwracany przez dane wejściowe interfejsu Google Pay API onPaymentDataChanged(), gdy w arkuszu płatności zmieni się adres dostawy lub opcje dostawy.

Właściwość Typ Konieczność Opis
callbackTrigger Ciąg znaków Opcjonalny

Opisuje przyczynę wywołania zwrotnego danych płatności.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
shippingAddress IntermediateAddress Opcjonalny Wybrany adres w arkuszu płatności.
shippingOptionData SelectionOptionData Opcjonalny Wybrana opcja dostawy w arkuszu płatności.

Przykład

Ten przykład pokazuje pośredni ładunek zwrócony przez Google Pay API.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

IntermediateAddress

Adres pośredni zawiera zanonimizowany adres dostawy (bez wierszy adresu na poziomie ulicy ani nazwisk odbiorców), aby umożliwić obliczenie odpowiedniego podatku i opcji dostawy przed autoryzacją płatności przez użytkownika.

Właściwość Typ Konieczność Opis
administrativeArea Ciąg znaków Wymagane Podział kraju, np. stan lub województwo.
countryCode Ciąg znaków Wymagane Kod kraju w formacie ISO 3166-1 alfa-2.
locality Ciąg znaków Wymagane Miasto, miasteczko, dzielnica lub przedmieście.
postalCode Ciąg znaków Wymagane Zanonimizowany kod pocztowy na podstawie kraju. W przypadku Kanady i Wielkiej Brytanii zawiera tylko 3 pierwsze znaki. W przypadku Stanów Zjednoczonych zawiera 5 pierwszych cyfr.
iso3166AdministrativeArea Ciąg znaków Opcjonalny Kod regionu administracyjnego w formacie ISO 3166-2 odpowiadający wartości administrativeArea. Występuje tylko wtedy, gdy format adresu dostawy to FULL-ISO3166.

Przykład

Ten przykład pokazuje adres wybrany w arkuszu płatności.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

Właściwość Typ Konieczność Opis
id Ciąg znaków Wymagane Pasuje do SelectionOption.id

Przykład

Ten przykład pokazuje opcję dostawy wybraną w arkuszu płatności.

{
  "id": "shipping-001"
}