JavaScript web düğmesi

Google Cüzdan API'si, kullanıcılarınızın web'den Google Cüzdan'a nesne eklemesine olanak tanır. Kullanıcılar, kartlarını doğrudan web sitenizden ekleyebilir.

Bu referansta, Google Cüzdan API düğmesini oluşturan g:savetoandroidpay HTML öğesinin yanı sıra Google'a sunduğunuz web hizmetini açıklayan JSON Web Jetonu hakkında ayrıntılı bilgi verilmektedir.

Google Cüzdan API'si JavaScript

Yükleme sırasında g:savetoandroidpay HTML etiketlerinin otomatik olarak ayrıştırılması için standart JavaScript'i kullanın

<script src="https://apis.google.com/js/platform.js" type="text/javascript"></script>

AJAX uygulamaları ve Google Cüzdan API düğmelerinin açık bir şekilde oluşturulması için "parsetags": "explicit" parametresini ekleyin.

<script src="https://apis.google.com/js/platform.js" type="text/javascript">
  {"parsetags": "explicit"}
</script>

g:savetoandroidpay HTML etiketi

g:savetoandroidpay ad alanı etiketi, Google Cüzdan'a Ekle düğmesinin yerleşimini ve çeşitli özelliklerini tanımlar. HTML ve JWT'leri sunucu tarafında oluşturuyorsanız bu etiketi kullanın.

<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
Alan Tür Gerekli Açıklama
height Dize N Gösterilecek düğmenin yüksekliği. Olası değerler şunlardır: small (30 piksel yükseklik) ve standard (38 piksel yükseklik). height varsayılan olarak small değerine ayarlanır. Farklı height ayarlarına sahip düğme örneklerini görmek için Google Cüzdan API düğmelerine bakın.
jwt Dize Y Google Cüzdan API'si JWT.
onsuccess Dize N Başarılı kaydetme geri çağırma işleyici işlevinin dize adı.
onfailure Dize N Kaydetme hatası geri çağırma işleyici işlevinin dize adı. Bu işleve, errorCode ve errorMessage içeren bir hata nesnesi aktarılır.
onprovidejwt Dize N JWT işleyici işlevinin dize adı. Bu işlevin amacı, nesne Google Cüzdan'a eklenmeden önce JWT verilerine müdahale etmek ve bunları potansiyel olarak değiştirmektir. Bu işlev herhangi bir parametre almaz ve JWT'yi Dize olarak döndürmelidir. Etkinlik işleyici uygulanırken orijinal JWT verileri this.getOpenParams().renderData.userParams.jwt alanı altından alınabilir.
size Dize N Gösterilecek düğmenin genişliği. Genişliğin üst öğenin genişliğiyle eşleşmesi için size değerini matchparent olarak ayarlayabilirsiniz. Alternatif olarak, genişliğin text ayarının genişliğine sığacak şekilde genişlemesi için size öğesini tanımsız bırakın. Farklı size ayarlarına sahip düğme örneklerini görmek için Google Cüzdan API düğmelerine bakın.
text Dize N Kullanımdan kaldırıldı
textsize Dize N textsize=large belirtildiğinde, özel kullanıcı arayüzü gereksinimlerinin olduğu durumlarda önemli ölçüde artırılmış metin boyutu ve düğme boyutu görüntüler.
theme Dize N Gösterilecek düğmenin teması. Olası değerler: dark ve light. Varsayılan tema dark. Farklı theme ayarlarına sahip düğme örneklerini görmek için Google Cüzdan API düğmelerine bakın.

Google Cüzdan API'si JWT

Google Cüzdan API'si JWT, kaydedilecek nesneleri ve sınıfları tanımlar.

JSON gösterimi

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

Alanlar

Alan Tür Gerekli Açıklama
iss Dize Y Google Cloud hizmet hesabınız tarafından oluşturulan e-posta adresiniz.
aud Dize Y Kitle'yi tıklayın. Google Cüzdan API Nesneleri'nin kitlesi her zaman google olur.
typ Dize Y JWT türü. Google Cüzdan API Nesneleri'nin kitlesi her zaman savetowallet olur.
iat Tamsayı Y Dönemden beri geçen zamanda saniye cinsinden verilir.
payload Nesne Y Yük nesnesi.
payload.eventTicketClasses Dizi N Kaydetmek için Etkinlik Bileti Sınıfı.
payload.eventTicketObjects Dizi N Kaydedilecek Etkinlik Bileti Nesnesi.
payload.flightClasses Dizi N Kaydedilecek Uçuş Sınıfı.
payload.flightObjects Dizi N Kaydedilecek Uçuş Nesnesi.
payload.giftCardClasses Dizi N Kaydedilecek Hediye Kartı Sınıfı.
payload.giftCardObjects Dizi N Kaydedilecek Hediye Kartı Nesnesi.
payload.loyaltyClasses Dizi N Bağlılık Sınıfı'nı kaydedin.
payload.loyaltyObjects Dizi N Kaydedilecek Bağlılık Nesnesi.
payload.offerObjects Dizi N Kaydedilecek Nesneyi sunun.
payload.offerClasses Dizi N Sınıfı teklif ederek kaydedin.
payload.transitObjects Dizi N Kaydedilecek Toplu Taşıma Nesnesi.
payload.transitClasses Dizi N Geçiş Sınıfını kaydedin.
origins Dizi Y JWT kaydetme işlevi için onaylanacak alan adları dizisi. origins alanı tanımlanmadığında Google Cüzdan API'si düğmesi oluşturulmaz. Kaynaklar alanı tanımlanmadığında tarayıcı konsolunda "Yükleme, X-Frame-Options tarafından reddedildi" veya "Görüntüleme reddedildi" mesajları gösterilebilir.

Kodlanmış JWT'niz aşağıdaki örneğe benzer olmalıdır:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw

gapi.savetoandroidpay.render işlevi

Bu işlev, Google Cüzdan API düğmesini açıkça oluşturmanıza olanak tanır.

gapi.savetoandroidpay.render("dom-container",{
  "jwt": "JWT",
  "onsuccess": "successHandler",
  "onfailure": "failureHandler"
});
Alan Tür Gerekli Açıklama
dom-container Dize Y Google Cüzdan API'si düğmesinin yerleştirileceği kapsayıcının kimliği.
jwt Dize Y Kaydedilecek içeriği tanımlayan JWT.
onsuccess Dize N Başarılı kaydetme geri çağırma işleyici işlevinin dize adı.
onfailure Dize N Kaydetme hatası geri çağırma işleyici işlevinin dize adı. Bu işleve, errorCode ve errorMessage içeren bir hata nesnesi aktarılır.
onprovidejwt Dize N JWT işleyici işlevinin dize adı. Bu işlevin amacı, nesne Google Cüzdan'a eklenmeden önce JWT verilerine müdahale etmek ve bunları potansiyel olarak değiştirmektir. Bu işlev herhangi bir parametre almaz ve JWT'yi Dize olarak döndürmelidir. Etkinlik işleyici uygulanırken orijinal JWT verileri this.getOpenParams().renderData.userParams.jwt alanı altından alınabilir.

Google Cüzdan API'si hata kodları ve mesajları

Aşağıdaki tablolarda, bir nesne JavaScript düğmesiyle başarılı bir şekilde kaydedilemediğinde hata nesnesinde hata geri çağırma işlevine geçirilen hata kodları ve varsayılan hata mesajları listelenmiştir.

        {
          "errorCode": "errorCode",
          "errorMessage": "errorMessage"
        }
errorCode errorMessage
SERVICE_FAILURE Google Cüzdan sunucusunda bir hata oluştu.
CLASS_NOT_FOUND Nesnede başvurulan sınıf bulunamadı.
CLASS_MISMATCH Nesne aynı türde olmalı ve ekteki sınıfa referansta bulunmalıdır.
ORIGIN_MISMATCH Düğmenin kaynağı, kaynak listesinde belirtilen kaynakla eşleşmiyor.
INVALID_NUM_TYPES Tam olarak bir nesne türü belirtilebilir.
INVALID_SIGNATURE İmza doğrulanamadı.
INVALID_DUPLICATE_IDS Kopya nesnelere veya sınıflara izin verilmez.
INVALID_JWT Geçersiz JWT.
INVALID_EXP_IAT JWT'nin süresi doldu veya gelecekte verildi.
INVALID_AUD AUD alanı için geçersiz değer.
INVALID_TYP TYP alanı için geçersiz değer.
INVALID_NUM_OBJECTS Bağlılık kartları, hediye kartları ve teklifler için tam olarak bir nesne ve en fazla bir sınıf belirtilebilir.
MALFORMED_ORIGIN_URL Bozuk kaynak url'si. URL, bir protokol ve alan adı içermelidir.
MISSING_ORIGIN Kaynak belirtilmelidir.
MISSING_FIELDS Kapsanan nesne veya sınıfta zorunlu alanlar eksikti.

Yerelleştirme

JavaScript düğmesinin dili, aşağıdaki ölçütlere göre değişir:

  1. Kullanıcı Google'a giriş yapmışsa düğme, kullanıcının Google hesabı profilinde belirtilen tercih edilen dilde oluşturulur. Kullanıcılar, Google Hesaplarının tercih ettiği dili nasıl değiştireceklerini öğrenmek için Dili değiştir sayfasını okuyabilirler.
  2. Kullanıcı Google'a giriş yapmamışsa düğme, HTTP üst bilgisindeki ACCEPT-LANGUAGE değerini kullanır.

Düğmenin yukarıdaki mantığa göre doğru dilde oluşturulmadığını fark ederseniz veya kullanılan ifadeler doğal değilse destek ekibimizle iletişime geçin.