Nút web JavaScript

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 heightsmall. 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 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à: darklight 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 Địa chỉ email do tài khoản dịch vụ Google Cloud của bạn tạo.
aud Chuỗi Đối tượng. Đối tượng của Đối tượng API Google Wallet sẽ luôn là google.
typ Chuỗi Loại JWT. Đối tượng của Đối tượng API Google Wallet sẽ luôn là savetowallet.
iat Số nguyên Đượ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 Đố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 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 Mã vùng chứa để đặt nút API Google Wallet.
jwt Chuỗi 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:

  1. 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.
  2. 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.