Obiekty odpowiedzi JSON

W tym dokumencie opisano opcje obiektu odpowiedzi interfejsu Google Pay API, których można używać w aplikacji. Obiekty odpowiedzi to obiekty zwracane przez metody klienta interfejsu 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 Wersja główna interfejsu API. Wartość w odpowiedzi jest zgodna z wartością podaną w
apiVersionMinor liczba Tak Wersja podrzędna interfejsu API. Wartość w odpowiedzi jest zgodna z wartością podaną w
paymentMethodData PaymentMethodData Tak Dane o wybranej formie płatności.
email tekst Nie Adres e-mail, jeśli parametr emailRequired jest ustawiony na true w obiekcie PaymentDataRequest. Jeśli w innym żądaniu właściwość ma wartość true, nie ma to żadnego wpływu.
shippingAddress Adres Nie Adres dostawy, jeśli parametr shippingAddressRequired jest ustawiony na true w

Przykład

Ten przykładowy kod odpowiedzi dla interfejsu 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 bramki 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 dostarcza dane dotyczące wybranej formy płatności.

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

Wiadomość dla użytkownika opisująca formę płatności, która finansuje tę transakcję.

info obiekt Tak Wartość tej właściwości zależy od zwróconej formy płatności type. Więcej informacji o CARD znajdziesz w artykule CardInfo.
tokenizationData PaymentMethodTokenizationData Nie Dane tokenizacji płatności dla wybranej formy płatności.

Przykład

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

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

CardInfo

Ten obiekt dostarcza informacje o wybranej karcie płatniczej.

Właściwość Typ Zawsze istnieje Opis
cardDetails tekst Tak Szczegóły karty. Ta wartość to zwykle ostatnie 4 cyfry wybranego numeru rachunku bankowego powiązanego z kontem płatności.
assuranceDetails AssuranceDetailsSpecifications Tak Ten obiekt dostarcza informacje o weryfikacji przeprowadzonej na zwróconych danych karty, jeśli parametr assuranceDetailsRequired jest ustawiony na true w CardParameters.
cardNetwork tekst Tak

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

Ta wartość sieci kart nie powinna być wyświetlana kupującemu. Jest on używany, gdy potrzebne są dane karty kupującego. Na przykład jeśli obsługa klienta potrzebuje tej wartości, aby zidentyfikować kartę, której kupujący użył do transakcji. Jeśli chcesz, aby opis był 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 parametr billingAddressRequired jest ustawiony na true w CardParameters.
cardFundingSource tekst Tak

Źródło finansowania karty w przypadku 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 posiadacza karty Cardholder.
cardHolderAuthenticated wartość logiczna

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

Jeśli false, można wykonać to samo uwierzytelnianie oparte na ryzyku, którego używasz w przypadku transakcji kartą. To uwierzytelnianie oparte na ryzyku może obejmować m.in. uwierzytelnianie stopniowe z użyciem protokołu 3D Secure (jeśli dotyczy).

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

PaymentMethodTokenizationData

Ten obiekt dostarcza dane tokenizacji dla formy płatności.

Właściwość Typ Zawsze istnieje Opis
type tekst Tak Rodzaj tokenizacji, który ma zostać zastosowany do wybranej formy płatności. Ta wartość odpowiada wartości type ustawionej 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 informacje 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 zostanie wyświetlony w arkuszu płatności, gdy konieczne będzie 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 zostać wyświetlony w arkuszu płatności.

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

Adres

Ten obiekt dostarcza 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 poszczególnych formatów 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 parametr phoneNumberRequired jest ustawiony na true w obiekcie PaymentDataRequest.
address1 FULL, FULL-ISO3166 Pierwszy wiersz adresu.
address2 FULL, FULL-ISO3166 Drugi wiersz adresu.
address3 FULL, FULL-ISO3166 Trzeci wiersz adresu.
locality FULL, FULL-ISO3166 Miasto, miasteczko, dzielnica lub przedmieście.
administrativeArea FULL, FULL-ISO3166 Podział administracyjny kraju, np. stan lub województwo.
sortingCode FULL, FULL-ISO3166 Kod banku.
iso3166AdministrativeArea FULL-ISO3166 Kod regionu ISO 3166-2 odpowiadający wartości administrativeArea.

Przykład

Oto przykład adresu w formacie FULL-ISO3166 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 onPaymentDataChanged() interfejsu Google Pay API, gdy adres dostawy lub opcje dostawy zostaną zmienione w arkuszu płatności.

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

Opisuje powód wywołania zwrotnego danych karty.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • PAYMENT_METHOD
shippingAddress IntermediateAddress Opcjonalny Adres wybrany w arkuszu płatności.
shippingOptionData SelectionOptionData Opcjonalny Opcja dostawy wybrana w arkuszu płatności.
paymentMethodData IntermediatePaymentMethodData Opcjonalny Dane formy płatności wybranej w arkuszu płatności.

Przykłady

Ten przykład pokazuje ładunek pośredni zwracany przez interfejs Google Pay API w przypadku zmian adresu dostawy.

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

Ten przykład pokazuje ładunek pośredni zwracany po zmianie formy płatności.

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

IntermediateAddress

Adres pośredni zawiera ukryty adres dostawy (bez ulicy i nazwy odbiorcy), aby umożliwić obliczenie odpowiedniego podatku i opcji dostawy, zanim użytkownik autoryzuje płatność.

Właściwość Typ Konieczność Opis
administrativeArea Ciąg znaków Wymagane Podział administracyjny 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 Zredagowany kod pocztowy na podstawie kraju. W przypadku Kanady i Wielkiej Brytanii zawiera tylko pierwsze 3 znaki. W przypadku Stanów Zjednoczonych zawiera on 5 pierwszych cyfr.
iso3166AdministrativeArea Ciąg znaków Opcjonalny Kod regionu ISO 3166-2 odpowiadający wartości administrativeArea. Widoczny 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 Dopasowania do: SelectionOption.id

Przykład

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

{
  "id": "shipping-001"
}

IntermediatePaymentMethodData

Ten obiekt zawiera ograniczone informacje o wybranej formie płatności na potrzeby wywołań zwrotnych dewelopera.

Właściwość Typ Konieczność Opis
type tekst Wymagane Rodzaj formy płatności. W przypadku tego wywołania zwrotnego obsługiwana jest tylko wartość CARD.
info IntermediateCardInfo Opcjonalny Informacje o wybranej karcie. Widoczny tylko wtedy, gdy type ma wartość CARD.

IntermediateCardInfo

Ten obiekt zawiera ograniczone informacje o wybranej karcie, używane w wywołaniach zwrotnych dewelopera.

Właściwość Typ Konieczność Opis
billingAddress IntermediateAddress Opcjonalny adres rozliczeniowy powiązany z kartą, Pole jest wypełniane tylko wtedy, gdy adres rozliczeniowy jest ustawiony jako wymagany.
cardNetwork tekst Opcjonalny

Organizacja płatnicza wybranej karty płatniczej. Zwracane wartości są zgodne z formatem allowedCardNetworks w CardParameters.

Ta wartość sieci kart nie powinna być wyświetlana kupującemu.

cardFundingSource tekst Opcjonalny

Źródło finansowania dla wybranej karty płatniczej.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID