Google Wallet API memungkinkan pengguna Anda menambahkan objek ke Google Wallet dari web. Pengguna dapat menambahkan kartunya langsung dari situs Anda.
Referensi ini memberikan detail tentang elemen HTML g:savetoandroidpay
yang
merender tombol Google Wallet API
serta Token Web JSON
yang mendeskripsikan layanan web Anda ke Google.
JavaScript Google Wallet API
Untuk otomatis mengurai tag HTML g:savetoandroidpay
saat dimuat, sertakan kolom standar
JavaScript
<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>
Untuk aplikasi AJAX dan rendering eksplisit tombol Google Wallet API, sertakan parameter "parsetags": "explicit"
.
<script src="https://apis.google.com/js/platform.js" type="text/javascript"> {"parsetags": "explicit"} </script>
Tag HTML g:savetoandroidpay
Tag namespace g:savetoandroidpay
menentukan
dan berbagai atribut tombol Tambahkan ke
Tombol Google Wallet. Gunakan tag ini jika Anda merender HTML dan JWT
di sisi server.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
Kolom | Jenis | Wajib diisi | Deskripsi |
---|---|---|---|
height |
String | T | Tinggi tombol yang akan ditampilkan. Nilai yang mungkin adalah: small (tinggi 30 piksel) dan
standard (tinggi 38 piksel). Secara default, height ditetapkan ke small .
Lihat tombol Google Wallet API
untuk melihat contoh tombol dengan setelan height yang berbeda. |
jwt |
String | Y | JWT Google Wallet API. |
onsuccess |
String | T | Nama string fungsi pengendali callback simpan yang berhasil. |
onfailure |
String | T | Nama string fungsi pengendali callback kegagalan penyimpanan. Fungsi ini diberi objek error yang berisi errorCode dan errorMessage. |
onprovidejwt |
String | T | Nama string dari fungsi pengendali menyediakan JWT. Tujuan dari fungsi ini adalah untuk
mencegat dan berpotensi memanipulasi data JWT sebelum objek ditambahkan ke Google Wallet.
Fungsi ini tidak menggunakan parameter dan harus menampilkan JWT sebagai String.
Saat menerapkan pengendali peristiwa, data JWT asli dapat diambil
pada kolom this.getOpenParams().renderData.userParams.jwt . |
size |
String | T | Lebar tombol yang akan ditampilkan. Anda dapat menetapkan size ke matchparent
agar lebarnya sesuai dengan lebar elemen induk. Atau, keluar dari size
tidak ditentukan sehingga lebarnya akan direntangkan agar sesuai dengan lebar setelan text .
Lihat tombol Google Wallet API
untuk melihat contoh tombol dengan setelan size yang berbeda. |
text |
String | T | Tidak digunakan lagi |
textsize |
String | T | Saat textsize=large ditentukan, akan ditampilkan
secara dramatis meningkatkan
ukuran teks dan
ukuran tombol, untuk kasus dengan persyaratan UI khusus. |
theme |
String | T | Tema tombol yang akan ditampilkan. Kemungkinan nilainya adalah: dark dan
light . Tema default-nya adalah dark . Rujuk ke
Tombol Google Wallet API
untuk melihat contoh tombol dengan setelan theme yang berbeda. |
JWT Google Wallet API
JWT Google Wallet API menentukan objek dan class yang akan disimpan.
Representasi JSON
{ "iss": "example_service_account@developer.gserviceaccount.com", "aud": "google", "typ": "savetowallet", "iat": 1368029586, "payload": { "eventTicketClasses": [{ ... //Event ticket Class JSON }], "eventTicketObjects": [{ // Event ticket Object JSON }], "flightClasses": [{ // Flight Class JSON }], "flightObjects": [{ // Flight Object JSON }], "giftCardClasses": [{ // Gift card Class JSON }], "giftCardObjects": [{ // Gift card Object JSON }], "loyaltyClasses": [{ // Loyalty Class JSON }], "loyaltyObjects": [{ // Loyalty Object JSON }], "offerClasses": [{ // Offer Class JSON }], "offerObjects": [{ // Offer Object JSON }], "transitClasses": [{ // Transit Class JSON }], "transitObjects": [{ // Transit Object JSON }] }, "origins": ["http://baconrista.com", "https://baconrista.com"] }
Kolom
Kolom | Jenis | Wajib diisi | Deskripsi |
---|---|---|---|
iss |
String | Y | Alamat email yang dibuat oleh akun layanan Google Cloud Anda. |
aud |
String | Y | Audiens. Audiens untuk Objek Google Wallet API akan selalu
google . |
typ |
String | Y | Jenis JWT. Audiens untuk Objek Google Wallet API akan selalu
savetowallet . |
iat |
Bilangan Bulat | Y | Diterbitkan pada waktu dalam hitungan detik sejak epoch. |
payload |
Objek | Y | Objek payload. |
payload.eventTicketClasses |
Array | T | Kelas Tiket Acara untuk disimpan. |
payload.eventTicketObjects |
Array | T | Objek Tiket Acara untuk disimpan. |
payload.flightClasses |
Array | T | untuk disimpan Kelas Penerbangan. |
payload.flightObjects |
Array | T | Objek Penerbangan untuk disimpan. |
payload.giftCardClasses |
Array | T | Kelas Kartu Voucher untuk disimpan. |
payload.giftCardObjects |
Array | T | Objek Kartu Voucher untuk disimpan. |
payload.loyaltyClasses |
Array | T | untuk disimpan di Kelas Loyalitas. |
payload.loyaltyObjects |
Array | T | Objek Loyalitas yang akan disimpan. |
payload.offerObjects |
Array | T | Tawarkan Objek untuk disimpan. |
payload.offerClasses |
Array | T | Tawarkan kelas untuk disimpan. |
payload.transitObjects |
Array | T | Objek Transportasi Umum untuk disimpan. |
payload.transitClasses |
Array | T | untuk disimpan Kelas Transportasi Umum. |
origins |
Array | Y | Array domain yang akan disetujui untuk fungsi penyimpanan JWT. Google Wallet API
tombol tidak akan dirender jika kolom origins tidak ditentukan. Anda dapat
berpotensi mendapatkan pesan "Load denied by X-Frame-Options" atau "Ditolak untuk menampilkan" pesan dalam
konsol browser saat kolom origin tidak ditentukan. |
JWT Anda yang dienkode akan terlihat seperti contoh berikut:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
Fungsi gapi.savetoandroidpay.render
Fungsi ini memungkinkan Anda merender tombol Google Wallet API secara eksplisit.
gapi.savetoandroidpay.render("dom-container",{ "jwt": "JWT", "onsuccess": "successHandler", "onfailure": "failureHandler" });
Kolom | Jenis | Wajib diisi | Deskripsi |
---|---|---|---|
dom-container |
String | Y | ID penampung untuk menempatkan tombol Google Wallet API. |
jwt |
String | Y | JWT yang menentukan konten yang akan disimpan. |
onsuccess |
String | T | Nama string fungsi pengendali callback simpan yang berhasil. |
onfailure |
String | T | Nama string fungsi pengendali callback kegagalan penyimpanan. Fungsi ini diberi objek error yang berisi errorCode dan errorMessage. |
onprovidejwt |
String | T | Nama string dari fungsi pengendali menyediakan JWT. Tujuan dari fungsi ini adalah untuk
mencegat dan berpotensi memanipulasi data JWT sebelum objek ditambahkan ke Google Wallet.
Fungsi ini tidak menggunakan parameter dan harus menampilkan JWT sebagai String.
Saat menerapkan pengendali peristiwa, data JWT asli dapat diambil
pada kolom this.getOpenParams().renderData.userParams.jwt . |
Kode dan pesan error Google Wallet API
Tabel berikut mencantumkan kode error dan pesan error default yang diteruskan dalam error ke fungsi callback kegagalan, saat objek tidak berhasil disimpan menggunakan tombol JavaScript.
{ "errorCode": "errorCode", "errorMessage": "errorMessage" }
errorCode |
errorMessage |
---|---|
SERVICE_FAILURE |
Terjadi kesalahan di server Google Wallet. |
CLASS_NOT_FOUND |
Class yang dirujuk dalam objek tidak ditemukan. |
CLASS_MISMATCH |
Objek harus ada, dari jenis yang sama, dan harus mereferensikan class yang tertutup. |
ORIGIN_MISMATCH |
Asal tombol tidak cocok dengan yang ditentukan dalam daftar origin. |
INVALID_NUM_TYPES |
Hanya satu jenis objek yang dapat ditentukan. |
INVALID_SIGNATURE |
Tanda tangan tidak dapat diverifikasi. |
INVALID_DUPLICATE_IDS |
Objek atau class duplikat tidak diizinkan. |
INVALID_JWT |
JWT tidak valid. |
INVALID_EXP_IAT |
JWT berakhir atau diterbitkan pada masa mendatang. |
INVALID_AUD |
Nilai untuk kolom AUD tidak valid. |
INVALID_TYP |
Nilai untuk kolom TYP tidak valid. |
INVALID_NUM_OBJECTS |
Hanya satu objek dan maksimal satu class yang dapat ditentukan untuk kartu loyalitas, kartu voucher, dan penawaran. |
MALFORMED_ORIGIN_URL |
Format URL asal salah. URL harus berisi protokol dan domain. |
MISSING_ORIGIN |
Asal harus ditentukan. |
MISSING_FIELDS |
Class atau objek tertutup tidak memiliki kolom wajib diisi. |
Pelokalan
Bahasa di tombol JavaScript berubah berdasarkan kriteria berikut:
- Jika pengguna masuk ke Google, tombol akan dirender dalam bahasa pilihan yang diberikan di profil Akun Google pengguna. Pengguna dapat membaca Mengubah bahasa untuk mempelajari cara mengubah bahasa pilihan Akun Google mereka.
- Jika pengguna tidak login ke Google, tombol akan menggunakan nilai
ACCEPT-LANGUAGE
pada header HTTP.
Jika Anda melihat tombol tidak merender dalam bahasa yang benar berdasarkan logika di atas, atau jika kata-katanya tidak alami, hubungi tim dukungan kami.