JSON yanıt nesneleri

Bu referansta, uygulamanızla kullanabileceğiniz Google Pay API yanıt nesnesi seçenekleri açıklanmaktadır. Yanıt nesneleri, Google Pay API istemci yöntemleri tarafından döndürülen nesnelerdir.

PaymentData

Bu, ödeme yapan kullanıcı ödemeyi onayladıktan sonra Google tarafından döndürülen bir yanıt nesnesidir.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Mülk Tür Her zaman var Açıklama
apiVersion sayı Evet Ana API sürümü. Yanıtın değeri,
apiVersionMinor sayı Evet Küçük API sürümü. Yanıtın değeri,
paymentMethodData PaymentMethodData Evet Seçilen ödeme yöntemiyle ilgili veriler.
email dize Hayır emailRequired, PaymentDataRequest. Başka bir istekte özellik true olarak ayarlanmışsa herhangi bir etkisi olmaz.
shippingAddress Adres Hayır shippingAddressRequired, true olarak ayarlanmışsa kargo adresi

Örnek

Google Pay API 2.0 sürümü için bu örnek yanıtta, Google Pay ödeme sayfasında seçilen bir CARD ödeme yöntemi gösterilmektedir. example ağ geçidi için bir ödeme yöntemi jetonu oluşturuldu.

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

PaymentMethodData

Bu nesne, seçilen ödeme yöntemiyle ilgili verileri sağlar.

Mülk Tür Her zaman var Açıklama
type dize Evet PaymentMethod Google Pay ödeme sayfasında type seçilmelidir.
description dize Evet

Bu işlemi finanse eden ödeme yöntemini açıklayan, kullanıcıya yönelik mesaj.

info nesne Evet Bu özelliğin değeri, type döndürülen ödeme yöntemine bağlıdır. CARD için CardInfo başlıklı makaleyi inceleyin.
tokenizationData PaymentMethodTokenizationData Hayır Seçilen ödeme yönteminin ödeme jetonu oluşturma verileri.

Örnek

Bu örnek yanıtta, Google Pay ödeme sayfasında seçilen bir CARD ödeme yönteminin, example ağ geçidi için nasıl ödeme yöntemi jetonu oluşturduğu gösterilmektedir.

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

CardInfo

Bu nesne, seçilen ödeme kartı hakkında bilgi sağlar.

Mülk Tür Her zaman var Açıklama
cardDetails dize Evet Kartla ilgili ayrıntılar. Bu değer genellikle seçilen ödeme hesabı numarasının son dört hanesidir.
assuranceDetails AssuranceDetailsSpecifications Evet Bu nesne, assuranceDetailsRequired, CardParameters.
cardNetwork dize Evet

Seçilen ödemenin ödeme kartı ağı. Döndürülen değerler, CardParameters.

Bu kart ağı değeri, alıcıya gösterilmemelidir. Alıcının kartıyla ilgili ayrıntılar gerektiğinde kullanılır. Örneğin, müşteri desteğinin, alıcının işlemi için kullandığı kartı tanımlamak üzere bu değere ihtiyacı varsa. Kullanıcı tarafından görülebilen bir açıklama için bunun yerine PaymentMethodData'nın description özelliğini kullanın.

billingAddress Adres Hayır billingAddressRequired, CardParameters.
cardFundingSource dize Evet

Seçilen ödeme yöntemi için kart fon kaynağı.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Örnek

Bu örnekte Visa ağındaki bir kart gösterilmektedir.

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

AssuranceDetailsSpecifications

Bu nesne, döndürülen ödeme kimlik bilgilerinde hangi doğrulamanın yapıldığı hakkında bilgi sağlar. Böylece uygun araç risk kontrolleri uygulanabilir.

Ad Tür Açıklama
accountVerified boole true ise döndürülen ödeme kimlik bilgisinde Cardholder sahiplik doğrulamasının yapıldığını gösterir.
cardHolderAuthenticated boole

true, döndürülen ödeme kimlik bilgisi üzerinde kimlik tanımlama ve doğrulama (ID&V) işleminin yapıldığını gösterir.

false ise kart işlemleri için yaptığınız gibi aynı risk tabanlı kimlik doğrulama işlemi gerçekleştirilebilir. Bu risk tabanlı kimlik doğrulama, geçerli olduğu durumlarda 3D Secure protokolüyle adım adım doğrulama gibi yöntemleri içerebilir ancak bunlarla sınırlı değildir.

assuranceDetails alanını kullanmasanız bile yanıt nesnesini alıp işleyebilirsiniz. Bu nesneyi almak için assuranceDetailsRequired: true öğesini, İstek nesnesinin CardParameters.

PaymentMethodTokenizationData

Bu nesne, ödeme yöntemi için belirteç oluşturma verileri sağlar.

Mülk Tür Her zaman var Açıklama
type dize Evet Seçilen ödeme yöntemine uygulanacak jetonlaştırma türü. Bu değer, PaymentMethodTokenizationSpecification.
token dize Hayır

Oluşturulan ödeme yöntemi jetonu.

  • PAYMENT_GATEWAY: Ağ geçidiniz tarafından verilen, ödeme alınabilir bir token içeren JSON nesnesi dizesi.
  • DIRECT: protocolVersion, signature ve signedMessage şifre çözme için. Daha fazla bilgi için Ödeme yöntemi jetonu yapısı bölümüne bakın.

Örnek

Bu, example ağ geçidi için hazırlanmış, jetonlaştırılmış bir yanıt örneğidir.

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

PaymentAuthorizationResult

Bu nesne, ödeme yetkilendirme sonucu hakkında bilgi sağlar.

Mülk Tür Gereklilik Açıklama
transactionState Dize Zorunlu İşlemin durumu aşağıdaki satıcı sonuçlarından biriyle belirlenir:
  • SUCCESS
  • ERROR
error PaymentDataError İsteğe bağlı Ödemenin yeniden denenmesi gerektiğinde kullanıcının ödeme sayfasında oluşturulacak hata.

Örnek

Aşağıdaki örnekte, ödeme işlendikten sonra döndürülen ödeme sonucu gösterilmektedir:

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

PaymentDataError

Mülk Tür Gereklilik Açıklama
reason Dize Zorunlu

Önceden tanımlanmış hata nedenlerinin listesi:

  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message Dize Zorunlu Kullanıcıya gösterilen hata mesajı.
intent Dize Zorunlu

Hatayla ilgili amaç.

  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Örnek

Bu örnekte, ödeme sayfasında oluşturulacak hata amacı ve mesajı gösterilmektedir.

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

Adres

Bu nesne, istenen posta adresi hakkında bilgi sağlar. Tüm özellikler dizedir.

Adresler MIN, FULL ve FULL-ISO3166 biçimlerinde döndürülebilir. Her biçime ait özellikler aşağıdaki tabloda görülebilir.

Mülk Adres biçimi Açıklama
name MIN, FULL ve FULL-ISO3166 Alıcının tam adı.
postalCode MIN, FULL ve FULL-ISO3166 Posta kodu
countryCode MIN, FULL ve FULL-ISO3166 ISO 3166-1 alfa-2 ülke kodu.
phoneNumber MIN, FULL ve FULL-ISO3166 phoneNumberRequired, PaymentDataRequest.
address1 FULL, FULL-ISO3166 Adresin ilk satırı.
address2 FULL, FULL-ISO3166 Adresin ikinci satırı.
address3 FULL, FULL-ISO3166 Adresin üçüncü satırı.
locality FULL, FULL-ISO3166 Şehir, kasaba, mahalle veya banliyö.
administrativeArea FULL, FULL-ISO3166 Eyalet veya il gibi bir ülke alt bölümü.
sortingCode FULL, FULL-ISO3166 Sıralama kodu.
iso3166AdministrativeArea FULL-ISO3166 administrativeArea'ya karşılık gelen ISO 3166-2 bağlı olduğu yer kodu.

Örnek

Bu, Amerika Birleşik Devletleri'nde birden fazla sokak adresi verisi satırı içeren örnek bir FULL-ISO3166 biçimli adrestir.

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

Bu nesne, ödeme sayfasında kargo adresi veya kargo seçenekleri değiştirildiğinde Google Pay API onPaymentDataChanged() girişi tarafından döndürülür.

Mülk Tür Gereklilik Açıklama
callbackTrigger Dize İsteğe bağlı

Ödeme verileri geri aramasının çağrılma nedenini açıklar.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
shippingAddress IntermediateAddress İsteğe bağlı Ödeme sayfasında seçilen adres.
shippingOptionData SelectionOptionData İsteğe bağlı Ödeme sayfasında seçilen kargo seçeneği.

Örnek

Bu örnekte, Google Pay API'den döndürülen ara yük gösterilmektedir.

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

IntermediateAddress

Ara adres, kullanıcının ödemeyi yetkilendirmesinden önce geçerli vergi ve kargo seçeneklerinin hesaplanmasına olanak tanımak için karartılmış bir kargo adresi (sokak düzeyinde adres satırları veya alıcı adları olmadan) içerir.

Mülk Tür Gereklilik Açıklama
administrativeArea Dize Zorunlu Eyalet veya il gibi bir ülke alt bölümü.
countryCode Dize Zorunlu ISO 3166-1 alfa-2 ülke kodu.
locality Dize Zorunlu Şehir, kasaba, mahalle veya banliyö.
postalCode Dize Zorunlu Ülkeye göre sansürlenmiş posta kodu. Kanada ve Birleşik Krallık için yalnızca ilk üç karakteri içerir. ABD için bu, ilk beş haneyi içerir.
iso3166AdministrativeArea Dize İsteğe bağlı administrativeArea'ya karşılık gelen ISO 3166-2 bağlı olduğu yer kodu. Yalnızca kargo adresi biçimi FULL-ISO3166 ise mevcut olur.

Örnek

Bu örnekte, ödeme sayfasında seçilen adres gösterilmektedir.

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

SelectionOptionData

Mülk Tür Gereklilik Açıklama
id Dize Zorunlu SelectionOption.id ile eşleşmeler

Örnek

Bu örnekte, ödeme sayfasında seçilen kargo seçeneği gösterilmektedir.

{
  "id": "shipping-001"
}