زر JavaScript على الويب

تتيح Google Wallet API للمستخدمين إضافة عنصر إلى "محفظة Google" من الويب. يمكن للمستخدمين إضافة بطاقاتهم مباشرةً من موقعك الإلكتروني.

يوفر هذا المرجع تفاصيل حول عنصر HTML g:savetoandroidpay الذي تعرض زر Google Wallet API بالإضافة إلى رمز JSON المميّز للويب يصف خدمة الويب التي تقدمها لـ Google.

JavaScript في Google Wallet API

لإجراء التحليل التلقائي لعلامات HTML الخاصة بـ g:savetoandroidpay عند التحميل، يُرجى تضمين القيمة العادية JavaScript

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

بالنسبة إلى تطبيقات AJAX والعرض الصريح لأزرار Google Wallet API، يمكنك تضمين المَعلمة "parsetags": "explicit".

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

علامة HTML واحدة (g:savetoandroidpay)

تحدد علامة مساحة الاسم g:savetoandroidpay الموضع والسمات المختلفة لإضافة زر "محفظة Google". استخدِم هذه العلامة في حال عرض ملفات HTML وJWT. جانب الخادم.

<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
الحقل النوع مطلوب الوصف
height سلسلة N ارتفاع الزر المراد عرضه القيم المحتملة هي: small (ارتفاع 30 بكسل) و standard (ارتفاع 38 بكسل). وتكون القيمة التلقائية للسمة height هي small. راجِع أزرار Google Wallet API. للاطّلاع على نماذج من الأزرار التي تتضمن إعدادات مختلفة على height
jwt سلسلة نعم Google Wallet API JWT.
onsuccess سلسلة N اسم سلسلة لدالة معالِج معاودة الاتصال الخاص بحفظ نجاح.
onfailure سلسلة N اسم سلسلة لدالة معالِج معاودة الاتصال لتعذُّر الحفظ. تم تمرير هذه الدالة خطأ يحتوي على errorCode وerrorMessage.
onprovidejwt سلسلة N اسم سلسلة لدالة معالج JWT لتوفير البيانات الغرض من هذه الدالة هو اعتراض بيانات JWT وربما معالجتها قبل إضافة العنصر إلى "محفظة Google". لا تستخدم هذه الدالة أي معلمات، ويجب أن تعرض JWT كسلسلة. عند تنفيذ معالج الأحداث، يمكن استرداد بيانات JWT الأصلية أسفل الحقل this.getOpenParams().renderData.userParams.jwt.
size سلسلة N عرض الزرّ الذي سيتم عرضه يمكنك ضبط size على matchparent. لمطابقة العرض مع عرض العنصر الأصلي. أو مغادرة "size" غير محدد بحيث يمتد العرض ليلائم عرض إعداد text. راجِع أزرار Google Wallet API. للاطّلاع على نماذج من الأزرار التي تتضمن إعدادات مختلفة على size
text سلسلة N منهي العمل به
textsize سلسلة N عند تحديد textsize=large، يتم عرض تم زيادة حجم النص بشكل كبير حجم الزر، في الحالات التي تشتمل على متطلبات خاصة لواجهة المستخدم.
theme سلسلة N مظهر الزرّ الذي سيتم عرضه القيم المحتملة هي: dark و light المظهر التلقائي هو dark. ارجع إلى أزرار Google Wallet API للاطّلاع على نماذج من الأزرار التي تتضمن إعدادات مختلفة على theme

واجهة برمجة تطبيقات محفظة Google JWT

تحدد واجهة JWT في Google Wallet API العناصر والفئات التي يجب حفظها.

تمثيل 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"]
}

الحقول

الحقل النوع مطلوب الوصف
iss سلسلة نعم عنوان البريد الإلكتروني الذي تم إنشاؤه من خلال حسابك على خدمة Google Cloud.
aud سلسلة نعم الجمهور سيكون جمهور كائنات Google Wallet API دائمًا google
typ سلسلة نعم نوع JWT. سيكون جمهور كائنات Google Wallet API دائمًا savetowallet
iat عدد صحيح نعم يتم إصداره في الوقت بالثواني منذ تاريخ بدء حساب الفترة.
payload الكائن نعم عنصر حمولة الرسائل
payload.eventTicketClasses مصفوفة N فئة تذكرة الفعالية المطلوب حفظها.
payload.eventTicketObjects مصفوفة N عنصر تذكرة الحدث المطلوب حفظه.
payload.flightClasses مصفوفة N درجة الرحلة الجوية المطلوب حفظها.
payload.flightObjects مصفوفة N عنصر الرحلة الجوية المطلوب حفظه.
payload.giftCardClasses مصفوفة N يجب حفظ فئة بطاقة الهدايا.
payload.giftCardObjects مصفوفة N عنصر بطاقة الهدايا لحفظه.
payload.loyaltyClasses مصفوفة N فئة الولاء المطلوب حفظها.
payload.loyaltyObjects مصفوفة N عنصر الولاء المطلوب حفظه.
payload.offerObjects مصفوفة N عنصر العرض المراد حفظه
payload.offerClasses مصفوفة N عرض الصف للحفظ.
payload.transitObjects مصفوفة N عنصر النقل العام المطلوب حفظه
payload.transitClasses مصفوفة N فئة النقل العام لحفظها.
origins مصفوفة نعم مجموعة النطاقات التي يجب الموافقة عليها لاستخدام وظيفة حفظ JWT Google Wallet API لن يتم عرض الزر إذا لم يتم تحديد الحقل origins. يمكنك احتمالية ظهور الخطأ "تم رفض التحميل بواسطة X-Frame-Options" أو "تم رفض العرض" الرسائل في وحدة تحكّم المتصفّح عندما لا يتم تحديد حقل المصادر.

من المفترض أن يبدو ملف JWT المرمّز مشابهًا للمثال التالي:

eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJnb29nbGUiLCJvcmlnaW5zIjpbImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImh0dHA6Ly93d3cuZ29vZ2xlLmNvbSJdLCJpc3MiOiJzMmFwLXRvb2wuZ29vZ2xlLmNvbUBhcHBzcG90LmdzZXJ2aWNlYWNjb3VudC5jb20iLCJpYXQiOjE1NTE5ODcxNTEsInR5cCI6InNhdmV0b3dhbGxldCIsInBheWxvYWQiOnsib2ZmZXJPYmplY3RzIjpbeyJpZCI6IjMyMDI0MTMyNDE4NDM2OTk0MDEuMDFfT2ZmZXJPYmplY3RJZCJ9XX19.maHX40WWT29TC_kEb90EKQBH9AiTYAZR3153K8UI7fznVnfjVdlwsH_GKTECV3PGXdNnKCcmatUbKsONC0bxrnAHYG02kuvA1D3hSctz_amU66ntsvGIDe13mpxTzhI8fPvt9KMP1iaO7uOJuLQIHwipu4uRFAjyFaHGVaSFaP9c53qQyb_Zgyyk50M-MhH2n4kDpstNCqUJKWaadQkOWjrtMjwGzQ_ME04lbR4wb_mfK1A7Rc1UieWkxM9aMl5TOPubBKxKRRk_CqillN8XoTl9MI5RRGPuElVO28zGpYlFS6BarzDaaUfmbRZGvfF8ZiKrHZKxVrJjfZIJ2TCcDw

دالة gapi.savetoandroidpay.render

وتتيح لك هذه الوظيفة عرض زر Google Wallet API بشكل واضح.

gapi.savetoandroidpay.render("dom-container",{
  "jwt": "JWT",
  "onsuccess": "successHandler",
  "onfailure": "failureHandler"
});
الحقل النوع مطلوب الوصف
dom-container سلسلة نعم رقم تعريف الحاوية المطلوب وضع زر Google Wallet API فيها
jwt سلسلة نعم JWT الذي يحدد المحتوى المراد حفظه.
onsuccess سلسلة N اسم سلسلة لدالة معالِج معاودة الاتصال الخاص بحفظ نجاح.
onfailure سلسلة N اسم سلسلة لدالة معالِج معاودة الاتصال لتعذُّر الحفظ. تم تمرير هذه الدالة خطأ يحتوي على errorCode وerrorMessage.
onprovidejwt سلسلة N اسم سلسلة لدالة معالج JWT لتوفير البيانات الغرض من هذه الدالة هو اعتراض بيانات JWT وربما معالجتها قبل إضافة العنصر إلى "محفظة Google". لا تستخدم هذه الدالة أي معلمات، ويجب أن تعرض JWT كسلسلة. عند تنفيذ معالج الأحداث، يمكن استرداد بيانات JWT الأصلية أسفل الحقل this.getOpenParams().renderData.userParams.jwt.

رموز الخطأ والرسائل في Google Wallet API

تسرد الجداول التالية رموز الخطأ ورسائل الخطأ الافتراضية التي تم تمريرها في الخطأ إلى دالة استدعاء الفشل، عندما لا يُحفظ كائن بنجاح باستخدام زر JavaScript.

        {
          "errorCode": "errorCode",
          "errorMessage": "errorMessage"
        }
errorCode errorMessage
SERVICE_FAILURE حدث خطأ في خادم محفظة Google.
CLASS_NOT_FOUND لم يتم العثور على الفئة المشار إليها في العنصر.
CLASS_MISMATCH يجب أن يكون العنصر متوفّرًا من النوع نفسه ويجب أن يشير إلى الفئة المضمّنة.
ORIGIN_MISMATCH لا يتطابق أصل الزر مع المصادر المحدّدة في قائمة المصادر.
INVALID_NUM_TYPES يمكن تحديد نوع واحد من الكائنات.
INVALID_SIGNATURE تعذّر التحقّق من التوقيع.
INVALID_DUPLICATE_IDS لا يُسمح بالعناصر أو الفئات المكرّرة.
INVALID_JWT JWT غير صالح.
INVALID_EXP_IAT انتهت صلاحية JWT أو تم إصدارها في المستقبل.
INVALID_AUD قيمة غير صالحة لحقل AUD.
INVALID_TYP قيمة غير صالحة لحقل TYP.
INVALID_NUM_OBJECTS يمكن تحديد عنصر واحد فقط وفئة واحدة على الأكثر لبطاقات الولاء وبطاقات الهدايا والعروض.
MALFORMED_ORIGIN_URL عنوان URL المصدر مكتوب بشكل غير صحيح. يجب أن يحتوي عنوان URL على بروتوكول ونطاق.
MISSING_ORIGIN يجب تحديد المصدر.
MISSING_FIELDS لم يتم إدخال حقول مطلوبة في العنصر أو الفئة المضمَّنة.

الأقلمة

تتغير اللغة في زر JavaScript بناءً على المعايير التالية:

  1. إذا سجّل المستخدم الدخول إلى Google، يظهر الزر باللغة المفضلة المحددة في الملف الشخصي لحساب Google للمستخدم. يمكن للمستخدم القراءة تغيير اللغة لمعرفة كيفية تغيير اللغة المفضَّلة لحسابهم على Google.
  2. إذا لم يسجّل المستخدم الدخول إلى Google، سيستخدم الزر قيمة ACCEPT-LANGUAGE. في عنوان HTTP.

إذا لاحظت أن الزر لا يُعرض باللغة الصحيحة بناءً على المنطق أعلاه، أو إذا والصياغة غير طبيعية، التواصل مع فريق الدعم.