Dokumentacja obiektów

W tym artykule znajdziesz opis opcji związanych z obiektami Google Pay API do wykorzystania w witrynie. Omawiamy trzy typy obiektów:

Obiekty żądań

Aby można było skonfigurować oczekiwany rezultat, obiekt żądania jest przekazywany do metody klasy w bibliotece klienta Google Pay API. Jeśli chcesz wysyłać żądania do Google Pay API, musisz skonfigurować kilka obiektów żądań.

PaymentOptions

Gdy zakończysz testowanie implementacji i będziesz mieć wszystko gotowe do otrzymywania płatności, skonfiguruj ten obiekt do działania w środowisku produkcyjnym.

Jeśli skonfigurujesz aktualizacje ceny dynamicznej w swojej integracji, pamiętaj, aby dodać też pola merchantInfo i paymentDataCallback:

Właściwość Typ Czy jest wymagana Opis
environment Ciąg znaków Opcjonalna
  • PRODUCTION: używana, gdy w domenie zostanie określony i skonfigurowany prawidłowy identyfikator sprzedawcy w Google, zwracane będą możliwe do obciążenia formy płatności.
  • TEST: zastępcze formy płatności nadające się do testów (domyślnie).
merchantInfo merchantInfo Opcjonalna Ten obiekt dostarcza informacje o sprzedawcy, który wysłał żądanie danych płatności.
paymentDataCallback Funkcja Opcjonalna Ta funkcja musi odnosić się do wywołania zwrotnego danych płatności. Więcej informacji znajdziesz tutaj: paymentDataCallback().

Przykład

Ta przykładowa konfiguracja wykorzystuje formy płatności, których nie można obciążyć, odpowiednie dla środowiska testowego. Obejmuje też informacje o sprzedawcy i wywołanie zwrotne danych płatności.

{
  environment: "TEST",
  merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "01234567890123456789"
  },
  paymentDataCallback: paymentDataCallback
}

IsReadyToPayRequest

Ten obiekt wskazuje obsługiwane formy płatności.

Właściwość Typ Czy jest wymagana Opis
apiVersion Liczba Wymagana Główny numer wersji interfejsu API. W przypadku tej specyfikacji wartość wynosi 2.
apiVersionMinor Liczba Wymagana Pomocniczy numer wersji interfejsu API. W przypadku tej specyfikacji wartość wynosi 0.
allowedPaymentMethods PaymentMethod[] Wymagana

Określa, które formy płatności obsługiwane przez Google Pay API mają być dostępne.

Nie trzeba używać tokenizationSpecification do określania, czy użytkownik jest gotowy do dokonania płatności. Podaj wszystkie wymagane właściwości parameters dla każdej obsługiwanej właściwości PaymentMethod.

existingPaymentMethodRequired Wartość logiczna Opcjonalna

Gdy jest ustawiona wartość true, obiekt IsReadyToPayResponse zawiera dodatkową właściwość opisującą gotowość użytkownika do dokonania płatności za pomocą formy płatności podanej w allowedPaymentMethods.

Przykład

Ten przykład pokazuje, jak obsługiwać tokeny na urządzeniach z Androidem i karty płatnicze ze wszystkich obsługiwanych sieci kart.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      }
    }
  ]
}

PaymentDataRequest

Wykorzystaj ten obiekt, aby skonfigurować obsługę Google Pay API w swojej witrynie.

Właściwość Typ Czy jest wymagana Opis
apiVersion Liczba Wymagana Główny numer wersji interfejsu API. W przypadku tej specyfikacji wartość wynosi 2.
apiVersionMinor Liczba Wymagana Pomocniczy numer wersji interfejsu API. W przypadku tej specyfikacji wartość wynosi 0.
merchantInfo MerchantInfo Wymagana Informacje o sprzedawcy, który wysłał żądanie danych płatności.
allowedPaymentMethods PaymentMethod[] Wymagana Określa, które formy płatności obsługiwane przez Google Pay API mają być dostępne.
transactionInfo TransactionInfo Wymagana Szczegóły autoryzacji transakcji na podstawie tego, czy użytkownik zgodził się na transakcję. Uwzględnia łączną cenę i stan ceny.
callbackIntents string[] Opcjonalna Określa intencje wywołania zwrotnego, w przypadku którego zasubskrybowana jest funkcja paymentDataCallback().
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
emailRequired Wartość logiczna Opcjonalna Ustaw jako true, by wysyłać żądanie adresu e-mail.
shippingAddressRequired Wartość logiczna Opcjonalna Ustaw jako true, by wysyłać żądanie pełnego adresu dostawy.
shippingAddressParameters ShippingAddressParameters Opcjonalna Jeśli shippingAddressRequired ma wartość true, określ ograniczenia dotyczące adresu dostawy.

Przykład

Poniższy przykład ilustruje, jak obsługiwać tokeny na urządzeniach z Androidem i karty płatnicze ze wszystkich obsługiwanych sieci kart. Karty płatnicze są tokenizowane do wykorzystania z przykładową bramą. Żądanie dotyczy formy płatności do obciążenia łączną kwotą 12,34 USD.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "merchantInfo": {
    "merchantName": "Example Merchant"
  },
  "allowedPaymentMethods": [
    {
      "type": "CARD",
      "parameters": {
        "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
        "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
      },
      "tokenizationSpecification": {
        "type": "PAYMENT_GATEWAY",
        "parameters": {
          "gateway": "example",
          "gatewayMerchantId": "exampleGatewayMerchantId"
        }
      }
    }
  ],
  "transactionInfo": {
    "totalPriceStatus": "FINAL",
    "totalPrice": "12.34",
    "currencyCode": "USD"
  }
}

PaymentDataRequestUpdate

Ten obiekt określa nowe informacje o transakcji, opcje dostawy i błąd. O te dane ma być zaktualizowany arkusz płatności.

Właściwość Typ Czy jest wymagana Opis
newTransactionInfo TransactionInfo Opcjonalna Aktualizuje informacje o transakcji w arkuszu płatności.
newShippingOptionParameters ShippingOptionParameters Opcjonalna Aktualizuje opcje dostawy w arkuszu płatności.
error PaymentDataError Opcjonalna Dodaje komunikat o błędzie do arkusza płatności.

Przykład

Poniższy przykład ilustruje wszystkie aktualizacje żądania danych płatności, jakie mogą zostać zwrócone do Google Pay API.

{
  newTransactionInfo: {
   	displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
  currencyCode: "USD",
  totalPriceStatus: "FINAL",
  totalPrice: "12.00",
  totalPriceLabel: "Total"
  },
  newShippingOptions: {
    defaultSelectedOptionId: "shipping-001",
    shippingOptions: [
      {
        "id": "shipping-001",
        "label": "Free: Standard shipping",
        "description": "Free Shipping delivered in 5 business days."
      }
    ]
  },
  error: {
    reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
    message: "Cannot ship to the selected address",
    intent: "SHIPPING_ADDRESS"
  }
}

MerchantInfo

Ten obiekt dostarcza informacje o sprzedawcy, który wysłał żądanie danych płatności.

Właściwość Typ Czy jest wymagana Opis
merchantId Ciąg znaków Wymagana Identyfikator sprzedawcy w Google wystawiany po zatwierdzeniu Twojej witryny przez Google. Jest on wymagany, jeśli do uruchomienia PaymentsClient użyto właściwości environment o wartości PRODUCTION. Więcej informacji o procesie zatwierdzania i uzyskiwaniu identyfikatora sprzedawcy w Google znajdziesz na liście kontrolnej integracji.
merchantName Ciąg znaków Opcjonalna Nazwa sprzedawcy w formacie UTF-8. Nazwa sprzedawcy jest wyświetlana w arkuszu płatności. W środowisku TEST oraz w przypadku nierozpoznanego sprzedawcy zobaczysz komunikat „Pay Unverified Merchant” (Niezweryfikowany sprzedawca w Google Pay) w arkuszu płatności.
merchantOrigin Ciąg znaków Opcjonalna

Pełna, jednoznaczna nazwa domeny dostawcy usług, który wysyła żądanie w imieniu sprzedawcy. Jest ona wymagana, gdy witryna zawiera przycisk płatności Google Pay i wysyła żądanie danych karty w imieniu innej witryny. Zwykle odbywa się to w ramach integracji ze stroną hostowanych płatności.

Przykłady

Poniższy przykład przedstawia obiekt merchantInfo z merchantName i merchantId.

merchantInfo: {
    merchantName: "Example Merchant",
    merchantId: "01234567890123456789"
}

PaymentMethod

Formy płatności które są obsługiwane w Google Pay API i Twojej witrynie.

Właściwość Typ Czy jest wymagana Opis
type Ciąg znaków Wymagana

Krótki identyfikator obsługiwanej formy płatności. Obecnie obsługiwane są tylko CARD i PAYPAL.

parameters Obiekt Wymagana Parametry niezbędne, aby skonfigurować podaną formę płatności. Więcej informacji o poprawnych wartościach formy płatności CARD znajdziesz w sekcji CardParameters. Więcej informacji o poprawnych wartościach formy płatności PAYPAL znajdziesz w sekcji PAYPALParameters.
tokenizationSpecification PaymentMethodTokenizationSpecification Opcjonalna

Skonfiguruj konto, na które mają zostać wysłane dane karty, lub dostawcę usług odszyfrowywania, który ma je otrzymać.

Ta właściwość jest wymagana w przypadku formy płatności CARD.

Jeśli jest zawarta w IsReadyToPayRequest, nie będzie działać.

CARD

Ten przykład ilustruje, jak obsługiwać tokeny na urządzeniach z Androidem i karty płatnicze ze wszystkich obsługiwanych sieci kart. W tym przykładzie tokenizacja odbywa się za pomocą przykładowej bramy.

{
  "type": "CARD",
  "parameters": {
    "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
    "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
  },
  "tokenizationSpecification": {
    "type": "PAYMENT_GATEWAY",
    "parameters": {
      "gateway": "example",
      "gatewayMerchantId": "exampleGatewayMerchantId"
    }
  }
}
PAYPAL

Ten przykład ilustruje, jak obsługiwać formę płatności PAYPAL.

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

PaymentMethodTokenizationSpecification

Ten obiekt umożliwia skonfigurowanie konta, które ma odbierać dane karty do obciążenia.

Właściwość Typ Czy jest wymagana Opis
type Ciąg znaków Wymagana

Typ tokenizacji formy płatności obsługiwany przez daną PaymentMethod. W przypadku formy płatności CARD używaj PAYMENT_GATEWAY lub DIRECT. W przypadku PAYPAL PaymentMethod używaj DIRECT bez parametru.

parameters Obiekt Wymagana Parametry wybranego typu tokenizacji formy płatności.

Brama

Ustaw type jako PAYMENT_GATEWAY, aby pobierać informacje o płatnościach i klientach z bramy płatności obsługiwanej przez Google Pay API. Określ właściwości parameters w taki sposób, jak wskazuje Twoja brama. Typowe właściwości obejmują identyfikator bramy wystawiany przez Google oraz identyfikator konta Twojej bramy.

// [START EXAMPLE]
Example
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "example",
    "gatewayMerchantId": "exampleGatewayMerchantId"
  }
}
// [END EXAMPLE] // [START ACI]
ACI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "aciworldwide",
    "gatewayMerchantId": "YOUR_ENTITY_ID"
  }
}
// [END ACI] // [START ADYEN]
Adyen
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "adyen",
    "gatewayMerchantId": "YOUR_MERCHANT_ACCOUNT_NAME"
  }
}
// [END ADYEN] // [START ALFA-BANK]
Alfa-Bank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "alfabank",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END ALFA-BANK] // [START BLUE_MEDIA]
Blue Media
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluemedia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUE_MEDIA] // [START BLUESNAP]
BlueSnap
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "bluesnap",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BLUESNAP] // [START BRAINTREE]
Braintree
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "braintree",
    "braintree:apiVersion": "v1",
    "braintree:sdkVersion": braintree.client.VERSION,
    "braintree:merchantId": "YOUR_BRAINTREE_MERCHANT_ID",
    "braintree:clientKey": "YOUR_BRAINTREE_TOKENIZATION_KEY"
  }
}
// [END BRAINTREE] // [START BRASPAG]
Braspag
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cielo",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END BRASPAG] // [START CARDCONNECT]
CardConnect
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cardconnect",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CARDCONNECT] // [START CHASE_PAYMENTECH]
Chase Paymentech
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "chase",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ACCOUNT_NUMBER"
  }
}
// [END CHASE_PAYMENTECH] // [START CHECKOUT]
Checkout.com
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "checkoutltd",
    "gatewayMerchantId": "YOUR_PUBLIC_KEY"
  }
}
// [END CHECKOUT] // [START CLOUDPAYMENTS]
CloudPayments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cloudpayments",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END CLOUDPAYMENTS] // [START CYBERSOURCE]
CyberSource
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "cybersource",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END CYBERSOURCE] // [START DATATRANS]
Datatrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "datatrans",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END DATATRANS] // [START EBANX]
EBANX
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "ebanx",
    "gatewayMerchantId": "YOUR_PUBLIC_INTEGRATION_KEY"
  }
}
// [END EBANX] // [START FIRST_DATA]
First Data
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "firstdata",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END FIRST_DATA] // [START GLOBAL_PAYMENTS]
Global Payments
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "globalpayments",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END GLOBAL_PAYMENTS] // [START GOPAY]
GoPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gopay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GOPAY] // [START GMO_PAYMENT_GATEWAY]
GMO Payment Gateway
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "gmopg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END GMO_PAYMENT_GATEWAY] // [START HITRUST]
HiTrust
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "hitrustpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END HITRUST] // [START IMSOLUTIONS]
IMSolutions
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "imsolutions",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END IMSOLUTIONS] // [START IQMETRIX]
iQmetrix
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "iqmetrixpaymentservicesgateway",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END IQMETRIX] // [START LYRA]
Lyra
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "lyra",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END LYRA] // [START MPGS]
MPGS
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mpgs",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MPGS] // [START MONEY_MAIL_RU]
Money.Mail.Ru
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "moneymailru",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MONEY_MAIL_RU] // [START MUNDIPAGG]
Mundipagg
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "mundipagg",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END MUNDIPAGG] // [START NEWEBPAY]
Newebpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "newebpay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEWEBPAY] // [START NEXI]
Nexi
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "nexi",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NEXI] // [START NMI]
NMI
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "creditcall",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END NMI] // [START PAYSAFE]
Paysafe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "paysafe",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYSAFE] // [START PAYTURE]
Payture
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payture",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYTURE] // [START PAYU]
PayU
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "payu",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END PAYU] // [START PRZELEWY24]
Przelewy24
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "przelewy24",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END PRZELEWY24] // [START RBKMONEY]
RBKmoney
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "rbkmoney",
    "gatewayMerchantId": "YOUR_MERCHANT_ID"
  }
}
// [END RBKMONEY] // [START REDSYS]
Redsys
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "redsys",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END REDSYS] // [START SBERBANK]
Sberbank
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sberbank",
    "gatewayMerchantId": "YOUR_ORGANIZATION_NAME"
  }
}
// [END SBERBANK] // [START SOFTBANK_PAYMENT_SERVICE]
Softbank Payment Service
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sbps",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SOFTBANK_PAYMENT_SERVICE] // [START SONY_PAYMENT_SERVICES]
Sony Payment Services
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "sonypaymentservices",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SONY_PAYMENT_SERVICES] // [START SQUARE]
Square
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "square",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END SQUARE] // [START STRIPE]
Stripe
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "stripe",
    "stripe:version": "2018-10-31",
    "stripe:publishableKey": "YOUR_PUBLIC_STRIPE_KEY"
  }
}
// [END STRIPE] // [START TAPPAY]
TapPay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tappay",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TAPPAY] // [START TINKOFF]
Tinkoff
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "tinkoff",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END TINKOFF] // [START UNITELLER]
Uniteller
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "uniteller",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END UNITELLER] // [START VANTIV]
Vantiv
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vantiv",
    "vantiv:merchantPayPageId": "YOUR_PAY_PAGE_ID",
    "vantiv:merchantOrderId": "YOUR_ORDER_ID",
    "vantiv:merchantTransactionId": "YOUR_TRANSACTION_ID",
    "vantiv:merchantReportGroup": "*web"
  }
}
// [END VANTIV] // [START VERITRANS]
Veritrans
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "veritrans",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VERITRANS] // [START VINDICIA]
Vindicia
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "vindicia",
    "gatewayMerchantId": "YOUR_GATEWAY_MERCHANT_ID"
  }
}
// [END VINDICIA] // [START WORLDPAY]
Worldpay
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "worldpay",
    "gatewayMerchantId": "YOUR_WORLDPAY_MERCHANT_ID"
  }
}
// [END WORLDPAY] // [START YANDEX]
Yandex
"tokenizationSpecification": {
  "type": "PAYMENT_GATEWAY",
  "parameters": {
    "gateway": "yandexcheckout",
    "gatewayMerchantId": "YOUR_SHOP_ID"
  }
}
// [END YANDEX]

Direct

Ustaw type jako DIRECT, aby odszyfrować odpowiedź bezpośrednio na swoich serwerach. Ta konfiguracja ma dodatkowe, ustanowione przez Google wymagania dotyczące bezpieczeństwa danych, i dodatkowe zaawansowane wymagania dotyczące zgodności z PCI DSS.

Właściwość Typ Czy jest wymagana Opis
protocolVersion Ciąg znaków Wymagana Wersja protokołu szyfrowania/podpisywania, która powinna znajdować się w odpowiedzi. Obecnie obsługiwana jest ECv2. Więcej informacji o protokołach szyfrowania i podpisywania znajdziesz w sekcji o szyfrowaniu danych płatności.
publicKey Ciąg znaków Wymagana Klucz publiczny wykorzystujący krzywe eliptyczne zakodowany w standardzie Base64. Aby uzyskać więcej informacji, zapoznaj się z sekcją o formacie publicznego klucza szyfrowania w naszej dokumentacji dla sprzedawców związanej z szyfrowaniem.
Przykład

W poniższym przykładzie wartość publicKey została skrócona, żeby była bardziej czytelna.

"tokenizationSpecification": {
  "type": "DIRECT",
  "parameters": {
    "protocolVersion": "ECv2",
    "publicKey": "BOdoXP1aiNp.....kh3JUhiSZKHYF2Y="
  }
}

CardParameters

Ten obiekt umożliwia definiowanie akceptowanych typów kart płatniczych. Google filtruje karty płatnicze dostępne dla płatnika, biorąc pod uwagę skonfigurowane przez Ciebie opcje.

Właściwość Typ Czy jest wymagana Opis
allowedAuthMethods string[] Wymagana

Pola obsługiwane podczas uwierzytelniania transakcji kartą.

  • PAN_ONLY: ta metoda uwierzytelniania jest przypisana do kart płatniczych, które są zapisane na koncie Google użytkownika. Zwracane dane płatności zawierają numer rachunku bankowego (PAN) oraz miesiąc i rok, w którym karta traci ważność.
  • CRYPTOGRAM_3DS: ta metoda uwierzytelniania jest przypisana do kart, które są zapisane jako tokeny na urządzeniach z Androidem. Zwracane dane płatności zawierają kryptogram 3-D Secure (3DS) wygenerowany na urządzeniu.
allowedCardNetworks Ciąg znaków Wymagana

Sieci kart, które są obsługiwane przez Ciebie i Google Pay API.

  • AMEX
  • DISCOVER
  • INTERAC
  • JCB
  • MASTERCARD
  • VISA
allowPrepaidCards Wartość logiczna Opcjonalna Ustaw jako false, jeśli nie obsługujesz kart przedpłaconych. Domyślnie klasa karty przedpłaconej jest obsługiwana przez podane sieci kart.
billingAddressRequired Wartość logiczna Opcjonalna Ustaw jako true, jeśli wymagasz adresu rozliczeniowego. Żądanie adresu rozliczeniowego wysyłaj tylko wtedy, gdy jest to niezbędne do obsługi transakcji. Więcej żądań danych może powodować błędy w procesie płatności i obniżenie współczynnika konwersji.
billingAddressParameters BillingAddressParameters Opcjonalna Pola, które mają zostać zwrócone, jeśli billingAddressRequired ma wartość true.

Przykład metody CARD

Poniższy przykład ilustruje, jak obsługiwać wszystkie dostępne sieci kart i metody uwierzytelniania kart.

{
  "allowedAuthMethods": ["PAN_ONLY", "CRYPTOGRAM_3DS"],
  "allowedCardNetworks": ["AMEX", "DISCOVER", "INTERAC", "JCB", "MASTERCARD", "VISA"]
}

BillingAddressParameters

Ten obiekt umożliwia ustawienie dodatkowych pól żądanego adresu rozliczeniowego, które mają być zwracane.

Właściwość Typ Czy jest wymagana Opis
format Ciąg znaków Opcjonalna

Format adresu rozliczeniowego niezbędny do zrealizowania transakcji.

  • MIN: imię i nazwisko, kod kraju, kod pocztowy (domyślnie).
  • FULL: imię i nazwisko, ulica i numer, miejscowość, region, kod kraju, kod pocztowy.
phoneNumberRequired Wartość logiczna Opcjonalna Ustaw jako true, jeśli do obsługi transakcji jest wymagany numer telefonu.

Przykład

Poniższy przykład ilustruje, jak wysyłać żądanie minimalnej wersji adresu rozliczeniowego. Jest to wartość domyślna.

{
  "format": "MIN"
}

ShippingAddressParameters

Ten obiekt jest wykorzystywany do ustawiania ograniczeń dostawy

Właściwość Typ Czy jest wymagana Opis
allowedCountryCodes string[] Opcjonalna Zgodne ze standardem ISO 3166-1 alpha-2 wartości kodów krajów, do których wysyłka jest dozwolona. Jeśli ten obiekt nie został określony, dozwolona jest wysyłka do wszystkich krajów.
phoneNumberRequired Wartość logiczna Opcjonalna Ustaw jako true, jeśli adres dostawy musi zawierać numer telefonu.

Przykład

Poniższy przykład ilustruje, jak wysyłać żądanie podania adresu rozliczeniowego w Stanach Zjednoczonych.

{
  "allowedCountryCodes": ["US"]
}

ShippingOptionParameters

Właściwość Typ Czy jest wymagana Opis
shippingOptions SelectionOption Wymagana Wszystkie opcje dostawy dostępne w obecnym żądaniu.
defaultSelectedOptionId Ciąg znaków Opcjonalna Identyfikator domyślnie wybranej opcji dostawy. Jeśli to pole jest puste, domyślna jest pierwsza z dostępnych opcji.

Przykład

Poniższy przykład zawiera wszystkie opcje dostawy w arkuszu płatności oraz domyślną opcję dostawy.

{
  defaultSelectedOptionId: "0",
  shippingOptions: [
    {
      "id": "shipping-001",
      "label": "$0.00: Free shipping",
      "description": "Free Shipping delivered in 5 business days."
    },
    {
      "id": "shipping-002",
      "label": "$1.99: Standard shipping",
      "description": "Standard shipping delivered in 3 business days."
    },
    {
      "id": "shipping-003",
      "label": "$1000: Express shipping",
      "description": "Express shipping delivered in 1 business day."
    }
  ]
}

SelectionOption

Właściwość Typ Czy jest wymagana Opis
id Ciąg znaków Wymagana Deweloper może wpisać dowolną wartość, która musi być zwracana w PaymentData.
label Ciąg znaków Wymagana Etykieta, która będzie się wyświetlać jako opcja.
description Ciąg znaków Opcjonalna Opis wyświetlający się pod etykietą opcji.

Przykład

Poniższy przykład przedstawia opcję dostawy.

{
  "id": "shipping-003",
  "label": "$10: Express shipping",
  "description": "Express shipping delivered in 1 business day."
}

TransactionInfo

Ten obiekt opisuje transakcję, która określa możliwość zapłaty przez płatnika. Jest wykorzystywany do wyświetlania okna autoryzacji płatności.

Właściwość Typ Czy jest wymagana Opis
currencyCode Ciąg znaków Wymagana Kod waluty wyrażony literami według normy ISO 4217.
totalPriceStatus Ciąg znaków Wymagana

Stan łącznej ceny:

  • NOT_CURRENTLY_KNOWN: służy do sprawdzenia, czy kupujący może dokonać płatności.
  • ESTIMATED: łączna cena może zostać dostosowana na podstawie szczegółów odpowiedzi, takich jak podatek od sprzedaży określany na podstawie adresu rozliczeniowego.
  • FINAL: łączna cena jest taka sama jak kwota wyświetlona kupującemu.
totalPrice Ciąg znaków Opcjonalna

Łączna wartość pieniężna transakcji z opcjonalną możliwością określenia do dwóch miejsc po przecinku. To pole jest wymagane, chyba że totalPriceStatus ma stan NOT_CURRENTLY_KNOWN.

Ciąg znaków powinien mieć format wyrażenia regularnego: ^[0-9]+(\.[0-9][0-9])?$

displayItems DisplayItem[] Opcjonalna Wszystkie obciążenia dostępne w obecnym żądaniu płatności.
totalPriceLabel Ciąg znaków Opcjonalna Etykieta własna z łączną ceną w wyświetlanych elementach.
checkoutOption Ciąg znaków Opcjonalna

Wpływa na przycisk przesyłania w arkuszu płatności Google Pay.

  • DEFAULT: totalPriceStatus używa standardowego tekstu (domyślnie).
  • COMPLETE_IMMEDIATE_PURCHASE: forma płatności zostanie obciążona zaraz po tym, jak płatnik potwierdzi swój wybór. Ta opcja jest dostępna tylko wtedy, gdy totalPriceStatus ma wartość FINAL.

Przykład

Poniższy przykład zawiera ostateczną cenę w USD.

{
  displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    }
  ],
    currencyCode: "USD",
    totalPriceStatus: "FINAL",
    totalPrice: "12.00",
    totalPriceLabel: "Total",
    checkoutOption: "DEFAULT",
    newShippingOptions: {
 	    defaultSelectedOptionId: "shipping-001",
      shippingOptions: [
        {
          "id": "shipping-001",
          "label": "Free: Standard shipping",
          "description": "Free Shipping delivered in 5 business days."
        }
      ]
    },
    error: {
   	  reason: "SHIPPING_ADDRESS_UNSERVICEABLE",
      message: "Cannot ship to the selected address",
      intent: "SHIPPING_ADDRESS"
    }
}

DisplayItem

Właściwość Typ Czy jest wymagana Opis
label Ciąg znaków Wymagana Etykieta wyświetlana w przypadku danej opcji.
type Ciąg znaków Wymagana

Typ wyświetlanej pozycji:

  • LINE_ITEM
  • SUBTOTAL
price Ciąg znaków Wymagana Wartość pieniężna pozycji w koszyku z opcjonalną możliwością określenia do dwóch miejsc po przecinku. Dozwolone są wartości ujemne.
status Ciąg znaków Opcjonalna

Różnicę ceny definiują te zmienne:

  • FINAL
  • PENDING

Domyślnie FINAL, jeśli nie podano żadnej wartości.

Przykład

Ten przykład pokazuje listę elementów transakcji z arkusza płatności, które mogą się wyświetlić.

{
  displayItems: [
    {
      label: "Subtotal",
      type: "SUBTOTAL",
      price: "11.00",
    },
    {
      label: "Tax",
      type: "TAX",
      price: "1.00",
    },
    {
      "label": "Shipping",
      "type": "LINE_ITEM",
      "price": "0", // Won't be displayed since status is PENDING
      "status": "PENDING",
    }
  ]
}

PaymentDataError

Właściwość Typ Czy jest wymagana Opis
reason Ciąg znaków Wymagana

Lista zdefiniowanych przyczyn błędów:

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

Intencja błędu. Musi być jedną z intencji zarejestrowanych w PaymentDataRequest od chwili rozpoczęcia procesu płatności.

  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Przykład

Ten przykład pokazuje intencję błędu i komunikat, który wyświetli się w arkuszu płatności.

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

ButtonOptions

Ten obiekt umożliwia skonfigurowanie przycisku płatności Google Pay. Więcej informacji na temat typów i kolorów przycisków oraz wymagań związanych z ich wyświetlaniem znajdziesz we wskazówkach dotyczących marki.

Właściwość Typ Czy jest wymagana Opis
onClick

function lub Object

Wymagana Wywołanie zwrotne detektora zdarzeń, które ma być uruchomione, gdy zdarzenie kliknięcia zostanie dostarczone do celu <button>.
buttonColor Ciąg znaków Opcjonalna
  • default: wartość domyślna wybrana przez Google; obecnie black, ale z czasem może się to zmienić (domyślnie).
  • black: czarny przycisk odpowiedni do użytku na białym lub jasnym tle.
  • white: biały przycisk odpowiedni do użytku na kolorowym tle.
buttonType Ciąg znaków Opcjonalna
  • long: przycisk „Zapłać przez Google Pay” (domyślnie). Etykieta na przycisku może być przetłumaczona, jeśli język wskazany w przeglądarce użytkownika jest na liście dostępnych języków.
  • short: przycisk płatności Google Pay bez tekstu „Zapłać przez”.

PayPalParameters

Ten obiekt umożliwia definiowanie parametrów PayPal.

Właściwość Typ Czy jest wymagana Opis
purchase_context PurchaseContext Wymagana W opisie wykorzystaj informacje o zamówieniu.

Przykład PayPal

Poniższy przykład ilustruje, jak obsługiwać formę płatności PayPal.

{
  "purchase_context": {
    "purchase_units": [
      {
        "payee": {
          "merchant_id": "PAYPAL_ACCOUNT_ID"
        }
      }
    ]
  }
}

PurchaseContext

Ten obiekt dostarcza informacji o zamówieniu.

Właściwość Typ Czy jest wymagana Opis
purchase_units PurchaseUnit[] Wymagana Opisuje umowę między klientem i sprzedawcą.

PurchaseUnit

Ten obiekt opisuje umowę między klientem PayPal i sprzedawcą PayPal. Więcej informacji znajdziesz w sekcji purchase_unit w dokumentacji PayPal dotyczącej interfejsu API do zamówień.

Właściwość Typ Czy jest wymagana Opis
payee Payee Wymagana Otrzymanie środków za daną transakcję.

Payee

Ten obiekt dostarcza informacji o sprzedawcy, który otrzymuje środki. Więcej informacji znajdziesz w sekcji o płatniku w dokumentacji PayPal Orders API.

Inne obsługiwane parametry znajdziesz w sekcji z parametrami opcjonalnymi.

Przykład PayPal

Poniższy przykład ilustruje, jak obsługiwać formę płatności PayPal:

{
  “type”: “PAYPAL”,
  parameters: {
  	"purchase_context": {
    	     "purchase_units": [{
        		"payee": {
          		      "merchant_id": "PAYPAL_ACCOUNT_ID"
                      	   }
       	       } ]
  	  }
    },
   “tokenizationSpecification”: {
	type: “DIRECT”  }
}

Przykład

Ten przykład pozwala wygenerować przycisk płatności Google Pay z modułem obsługi zdarzeń kliknięcia i domyślnymi opcjami wyświetlania.

{
  onClick: onGooglePaymentButtonClicked
}

Obiekty odpowiedzi

Obiekty odpowiedzi są obiektami zwracanymi przez metody klienta Google Pay API.

IsReadyToPayResponse

Ten obiekt zawiera informacje o możliwości podania przez użytkownika danych karty w witrynie, która wysłała żądanie.

Właściwość Typ Zawsze istnieje Opis
result Wartość logiczna Tak Bieżący użytkownik może podać dane karty w witrynie, która wysłała żądanie. Zdolność użytkownika do dokonania płatności może zależeć od tego, czy przeglądarka wyświetla wymagane elementy form płatności. Obejmuje to logowanie się na konto Google i wybór formy płatności.
paymentMethodPresent Wartość logiczna Nie

Jeśli jest ustawiona wartość true, użytkownik ma co najmniej jedną formę płatności podaną we właściwości allowedPaymentMethods w IsReadyToPayRequest.

Istnieje tylko wtedy, gdy existingPaymentMethodRequired ma wartość true w IsReadyToPayRequest.

Jeśli PaymentsClient zostanie zainicjowany z właściwością environment o wartości TEST, forma płatności będzie zawsze uznawana za obecną.

Przykład

Poniższy przykład wskazuje, kiedy bieżący użytkownik może podać dane karty w witrynie, która wysłała żądanie.

{
  "result": true
}

PaymentData

To jest obiekt odpowiedzi zwracany przez Google po tym, jak płatnik zatwierdzi płatność.

Właściwość Typ Zawsze istnieje Opis
apiVersion Liczba Tak Główny numer wersji interfejsu API. Wartość w odpowiedzi jest zgodna z wartością w PaymentDataRequest.
apiVersionMinor Liczba Tak Pomocniczy numer wersji interfejsu API. Wartość w odpowiedzi jest zgodna z wartością w PaymentDataRequest.
paymentMethodData PaymentMethodData Tak Informacje o wybranej formie płatności.
email Ciąg znaków Nie Adres e-mail, jeśli właściwość emailRequired jest ustawiona jako true w PaymentDataRequest. Jeśli inne żądanie ma właściwość ustawioną jako true, nic się nie dzieje.
shippingAddress Address Nie Adres dostawy, jeśli właściwość shippingAddressRequired jest ustawiona jako true w PaymentDataRequest.

Przykład

Ta przykładowa odpowiedź wykorzystująca Google Pay API w wersji 2.0 wskazuje formę płatności CARD wybraną w arkuszu płatności Google Pay. Dla bramy example został wygenerowany token formy płatności.

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

IntermediatePaymentData

To jest obiekt zwracany przez parametr paymentDataCallback() Google Pay API, gdy zmienią się adres dostawy lub opcje dostawy w arkuszu płatności.

Właściwość Typ Czy jest wymagana Opis
callbackTrigger Ciąg znaków Opcjonalna

Opisuje powód wywołania zwrotnego danych płatności.

  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
shippingAddress IntermediateAddres Opcjonalna Adres wybrany w arkuszu płatności.
shippingOptionData SelectionOptionData Opcjonalna Opcja dostawy wybrana w arkuszu płatności.

Przykład

Ten przykład zawiera pośredni ładunek zwracany z Google Pay API.

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

PaymentMethodData

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

Właściwość Typ Zawsze istnieje Opis
type Ciąg znaków Tak PaymentMethod type wybrany w arkuszu płatności Google Pay.
description Ciąg znaków Tak

Wiadomość dla użytkownika, która opisuje formę płatności wybraną dla tej transakcji.

info Obiekt Tak Wartość tej właściwości zależy od zwróconej wartości type danej formy płatności. Informacje dotyczące CARD znajdziesz tutaj: CardInfo.
tokenizationData PaymentMethodTokenizationData Tak Dane tokenizacji płatności, które są używane przez wybraną formę płatności.

Przykład

Ta przykładowa odpowiedź ilustruje, jak forma płatności CARD 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 Ciąg znaków Tak Informacje o karcie. Są to zwykle ostatnie cztery cyfry wybranego numeru konta płatności.
cardNetwork Ciąg znaków Tak

Sieć karty płatniczej wybranej płatności. Zwracane wartości mają format jak allowedCardNetworks w CardParameters.

Ta wartość sieci karty nie powinna wyświetlać się u kupującego. Jest używana, gdy są potrzebne informacje o jego karcie. Przykładem może być sytuacja, w której pracownik obsługi klienta potrzebuje tej wartości, aby zidentyfikować kartę użytą przez kupującego do transakcji. Aby wyświetlić opis widoczny dla użytkowników, użyj właściwości description z PaymentMethodData.

billingAddress Address Nie Adres rozliczeniowy powiązany z podaną formą płatności, jeżeli właściwość billingAddressRequired została ustawiona jako true w CardParameters.

Przykład

Ten przykład dotyczy karty w sieci Visa.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234"
}

PaymentMethodTokenizationData

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

Właściwość Typ Zawsze istnieje Opis
type Ciąg znaków Tak Typ tokenizacji, który ma zostać użyty z wybraną formą płatności. Ta wartość jest zgodna z wartością type w PaymentMethodTokenizationSpecification.
token Ciąg znaków Nie

Wygenerowany token formy płatności.

  • PAYMENT_GATEWAY: ciąg znaków obiektu JSON, który zawiera możliwy do obciążenia token wydany przez Twoją bramę.
  • DIRECT: protocolVersion, signature oraz signedMessage potrzebne do odszyfrowania. Więcej informacji znajdziesz w sekcji Struktura tokena formy płatności.

Przykład

Oto przykład tokenizowanej odpowiedzi przygotowanej dla bramy example.

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

Address

Ten obiekt dostarcza informacji o wymaganym adresie pocztowym. Wszystkie właściwości mają formę ciągu znaków.

Format adresu MIN może zostać zwrócony, jeśli właściwość billingAddressFormat została ustawiona jako MIN. Adres dostawy jest zwracany w formacie FULL. Wszystkie właściwości w odpowiedzi sformatowanej jako MIN są obecne w odpowiedzi sformatowanej jako FULL.

Właściwość Format adresu Opis
name MIN Imię i nazwisko adresata.
postalCode MIN Kod pocztowy.
countryCode MIN Kod kraju zgodny ze standardem ISO 3166-1 alpha-2.
phoneNumber MIN Numer telefonu, jeśli właściwość phoneNumberRequired została ustawiona jako true w PaymentDataRequest.
address1 FULL Pierwszy wiersz adresu.
address2 FULL Drugi wiersz adresu.
address3 FULL Trzeci wiersz adresu.
locality FULL Miasto, miejscowość, dzielnica lub przedmieście.
administrativeArea FULL Jednostka administracyjna w danym kraju, np. stan lub prowincja.
sortingCode FULL Kod rozliczeniowy.

Przykład

Oto przykładowy adres w Stanach Zjednoczonych z danymi o ulicy i numerze umieszczonymi w kilku wierszach.

{
  "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": ""
}

IntermediateAddres

Właściwość Typ Czy jest wymagana Opis
administrativeArea Ciąg znaków Wymagana Jednostka administracyjna w danym kraju, np. stan lub prowincja.
countryCode Ciąg znaków Wymagana Kod kraju zgodny ze standardem ISO 3166-1 alpha-2.
locality Ciąg znaków Wymagana Miasto, miejscowość, dzielnica lub przedmieście.
postalCode Ciąg znaków Wymagana Usunięty kod pocztowy na podstawie kraju. W przypadku Kanady i Wielkiej Brytanii obejmuje tylko trzy pierwsze cyfry. W przypadku Stanów Zjednoczonych jest to pięć pierwszych cyfr.

Przykład

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

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

SelectionOptionData

Właściwość Typ Czy jest wymagana Opis
id Ciąg znaków Wymagana Pasuje do SelectionOption.id

Przykład

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

{
  id: "shipping-001"
}

Obiekty błędu

Obiekty błędu są obiektami zwracanymi przez odrzuconą obietnicę z metody JavaScript klienta.

PaymentsError

Ten obiekt zawiera szczegółowe informacje dotyczące błędów zwracanych przez metody JavaScript klienta. Błędy mogą nie być wyświetlane w oknie skierowanym do użytkownika.

Właściwość Typ Opis
statusCode Ciąg znaków Krótki kod opisujący rodzaj błędu.
statusMessage Ciąg znaków Wiadomość widoczna dla programisty opisująca napotkany błąd i możliwe kroki, by go naprawić.

Typowe błędy

Ten obiekt wyświetla błędy, które możesz napotkać we wszystkich metodach JavaScript. Sprawdź, czy w konsoli programisty są dodatkowe komunikaty o błędach.

Kod stanu Opis
BUYER_ACCOUNT_ERROR Bieżący użytkownik Google nie może podać danych karty.
DEVELOPER_ERROR

Przekazany parametr jest nieprawidłowo sformatowany. We wszystkich skonfigurowanych środowiskach komunikat o błędzie może wyświetlić się w konsoli przeglądarki.

MERCHANT_ACCOUNT_ERROR

Witryna uzyskująca dostęp do Google Pay API nie ma odpowiednich uprawnień. Może to być spowodowane nieprawidłową konfiguracją lub niepoprawnym identyfikatorem sprzedawcy określonym w żądaniu. Sprawdź pole statusMessage, aby uzyskać więcej szczegółów. Jeśli nadal masz problemy, skontaktuj się z działem pomocy.

INTERNAL_ERROR Ogólny błąd serwera.