تتيح واجهة Google Wallet API للمستخدمين إضافة محتوى إلى "محفظة Google" من الويب. يمكن للمستخدمين إضافة بطاقاتهم مباشرةً من موقعك الإلكتروني.
يوفّر هذا المرجع تفاصيل حول عنصر HTML g:savetoandroidpay
الذي يعرض زر Google Wallet API بالإضافة إلى JSON Web Token الذي يصف خدمة الويب الخاصة بك لمحرّك بحث Google.
JavaScript API لمحفظة Google
للتحليل التلقائي لعلامات 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 |
سلسلة | Y | 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 Wallet API JWT
تحدّد Google Wallet API JWT العناصر والفئات المطلوب حفظها.
تمثيل 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 |
سلسلة | Y | عنوان البريد الإلكتروني الذي تم إنشاؤه من خلال حساب خدمة Google Cloud |
aud |
سلسلة | Y | الجمهور سيكون جمهور كائنات Google Wallet API دائمًا
google . |
typ |
سلسلة | Y | نوع JWT. سيكون جمهور كائنات Google Wallet API دائمًا
savetowallet . |
iat |
عدد صحيح | Y | تم إصداره في الوقت بالثواني منذ تاريخ بدء حساب الفترة. |
payload |
الكائن | Y | كائن الحمولة. |
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 |
مصفوفة | Y | مصفوفة من النطاقات للموافقة عليها لوظيفة حفظ 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 |
سلسلة | Y | رقم تعريف الحاوية لوضع زر Google Wallet API |
jwt |
سلسلة | Y | يحدد 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 استنادًا إلى المعايير التالية:
- إذا كان المستخدم مسجّلاً الدخول إلى Google، يتم عرض الزر باللغة المفضّلة المحدّدة في الملف الشخصي لحساب Google الخاص بالمستخدم. يمكن للمستخدم الاطّلاع على تغيير اللغة للتعرّف على كيفية تغيير اللغة المفضّلة لحسابه على Google.
- إذا لم يسجّل المستخدم الدخول إلى Google، يستخدم الزر قيمة
ACCEPT-LANGUAGE
في عنوان HTTP.
إذا لاحظت أنّ الزر لا يظهر باللغة الصحيحة بناءً على المنطق أعلاه أو إذا كانت الصياغة غير طبيعية، يمكنك التواصل مع فريق الدعم.