API Google Wallet cho phép người dùng của bạn thêm đối tượng vào Google Wallet từ web. Người dùng có thể thêm thẻ ngay trên trang web của bạn.
Tài liệu tham khảo này cung cấp thông tin chi tiết về phần tử HTML g:savetoandroidpay
hiển thị nút Google Wallet API
cũng như Mã thông báo web JSON
mô tả dịch vụ web của bạn cho Google.
JavaScript API Google Wallet
Để tự động phân tích cú pháp thẻ HTML g:savetoandroidpay
khi tải, hãy bao gồm đoạn mã chuẩn
JavaScript
<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>
Đối với các ứng dụng AJAX và hiển thị rõ ràng các nút API Google Wallet, hãy thêm tham số "parsetags": "explicit"
.
<script src="https://apis.google.com/js/platform.js" type="text/javascript"> {"parsetags": "explicit"} </script>
g:savetoandroidpay
thẻ HTML
Thẻ không gian tên g:savetoandroidpay
xác định
và các thuộc tính của nút Thêm vào
Nút Google Wallet. Sử dụng thẻ này nếu bạn đang hiển thị HTML và JWT
phía máy chủ.
<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
Trường | Loại | Bắt buộc | Mô tả |
---|---|---|---|
height |
Chuỗi | Không | Chiều cao của nút để hiển thị. Các giá trị có thể là: small (cao 30 px) và
standard (cao 38px). Giá trị mặc định của height là small .
Tham khảo các nút API Google Wallet
để xem các mẫu nút với các chế độ cài đặt height khác nhau. |
jwt |
Chuỗi | Có | API Google Wallet JWT. |
onsuccess |
Chuỗi | Không | Tên chuỗi của hàm xử lý gọi lại lưu thành công. |
onfailure |
Chuỗi | Không | Tên chuỗi của hàm xử lý gọi lại lỗi lưu. Hàm này được truyền một đối tượng lỗi chứa errorCode và errorMessage. |
onprovidejwt |
Chuỗi | Không | Tên chuỗi của hàm xử lý JWT cung cấp. Mục đích của hàm này là
chặn và có khả năng thao túng dữ liệu JWT trước khi đối tượng được thêm vào Google Wallet.
Hàm này không nhận tham số và phải trả về JWT dưới dạng Chuỗi.
Khi triển khai trình xử lý sự kiện, dữ liệu JWT ban đầu có thể được truy xuất
trong trường this.getOpenParams().renderData.userParams.jwt . |
size |
Chuỗi | Không | Chiều rộng của nút cần hiển thị. Bạn có thể đặt size thành matchparent
có chiều rộng khớp với chiều rộng của phần tử mẹ. Hoặc rời khỏi size
không xác định để chiều rộng kéo giãn cho vừa với chiều rộng của chế độ cài đặt text .
Tham khảo các nút API Google Wallet
để xem các mẫu nút với các chế độ cài đặt size khác nhau. |
text |
Chuỗi | Không | Không được dùng nữa |
textsize |
Chuỗi | Không | Khi bạn chỉ định textsize=large , màn hình sẽ hiển thị
đã tăng đáng kể kích thước văn bản và
kích thước nút, trong trường hợp có yêu cầu đặc biệt về giao diện người dùng. |
theme |
Chuỗi | Không | Giao diện của nút hiển thị. Các giá trị có thể có là: dark và
light Giao diện mặc định là dark . Tham khảo
Các nút API Google Wallet
để xem các mẫu nút với các chế độ cài đặt theme khác nhau. |
JWT API Google Wallet
JWT API của Google Wallet xác định các đối tượng và lớp cần lưu.
Biểu diễn dưới dạng 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"] }
Trường
Trường | Loại | Bắt buộc | Mô tả |
---|---|---|---|
iss |
Chuỗi | Có | Địa chỉ email do tài khoản dịch vụ Google Cloud của bạn tạo. |
aud |
Chuỗi | Có | Đối tượng. Đối tượng của Đối tượng API Google Wallet sẽ luôn là
google . |
typ |
Chuỗi | Có | Loại JWT. Đối tượng của Đối tượng API Google Wallet sẽ luôn là
savetowallet . |
iat |
Số nguyên | Có | Được phát hành tại thời điểm tính bằng giây kể từ thời gian bắt đầu của hệ thống. |
payload |
Đối tượng | Có | Đối tượng tải trọng. |
payload.eventTicketClasses |
Mảng | Không | Loại vé xem sự kiện để tiết kiệm. |
payload.eventTicketObjects |
Mảng | Không | Đối tượng vé xem sự kiện để lưu. |
payload.flightClasses |
Mảng | Không | Hạng chuyến bay để lưu. |
payload.flightObjects |
Mảng | Không | Đối tượng chuyến bay để lưu. |
payload.giftCardClasses |
Mảng | Không | Tiết kiệm đối với hạng thẻ quà tặng. |
payload.giftCardObjects |
Mảng | Không | Đối tượng thẻ quà tặng để lưu. |
payload.loyaltyClasses |
Mảng | Không | Bạn có thể tiết kiệm ưu đãi bằng cấp bậc chương trình khách hàng thân thiết. |
payload.loyaltyObjects |
Mảng | Không | Đối tượng khách hàng thân thiết để lưu. |
payload.offerObjects |
Mảng | Không | Cung cấp đối tượng để lưu. |
payload.offerClasses |
Mảng | Không | Bạn có thể tiết kiệm ưu đãi khi đăng ký Lớp học. |
payload.transitObjects |
Mảng | Không | Đối tượng phương tiện công cộng để lưu. |
payload.transitClasses |
Mảng | Không | Lớp phương tiện công cộng để lưu. |
origins |
Mảng | Có | Mảng miền cần phê duyệt chức năng lưu JWT. API Google Wallet
nút sẽ không hiển thị khi trường origins không được xác định. Bạn có thể
có thể nhận được thông báo "Tải bị từ chối bởi X-Frame-Options" hoặc "Từ chối hiển thị" thông báo trong phần
bảng điều khiển của trình duyệt khi trường nguồn gốc không được xác định. |
JWT được mã hoá của bạn sẽ giống như ví dụ sau:
eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw
Hàm gapi.savetoandroidpay.render
Hàm này cho phép bạn hiển thị rõ ràng nút Google Wallet API.
gapi.savetoandroidpay.render("dom-container",{ "jwt": "JWT", "onsuccess": "successHandler", "onfailure": "failureHandler" });
Trường | Loại | Bắt buộc | Mô tả |
---|---|---|---|
dom-container |
Chuỗi | Có | Mã vùng chứa để đặt nút API Google Wallet. |
jwt |
Chuỗi | Có | JWT xác định nội dung cần lưu. |
onsuccess |
Chuỗi | Không | Tên chuỗi của hàm xử lý gọi lại lưu thành công. |
onfailure |
Chuỗi | Không | Tên chuỗi của hàm xử lý gọi lại lỗi lưu. Hàm này được truyền một đối tượng lỗi chứa errorCode và errorMessage. |
onprovidejwt |
Chuỗi | Không | Tên chuỗi của hàm xử lý JWT cung cấp. Mục đích của hàm này là
chặn và có khả năng thao túng dữ liệu JWT trước khi đối tượng được thêm vào Google Wallet.
Hàm này không nhận tham số và phải trả về JWT dưới dạng Chuỗi.
Khi triển khai trình xử lý sự kiện, dữ liệu JWT ban đầu có thể được truy xuất
trong trường this.getOpenParams().renderData.userParams.jwt . |
Mã lỗi và thông báo của API Google Wallet
Các bảng sau liệt kê mã lỗi và thông báo lỗi mặc định được chuyển vào lỗi đối tượng vào hàm callback không thành công, khi một đối tượng không lưu thành công bằng cách sử dụng nút JavaScript.
{ "errorCode": "errorCode", "errorMessage": "errorMessage" }
errorCode |
errorMessage |
---|---|
SERVICE_FAILURE |
Đã xảy ra lỗi trên máy chủ Google Wallet. |
CLASS_NOT_FOUND |
Không tìm thấy lớp được tham chiếu trong đối tượng. |
CLASS_MISMATCH |
Đối tượng phải có mặt, cùng loại và phải tham chiếu đến lớp đi kèm. |
ORIGIN_MISMATCH |
Nguồn gốc của nút không khớp với nguồn được chỉ định trong danh sách nguồn gốc. |
INVALID_NUM_TYPES |
Chỉ có thể chỉ định đúng một loại đối tượng. |
INVALID_SIGNATURE |
Không thể xác minh chữ ký. |
INVALID_DUPLICATE_IDS |
Không cho phép các đối tượng hoặc lớp trùng lặp. |
INVALID_JWT |
JWT không hợp lệ. |
INVALID_EXP_IAT |
JWT đã hết hạn hoặc được phát hành trong tương lai. |
INVALID_AUD |
Giá trị không hợp lệ cho trường AUD. |
INVALID_TYP |
Giá trị không hợp lệ cho trường TYP. |
INVALID_NUM_OBJECTS |
Bạn có thể chỉ định chính xác một đối tượng và tối đa một loại cho thẻ khách hàng thân thiết, thẻ quà tặng và ưu đãi. |
MALFORMED_ORIGIN_URL |
Url gốc không đúng định dạng. Url phải chứa giao thức và miền. |
MISSING_ORIGIN |
Bạn phải chỉ định nguồn gốc. |
MISSING_FIELDS |
Đối tượng hoặc lớp kèm theo thiếu các trường bắt buộc. |
Bản địa hoá
Ngôn ngữ trong nút JavaScript thay đổi theo các tiêu chí sau:
- Nếu người dùng đăng nhập vào Google, nút này sẽ hiển thị bằng ngôn ngữ ưu tiên được cung cấp trong hồ sơ Tài khoản Google của người dùng. Người dùng có thể đọc Thay đổi ngôn ngữ để tìm hiểu cách thay đổi ngôn ngữ ưu tiên của Tài khoản Google.
- Nếu người dùng chưa đăng nhập vào Google, nút này sẽ sử dụng giá trị
ACCEPT-LANGUAGE
trong tiêu đề HTTP.
Nếu bạn nhận thấy nút không hiển thị ở đúng ngôn ngữ dựa trên logic ở trên hoặc nếu từ ngữ không tự nhiên, liên hệ với nhóm hỗ trợ của chúng tôi.