গুগল গুগল প্লে বিকাশকারী এপিআইয়ের মাধ্যমে রসিদ বৈধতা সরবরাহ করে , এপিআই-এর মধ্যে এমন দুটি প্রান্ত রয়েছে যা আপনি সবচেয়ে বেশি আগ্রহী হবেন: ক্রয়.প্রডাক্টগুলি: পান এবং ক্রয় করুন s সাবস্ক্রিপশন: পান ।
Purchases.products: get
অ-অটো-পুনর্নবীকরণ পণ্য ক্রয় যাচাই করতে ব্যবহার করা যেতে পারে, যেখানে Purchases.subscriptions: get
অটো-পুনর্নবীকরণ পণ্যের সাবস্ক্রিপশন যাচাইকরণ এবং পুনরায় যাচাই করার জন্য।
পারেন শেষবিন্দু আপনি জানতে হবে ব্যবহার করতে packageName
, productId
, purchaseToken
এই সব পে লোড আপনি ক্রয় প্রাপ্ত খুঁজে পাওয়া যেতে পারে। আপনার access_token
একটি গুগল এপিআই পরিষেবা অ্যাকাউন্ট তৈরি করে যা আপনি পেতে পারেন তাও দরকার ।
পরিষেবা অ্যাকাউন্ট দিয়ে শুরু করতে প্রথমে গুগল প্লে বিকাশকারী কনসোল এপিআই অ্যাক্সেস সেটিংস পৃষ্ঠাতে যান এবং নতুন প্রকল্প তৈরি করুন বোতামটি ক্লিক করুন:
আপনার এখন একটি নতুন লিঙ্কযুক্ত প্রকল্প এবং পরিষেবা অ্যাকাউন্ট বিভাগে কয়েকটি নতুন বিভাগ দেখতে হবে, পরিষেবা অ্যাকাউন্ট তৈরি করুন বোতামটি ক্লিক করুন।
আপনার পরিষেবা অ্যাকাউন্ট তৈরি করার নির্দেশাবলী সহ আপনাকে একটি তথ্য বাক্স উপস্থাপন করা হবে। গুগল বিকাশকারী কনসোলের লিঙ্কটি ক্লিক করুন এবং একটি নতুন ট্যাব ফুটে উঠবে।
এখন নতুন ক্লায়েন্ট আইডি তৈরি করুন ক্লিক করুন, অপশনগুলি থেকে পরিষেবা অ্যাকাউন্ট নির্বাচন করুন এবং ক্লায়েন্ট আইডি তৈরি করুন ক্লিক করুন।
একটি জেএসওএন ফাইল ডাউনলোড করবে, এটি আপনার জাসন ওয়েব টোকেন access_token
যাতে আপনি এটির জন্য নিরাপদ রাখতে বিনিময় করতে ব্যবহার করবেন ।
এরপরে, গুগল প্লে বিকাশকারী কনসোলে ফিরে ট্যাবগুলি স্যুইচ করুন এবং তথ্য বাক্সে সম্পন্ন ক্লিক করুন। তালিকায় আপনার নতুন পরিষেবা অ্যাকাউন্টটি দেখতে হবে। পরিষেবা অ্যাকাউন্ট ইমেলের পাশের গ্রান্ট অ্যাক্সেসে ক্লিক করুন।
এই ব্যবহারকারীর জন্য একটি ভূমিকা চয়ন করুন এর অধীনে, অর্থ নির্বাচন করুন এবং ব্যবহারকারী যুক্ত করুন ক্লিক করুন।
আপনি এখন আপনার পরিষেবা অ্যাকাউন্ট সেট আপ করেছেন এবং এতে রসিদ বৈধতা সম্পাদনের জন্য সমস্ত প্রয়োজনীয় অ্যাক্সেস রয়েছে। নেক্সট আপ আপনার জেডাব্লুটিটি এক্সেস_ টোকেনের জন্য বিনিময় করছে।
access_token
মেয়াদ শেষ পর বিনিময়ের এক ঘন্টার আপনি এখন কিছু সার্ভার কোডটির এই হ্যান্ডেল করতে এবং গুগল (না সম্পূর্ণ তালিকা) এই হ্যান্ডেল করতে বিভিন্ন ভাষায় বিভিন্ন লাইব্রেরি প্রদান করে প্রয়োজন:
আমি বিস্তারিতভাবে যাব না কারণ এই লাইব্রেরিগুলি কীভাবে ব্যবহার করতে হয় সে সম্পর্কে প্রচুর ডকুমেন্টেশন রয়েছে তবে আমি উল্লেখ করব যে আপনি https://www.googleapis.com/auth/androidpublisher
OAuth2 স্কোপ হিসাবে ব্যবহার করতে চান , JWT client_email
থেকে issuer
এবং আপনি যে পাবলিক কীটি পেতে পারেন private_key
এবং পাসফ্রেজটি notasecret
ব্যবহার করা হবে signing_key
।
একবার আপনার access_token
ভাল হয়ে যাওয়ার পরে (উপরের অনুচ্ছেদে একই প্রক্রিয়াটি অনুসরণ করে অন্তত পরবর্তী ঘন্টা আপনি কোনও নতুনকে অনুরোধ করতে পারবেন)।
গ্রাহ্যযোগ্য (অ-স্বয়ংক্রিয় পুনর্নবীকরণ) ক্রয়ের স্থিতি পরীক্ষা করতে এখানে একটি http get
অনুরোধ করুন:https://www.googleapis.com/androidpublisher/v2/applications/com.example.app/purchases/products/exampleSku/tokens/rojeslcdyyiapnqcynkjyyjh?access_token=your_access_token
যদি আপনি 200 টিএসপি প্রতিক্রিয়া কোড পান তবে সবকিছু প্ল্যানডের মতো হয়ে গেছে এবং আপনার ক্রয়টি বৈধ ছিল। একটি 404 এর অর্থ হল আপনার টোকেনটি অবৈধ তাই ক্রয়টি সম্ভবত প্রতারণার প্রচেষ্টা ছিল। একটি 401 এর অর্থ হবে আপনার অ্যাক্সেস টোকেনটি অবৈধ এবং 403 এর অর্থ আপনার পরিষেবা অ্যাকাউন্টের অপর্যাপ্ত অ্যাক্সেস রয়েছে, Google Play বিকাশকারী কনসোলের অ্যাক্সেস অ্যাকাউন্টের জন্য আপনি অর্থ সক্ষম করেছেন তা পরীক্ষা করে দেখুন ।
200 থেকে প্রাপ্ত প্রতিক্রিয়া এর সাথে একই রকম দেখাবে:
{
"kind": "androidpublisher#productPurchase",
"purchaseTimeMillis": long,
"purchaseState": integer,
"consumptionState": integer,
"developerPayload": string
}
প্রতিটি সম্পত্তির ব্যাখ্যার জন্য https://developers.google.com/android-publisher/api-ref/purchases/products দেখুন ।
সাবস্ক্রিপশনগুলি একই রকম তবে শেষের পয়েন্টটি দেখতে দেখতে এটি:
https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/subscriptions/subscriptionId/tokens/token?access_token=you_access_token
এবং প্রতিক্রিয়াতে এই বৈশিষ্ট্যগুলি থাকা উচিত:
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean
}
সম্পত্তির বিবরণের জন্য https://developers.google.com/android-publisher/api-ref/purchases/subsifications দেখুন এবং নোট করুন startTimeMillis
এবং expiryTimeMillis
সাবস্ক্রিপশনের সময়কালের উপর নির্ভর করে পরিবর্তিত হতে পারে।
শুভ বৈধতা!