Objek respons

Referensi ini menjelaskan opsi objek respons Google Pay API yang dapat digunakan dengan situs Anda. Objek respons adalah objek yang ditampilkan oleh metode klien Google Pay API.

IsReadyToPayResponse

Objek ini memberikan informasi tentang kemampuan pengunjung situs untuk memberikan informasi pembayaran ke situs yang memintanya.

Properti Jenis Selalu ada Deskripsi
result boolean Ya Pengunjung saat ini dapat memberikan informasi pembayaran ke situs yang memintanya. Kemampuan pengunjung untuk membayar mungkin terkait dengan kemampuan browser web mereka untuk menampilkan komponen yang diperlukan untuk metode pembayaran yang ditentukan. Hal ini termasuk saat mereka login ke Akun Google dan memberikan metode pembayaran.
paymentMethodPresent boolean Tidak

Jika true, pengunjung memiliki satu atau beberapa metode pembayaran seperti yang ditentukan dalam properti allowedPaymentMethods dari IsReadyToPayRequest yang diberikan.

Hanya ada jika existingPaymentMethodRequired ditetapkan ke true di IsReadyToPayRequest.

Jika PaymentsClient diinisialisasi dengan properti environment bernilai TEST, metode pembayaran akan selalu dianggap ada.

Contoh

Contoh berikut menunjukkan kapan pengunjung saat ini dapat memberikan informasi pembayaran ke situs yang memintanya.

{
  "result": true
}

PaymentData

Ini adalah objek respons yang ditampilkan oleh Google setelah pembayar menyetujui pembayaran.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
Properti Jenis Selalu ada Deskripsi
apiVersion number Ya Versi API utama. Nilai dalam respons cocok dengan nilai yang diberikan di PaymentDataRequest.
apiVersionMinor number Ya Versi API minor. Nilai dalam respons cocok dengan nilai yang diberikan di PaymentDataRequest.
paymentMethodData PaymentMethodData Ya Data tentang metode pembayaran yang dipilih.
email string Tidak Alamat email, jika emailRequired disetel ke true di PaymentDataRequest. Jika permintaan lain telah menyetel properti ke true, tidak ada efeknya.
shippingAddress Alamat Tidak Alamat pengiriman, jika shippingAddressRequired disetel ke true di PaymentDataRequest.

Contoh

Contoh respons untuk Google Pay API versi 2.0 ini menunjukkan metode pembayaran CARD yang dipilih di lembar pembayaran Google Pay. Token metode pembayaran dibuat untuk gateway example.

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

IntermediatePaymentData

Objek ini ditampilkan oleh input onPaymentDataChanged() Google Pay API saat alamat pengiriman atau opsi pengiriman diubah di halaman pembayaran.

Properti Jenis Kebutuhan Deskripsi
callbackTrigger String Opsional

Menjelaskan alasan callback data pembayaran dipanggil.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData Opsional Kode promosi yang diberikan oleh pengguna.
shippingAddress IntermediateAddress Opsional Alamat yang dipilih di lembar pembayaran.
shippingOptionData SelectionOptionData Opsional Opsi pengiriman yang dipilih di halaman pembayaran.

Contoh

Contoh ini menunjukkan payload perantara yang ditampilkan dari Google Pay API.

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

PaymentMethodData

Objek ini menyediakan data untuk metode pembayaran yang dipilih.

Properti Jenis Selalu ada Deskripsi
type string Ya PaymentMethod type yang dipilih di halaman pembayaran Google Pay.
description string Ya

Pesan yang ditampilkan kepada pengguna untuk mendeskripsikan metode pembayaran yang mendanai transaksi ini.

info objek Ya Nilai properti ini bergantung pada metode pembayaran type yang ditampilkan. Untuk CARD, lihat CardInfo.
tokenizationData PaymentMethodTokenizationData Tidak Data tokenisasi pembayaran untuk metode pembayaran yang dipilih.

Contoh

Contoh respons ini menunjukkan cara metode pembayaran CARD yang dipilih di halaman pembayaran Google Pay menghasilkan token metode pembayaran untuk gateway example.

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

CardInfo

Objek ini memberikan informasi tentang kartu pembayaran yang dipilih.

Properti Jenis Selalu ada Deskripsi
cardDetails string Ya Detail tentang kartu. Nilai ini biasanya adalah empat digit terakhir nomor akun pembayaran yang dipilih.
assuranceDetails AssuranceDetailsSpecifications Ya Objek ini memberikan informasi tentang validasi yang dilakukan pada data pembayaran yang ditampilkan jika assuranceDetailsRequired disetel ke true di CardParameters.
cardNetwork string Ya

Jaringan kartu pembayaran dari pembayaran yang dipilih. Nilai yang ditampilkan cocok dengan format allowedCardNetworks di CardParameters.

Nilai jaringan kartu ini tidak boleh ditampilkan kepada pembeli. Digunakan saat detail kartu pembeli diperlukan. Misalnya, jika dukungan pelanggan memerlukan nilai ini untuk mengidentifikasi kartu yang digunakan pembeli untuk transaksinya. Untuk deskripsi yang dapat dilihat pengguna, gunakan properti description dari PaymentMethodData sebagai gantinya.

billingAddress Alamat Tidak Alamat penagihan yang terkait dengan metode pembayaran yang diberikan, jika billingAddressRequired disetel ke true di CardParameters.
cardFundingSource string Ya

Sumber pendanaan kartu untuk metode pembayaran yang dipilih.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

Contoh

Contoh ini menampilkan kartu di jaringan Visa.

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

AssuranceDetailsSpecifications

Objek ini memberikan informasi tentang validasi yang telah dilakukan pada kredensial pembayaran yang ditampilkan sehingga pemeriksaan risiko instrumen yang sesuai dapat diterapkan.

Nama Jenis Deskripsi
accountVerified boolean Jika true, menunjukkan bahwa validasi kepemilikan Cardholder telah dilakukan pada kredensial pembayaran yang ditampilkan.
cardHolderAuthenticated boolean

Jika true, menunjukkan bahwa identifikasi dan verifikasi (ID&V) telah dilakukan pada kredensial pembayaran yang ditampilkan.

Jika false, autentikasi berbasis risiko yang sama dapat dilakukan seperti yang akan Anda lakukan untuk transaksi kartu. Autentikasi berbasis risiko ini dapat mencakup, tetapi tidak terbatas pada, peningkatan dengan protokol 3D Secure jika berlaku.

Anda dapat menerima dan memproses Objek respons meskipun Anda tidak menggunakan kolom assuranceDetails. Untuk menerima objek ini, sertakan assuranceDetailsRequired: true di CardParameters objek Permintaan.

PaymentMethodTokenizationData

Objek ini menyediakan data tokenisasi untuk metode pembayaran.

Properti Jenis Selalu ada Deskripsi
type string Ya Jenis tokenisasi yang akan diterapkan ke metode pembayaran yang dipilih. Nilai ini cocok dengan type yang ditetapkan di PaymentMethodTokenizationSpecification.
token string Tidak

Token metode pembayaran yang dihasilkan.

Contoh

Berikut adalah contoh respons yang di-token dan disiapkan untuk gateway example.

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

PaymentAuthorizationResult

Objek ini memberikan informasi tentang hasil otorisasi pembayaran.

Properti Jenis Kebutuhan Deskripsi
transactionState String Wajib Status transaksi diselesaikan oleh salah satu hasil penjual berikut:
  • SUCCESS
  • ERROR
error PaymentDataError Opsional Error yang akan ditampilkan di halaman pembayaran untuk pengguna saat pembayaran perlu dicoba lagi.

Contoh

Contoh berikut menunjukkan hasil pembayaran yang ditampilkan setelah pembayaran diproses:

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

PaymentDataError

Properti Jenis Kebutuhan Deskripsi
reason String Wajib

Daftar alasan error standar:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message String Wajib Pesan error kepada pengguna yang ditampilkan dalam dialog.
intent String Wajib

Maksud error. Nilai ini harus berupa nilai yang telah didaftarkan di PaymentDataRequest sejak awal alur.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

Contoh

Contoh ini menunjukkan maksud dan pesan error yang akan dirender di halaman pembayaran.

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

Alamat

Objek ini memberikan informasi tentang alamat pos yang diminta. Semua properti adalah string.

Alamat dapat ditampilkan dalam format MIN,FULL, dan FULL-ISO3166. Properti yang termasuk dalam setiap format dapat dilihat dalam tabel berikut.

Properti Format alamat Deskripsi
name MIN, FULL, FULL-ISO3166 Nama lengkap penerima surat.
postalCode MIN, FULL, FULL-ISO3166 Kode pos.
countryCode MIN, FULL, FULL-ISO3166 Kode negara ISO 3166-1 alpha-2.
phoneNumber MIN, FULL, FULL-ISO3166 Nomor telepon, jika phoneNumberRequired ditetapkan ke true di PaymentDataRequest.
address1 FULL, FULL-ISO3166 Baris pertama alamat.
address2 FULL, FULL-ISO3166 Baris kedua alamat.
address3 FULL, FULL-ISO3166 Baris ketiga alamat.
locality FULL, FULL-ISO3166 Kota, kawasan, atau pinggiran kota.
administrativeArea FULL, FULL-ISO3166 Subdivisi negara, seperti negara bagian atau provinsi.
sortingCode FULL, FULL-ISO3166 Kode pengurutan.
iso3166AdministrativeArea FULL-ISO3166 Kode wilayah administratif ISO 3166-2 yang sesuai dengan administrativeArea.

Contoh

Berikut contoh alamat dengan format FULL-ISO3166 di Amerika Serikat dengan beberapa baris data alamat jalan.

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

IntermediateAddress

Properti Jenis Kebutuhan Deskripsi
administrativeArea String Wajib Subdivisi negara, seperti negara bagian atau provinsi.
countryCode String Wajib Kode negara ISO 3166-1 alpha-2.
locality String Wajib Kota, kawasan, atau pinggiran kota.
postalCode String Wajib Kode pos yang disamarkan berdasarkan negara. Untuk Kanada dan Inggris Raya, kolom ini hanya berisi tiga karakter pertama. Untuk Amerika Serikat, ini berisi lima digit pertama.
iso3166AdministrativeArea String Opsional Kode wilayah administratif ISO 3166-2 yang sesuai dengan administrativeArea. Hanya ada jika format alamat pengiriman adalah FULL-ISO3166.

Contoh

Contoh ini menunjukkan alamat yang dipilih di lembar pembayaran.

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

SelectionOptionData

Properti Jenis Kebutuhan Deskripsi
id String Wajib Cocok dengan SelectionOption.id

Contoh

Contoh ini menunjukkan opsi pengiriman yang dipilih di halaman pembayaran.

{
  "id": "shipping-001"
}

OfferData

Objek ini memberikan informasi tentang kode penawaran yang dimasukkan ke dalam halaman pembayaran.

Properti Jenis Kebutuhan Deskripsi
redemptionCodes deret Selalu ada Kumpulan kode promosi yang dimasukkan ke dalam lembar pembayaran. Mencakup kode yang telah disetujui.

Contoh

Contoh berikut menunjukkan objek OfferData dengan array redemptionCodes.

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}