জাভাস্ক্রিপ্ট ওয়েব বোতাম

Google Wallet API আপনার ব্যবহারকারীদের ওয়েব থেকে Google Wallet এ একটি বস্তু যোগ করতে সক্ষম করে৷ ব্যবহারকারীরা সরাসরি আপনার ওয়েবসাইট থেকে তাদের কার্ড যোগ করতে পারেন।

এই রেফারেন্সটি HTML উপাদান g:savetoandroidpay সম্পর্কে বিশদ প্রদান করে যা একটি Google Wallet API বোতামের পাশাপাশি JSON ওয়েব টোকেন যা Google-এ আপনার ওয়েব পরিষেবার বর্ণনা দেয়।

Google Wallet API জাভাস্ক্রিপ্ট

স্বয়ংক্রিয়ভাবে পার্স করতে g:savetoandroidpay এইচটিএমএল ট্যাগ লোড করার জন্য স্ট্যান্ডার্ড জাভাস্ক্রিপ্ট অন্তর্ভুক্ত

<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>

g:savetoandroidpay HTML ট্যাগ

g:savetoandroidpay নেমস্পেস ট্যাগ Google Wallet বোতামে যোগ করার স্থান এবং বিভিন্ন বৈশিষ্ট্যকে সংজ্ঞায়িত করে। আপনি যদি HTML এবং JWTs সার্ভার সাইড রেন্ডার করছেন তাহলে এই ট্যাগটি ব্যবহার করুন৷

<g:savetoandroidpay jwt="JWT" onsuccess="successHandler" onfailure="failureHandler" />
মাঠ টাইপ প্রয়োজন বর্ণনা
height স্ট্রিং এন প্রদর্শনের জন্য বোতামের উচ্চতা। সম্ভাব্য মানগুলি হল: small (30px উচ্চ) এবং standard (38px উচ্চ)। height small থেকে ডিফল্ট। বিভিন্ন height সেটিংস সহ বোতামগুলির নমুনা দেখতে Google Wallet API বোতামগুলি দেখুন৷
jwt স্ট্রিং Y Google Wallet API JWT.
onsuccess স্ট্রিং এন সেভ সফল কলব্যাক হ্যান্ডলার ফাংশনের স্ট্রিং নাম।
onfailure স্ট্রিং এন সেভ ব্যর্থ কলব্যাক হ্যান্ডলার ফাংশনের স্ট্রিং নাম। এই ফাংশনটি একটি errorCode এবং errorMessage ধারণকারী একটি ত্রুটি অবজেক্ট পাস করা হয়।
onprovidejwt স্ট্রিং এন JWT হ্যান্ডলার ফাংশন প্রদানের স্ট্রিং নাম। এই ফাংশনের উদ্দেশ্য হল Google Wallet-এ বস্তু যোগ করার আগে JWT ডেটা আটকানো এবং সম্ভাব্যভাবে ম্যানিপুলেট করা। এই ফাংশনটি কোন প্যারামিটার নেয় না এবং JWT কে স্ট্রিং হিসাবে ফেরত দিতে হবে। ইভেন্ট হ্যান্ডলার প্রয়োগ করার সময়, মূল JWT ডেটা ফিল্ড this.getOpenParams().renderData.userParams.jwt অধীনে পুনরুদ্ধার করা যেতে পারে।
size স্ট্রিং এন প্রদর্শনের জন্য বোতামের প্রস্থ। আপনি প্যারেন্ট এলিমেন্টের প্রস্থের সাথে প্রস্থের মিল রাখতে matchparent size সেট করতে পারেন। অথবা, size অনির্ধারিত ছেড়ে দিন যাতে প্রস্থ text সেটিং এর প্রস্থের সাথে মানানসই হয়। বিভিন্ন size সেটিংস সহ বোতামগুলির নমুনা দেখতে Google Wallet API বোতামগুলি দেখুন৷
text স্ট্রিং এন অবচয়
textsize স্ট্রিং এন যখন textsize=large নির্দিষ্ট করা হয়, বিশেষ UI প্রয়োজনীয়তার ক্ষেত্রে নাটকীয়ভাবে টেক্সটের আকার এবং বোতামের আকার বৃদ্ধি পায়।
theme স্ট্রিং এন প্রদর্শনের জন্য বোতামের থিম। সম্ভাব্য মানগুলি হল: dark এবং light । ডিফল্ট থিম হল dark । বিভিন্ন theme সেটিংস সহ বোতামগুলির নমুনা দেখতে Google Wallet API বোতামগুলি দেখুন৷

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 ক্লাউড পরিষেবা অ্যাকাউন্ট ইমেল ঠিকানা তৈরি করেছে৷
aud স্ট্রিং Y শ্রোতা। Google Wallet API অবজেক্টের দর্শক সর্বদা google হবে।
typ স্ট্রিং Y JWT এর প্রকার। Google Wallet API অবজেক্টের শ্রোতা সর্বদা savetowallet করা হবে।
iat পূর্ণসংখ্যা Y যুগের পর থেকে সেকেন্ডে সময়ে জারি করা হয়েছে।
payload অবজেক্ট Y পেলোড অবজেক্ট।
payload.eventTicketClasses অ্যারে এন ইভেন্ট টিকেট ক্লাস সংরক্ষণ করতে.
payload.eventTicketObjects অ্যারে এন ইভেন্ট টিকিট অবজেক্ট সংরক্ষণ করুন।
payload.flightClasses অ্যারে এন বাঁচাতে ফ্লাইট ক্লাস।
payload.flightObjects অ্যারে এন সংরক্ষণ করতে ফ্লাইট অবজেক্ট।
payload.giftCardClasses অ্যারে এন গিফট কার্ড ক্লাস সংরক্ষণ করুন।
payload.giftCardObjects অ্যারে এন সংরক্ষণ করতে উপহার কার্ড অবজেক্ট.
payload.loyaltyClasses অ্যারে এন আনুগত্য ক্লাস সংরক্ষণ করুন.
payload.loyaltyObjects অ্যারে এন আনুগত্য অবজেক্ট সংরক্ষণ করুন.
payload.offerObjects অ্যারে এন সংরক্ষণ করার জন্য অবজেক্ট অফার করুন।
payload.offerClasses অ্যারে এন সংরক্ষণ করতে ক্লাস অফার.
payload.transitObjects অ্যারে এন সংরক্ষণ করার জন্য ট্রানজিট অবজেক্ট।
payload.transitClasses অ্যারে এন সংরক্ষণ করতে ট্রানজিট ক্লাস।
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 বোতাম রাখার জন্য কন্টেইনারের ID।
jwt স্ট্রিং Y JWT সংজ্ঞায়িত বিষয়বস্তু সংরক্ষণ.
onsuccess স্ট্রিং এন সেভ সফল কলব্যাক হ্যান্ডলার ফাংশনের স্ট্রিং নাম।
onfailure স্ট্রিং এন সেভ ব্যর্থ কলব্যাক হ্যান্ডলার ফাংশনের স্ট্রিং নাম। এই ফাংশনটি একটি errorCode এবং errorMessage ধারণকারী একটি ত্রুটি অবজেক্ট পাস করা হয়।
onprovidejwt স্ট্রিং এন JWT হ্যান্ডলার ফাংশন প্রদানের স্ট্রিং নাম। এই ফাংশনের উদ্দেশ্য হল Google Wallet-এ বস্তু যোগ করার আগে JWT ডেটা আটকানো এবং সম্ভাব্যভাবে ম্যানিপুলেট করা। এই ফাংশনটি কোন প্যারামিটার নেয় না এবং JWT কে স্ট্রিং হিসাবে ফেরত দিতে হবে। ইভেন্ট হ্যান্ডলার প্রয়োগ করার সময়, মূল JWT ডেটা ফিল্ড this.getOpenParams().renderData.userParams.jwt অধীনে পুনরুদ্ধার করা যেতে পারে।

Google Wallet API ত্রুটি কোড এবং বার্তা

নিম্নলিখিত সারণীগুলি ত্রুটি কোড এবং ডিফল্ট ত্রুটি বার্তাগুলিকে তালিকাভুক্ত করে যা ত্রুটির অবজেক্টে ব্যর্থ কলব্যাক ফাংশনে পাস করা হয়, যখন কোনো বস্তু জাভাস্ক্রিপ্ট বোতাম ব্যবহার করে সফলভাবে সংরক্ষণ না করে।

        {
          "errorCode": "errorCode",
          "errorMessage": "errorMessage"
        }
errorCode errorMessage
SERVICE_FAILURE Google Wallet সার্ভারে একটি ত্রুটি ঘটেছে৷
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. ইউআরএলে অবশ্যই একটি প্রোটোকল এবং ডোমেন থাকতে হবে।
MISSING_ORIGIN উত্স নির্দিষ্ট করা আবশ্যক.
MISSING_FIELDS আবদ্ধ বস্তু বা বর্গ প্রয়োজনীয় ক্ষেত্র অনুপস্থিত ছিল.

স্থানীয়করণ

নিম্নলিখিত মানদণ্ডের উপর ভিত্তি করে JavaScript বোতামের ভাষা পরিবর্তন হয়:

  1. ব্যবহারকারী যদি Google-এ লগ ইন করে থাকেন, তাহলে বোতামটি ব্যবহারকারীর Google অ্যাকাউন্ট প্রোফাইলে প্রদত্ত পছন্দের ভাষায় রেন্ডার করে। একজন ব্যবহারকারী কীভাবে তাদের Google অ্যাকাউন্টের পছন্দের ভাষা পরিবর্তন করবেন তা শিখতে ভাষা পরিবর্তন করতে পড়তে পারেন।
  2. ব্যবহারকারী যদি Google-এ লগ ইন না করে থাকেন, তাহলে বোতামটি HTTP শিরোনামে ACCEPT-LANGUAGE মান ব্যবহার করে।

আপনি যদি লক্ষ্য করেন যে উপরের যুক্তির উপর ভিত্তি করে বোতামটি সঠিক ভাষায় রেন্ডার হচ্ছে না, বা যদি শব্দটি অস্বাভাবিক হয়, আমাদের সহায়তা দলের সাথে যোগাযোগ করুন