অকার্যকর ক্রয় API

Google Play Voided Purchases API অর্ডারের একটি তালিকা প্রদান করে যা একজন ব্যবহারকারী বাতিল করেছে এমন ক্রয়ের সাথে সম্পর্কিত। আপনি একটি প্রত্যাহার সিস্টেম বাস্তবায়ন করতে এই তালিকা থেকে তথ্য ব্যবহার করতে পারেন যা ব্যবহারকারীকে সেই আদেশগুলি থেকে পণ্যগুলি অ্যাক্সেস করতে বাধা দেয়৷

এই API এককালীন ইন-অ্যাপ অর্ডার এবং অ্যাপ সাবস্ক্রিপশনে প্রযোজ্য।

একটি ক্রয় নিম্নলিখিত উপায়ে বাতিল করা যেতে পারে:

  • ব্যবহারকারী তাদের অর্ডারের জন্য একটি ফেরত অনুরোধ.
  • ব্যবহারকারী তাদের অর্ডার বাতিল.
  • একটি আদেশ ফেরত চার্জ করা হয়.
  • বিকাশকারী অর্ডার বাতিল করে বা ফেরত দেয়।

  • Google অর্ডার বাতিল করে বা ফেরত দেয়।

এই API ব্যবহার করে, আপনি আপনার অ্যাপের ব্যবহারকারীদের জন্য একটি আরও ভারসাম্যপূর্ণ এবং ন্যায্য অভিজ্ঞতা তৈরি করতে সাহায্য করেন, বিশেষ করে যদি আপনার অ্যাপটি একটি গেম হয়।

অ্যাক্সেস লাভ

Voided Purchases API-এর সাথে কাজ করতে, আপনার আর্থিক তথ্য দেখার অনুমতি থাকতে হবে। আপনি একটি OAuth ক্লায়েন্ট বা একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করে অনুমোদন প্রদান করেন। আপনি যদি একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করেন তবে এই অ্যাকাউন্টের মধ্যে "আর্থিক প্রতিবেদন দেখুন" অনুমতি সক্ষম করুন৷

Google Play Developer API-এ অনুমোদিত অ্যাক্সেস পাওয়ার বিষয়ে আরও জানতে, নিম্নলিখিত নির্দেশিকাগুলি দেখুন:

অকার্যকর কেনাকাটা দেখা

অকার্যকর কেনাকাটার তালিকার অনুরোধ করতে GET পদ্ধতি ব্যবহার করুন। আপনার অনুরোধে, আপনার অ্যাপের জন্য সম্পূর্ণ-যোগ্য প্যাকেজের নাম অন্তর্ভুক্ত করুন—যেমন com.google.android.apps.maps —এবং API-এ অ্যাক্সেস পাওয়ার সময় আপনি যে অনুমোদন টোকেনটি পেয়েছেন।

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

আপনি আপনার অনুরোধে নিম্নলিখিত পরামিতিগুলিও অন্তর্ভুক্ত করতে পারেন, যার প্রতিটি ঐচ্ছিক:

শুরুর সময়

ইউনিক্স যুগ থেকে মিলিসেকেন্ডে সময়, সবচেয়ে পুরানো অকার্যকর কেনাকাটা যা আপনি প্রতিক্রিয়াতে দেখতে চান। ডিফল্টরূপে, startTime 30 দিন আগে সেট করা হয়।

API শুধুমাত্র গত 30 দিনের মধ্যে হওয়া বাতিল কেনাকাটাগুলি দেখাতে পারে। আপনি startTime এর জন্য যে মান প্রদান করেছেন তা নির্বিশেষে, পুরানো অকার্যকর কেনাকাটাগুলি প্রতিক্রিয়াতে অন্তর্ভুক্ত করা হয় না।

শেষ সময়

ইউনিক্স যুগের পর থেকে মিলিসেকেন্ডে সময়, যেটির নতুন অকার্যকর কেনাকাটা আপনি প্রতিক্রিয়াতে দেখতে চান। ডিফল্টরূপে, endTime বর্তমান সময়ে সেট করা হয়।

সর্বোচ্চ ফলাফল
প্রতিটি প্রতিক্রিয়ায় প্রদর্শিত অকার্যকর কেনাকাটার সর্বোচ্চ সংখ্যা। ডিফল্টরূপে, এই মানটি হল 1000৷ মনে রাখবেন যে এই প্যারামিটারের সর্বোচ্চ মানটিও 1000৷
টোকেন
একটি পূর্ববর্তী প্রতিক্রিয়া থেকে একটি ধারাবাহিকতা টোকেন, আপনাকে আরও ফলাফল দেখতে অনুমতি দেয়।
টাইপ

অকার্যকর কেনাকাটার ধরন যা প্রতিটি প্রতিক্রিয়াতে প্রদর্শিত হয়। 0 তে সেট করা হলে, শুধুমাত্র বাতিল করা ইন-অ্যাপ কেনাকাটা ফেরত দেওয়া হবে। 1 তে সেট করা হলে, অকার্যকর ইন-অ্যাপ ক্রয় এবং অকার্যকর সাবস্ক্রিপশন ক্রয় উভয়ই ফেরত দেওয়া হবে। ডিফল্ট মান 0।

পরিমাণ ভিত্তিক আংশিক ফেরত অন্তর্ভুক্ত

পরিমাণ-ভিত্তিক আংশিক ফেরতের অকার্যকর কেনাকাটা অন্তর্ভুক্ত করতে হবে, যা শুধুমাত্র বহু-পরিমাণ কেনাকাটার ক্ষেত্রে প্রযোজ্য। true হলে, অতিরিক্ত অকার্যকর ক্রয় voidedQuantity সহ ফেরত দেওয়া হতে পারে যা একটি পরিমাণ-ভিত্তিক আংশিক ফেরতের অর্থ ফেরতের পরিমাণ নির্দেশ করে। ডিফল্ট মান false

প্রতিক্রিয়া হল একটি JSON স্ট্রিং যাতে অকার্যকর কেনাকাটার একটি তালিকা রয়েছে। maxResults রিকোয়েস্ট প্যারামিটারে উল্লিখিত সংখ্যার চেয়ে বেশি ফলাফল থাকলে, প্রতিক্রিয়াটিতে একটি nextPageToken মান অন্তর্ভুক্ত থাকে, যা আপনি আরও ফলাফল দেখার জন্য পরবর্তী অনুরোধে পাস করতে পারেন। তালিকার প্রথম ফলাফলটি সবচেয়ে পুরানো অকার্যকর ক্রয় দেখায়।

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

কোটা

অকার্যকর কেনাকাটা API প্রতি-প্যাকেজের ভিত্তিতে নিম্নলিখিত কোটা সেট করে:

  • প্রতিদিন 6000টি প্রশ্ন। (দিন শুরু হয় এবং মধ্যরাতে প্রশান্ত মহাসাগরীয় সময় শেষ হয়।)
  • যেকোনো 30-সেকেন্ড সময়কালে 30টি প্রশ্ন।

প্রাথমিক অনুরোধের জন্য নির্দেশিকা

আপনার প্রাথমিক API অনুরোধের সময়, আপনি আপনার অ্যাপের জন্য সমস্ত উপলব্ধ ডেটা আনতে চাইতে পারেন। যদিও অসম্ভাব্য, এই প্রক্রিয়াটি আপনার দৈনিক কোটা শেষ করতে পারে। একটি নিরাপদ, আরও সামঞ্জস্যপূর্ণ পদ্ধতিতে অকার্যকর কেনাকাটা ডেটা পেতে, এই সেরা অনুশীলনগুলি অনুসরণ করুন:

  • maxResults প্যারামিটারের জন্য ডিফল্ট মান ব্যবহার করুন। এইভাবে, আপনি যদি একটি দিনের জন্য আপনার সম্পূর্ণ ক্যোয়ারী কোটা ব্যবহার করেন, আপনি 6,000,000 অকার্যকর কেনাকাটার বিবরণ পুনরুদ্ধার করতে পারেন।
  • যদি একটি প্রতিক্রিয়া nextPageToken এর জন্য একটি মান অন্তর্ভুক্ত করে, আপনার পরবর্তী অনুরোধের সময় token প্যারামিটারে এই মানটি বরাদ্দ করুন।

সর্বোত্তম অনুশীলন

আপনার অ্যাপে এই API ব্যবহার করার সময়, মনে রাখবেন যে একটি ক্রয় বাতিল করার অনেকগুলি কারণ রয়েছে এবং এমন কোনও একক সমাধান নেই যা সমস্ত ক্ষেত্রে কাজ করে৷ আপনার প্রত্যাহার নীতি এবং কৌশলগুলি ডিজাইন করার সময় আপনার ব্যবহারকারীদের মনে রাখা উচিত৷ এটি করার জন্য, আপনি এই প্রস্তাবিত অনুশীলনগুলি প্রয়োগ করতে পারেন:

  • অবাঞ্ছিত আচরণকে মোকাবেলা করার জন্য একটি বিস্তৃত কৌশলের অনেক উপাদানগুলির মধ্যে একটি হিসাবে এই APIটি ব্যবহার করুন। অ্যাপ-মধ্যস্থ পণ্যগুলিতে অ্যাক্সেস প্রত্যাহার করা সাধারণত আরও কার্যকর হয় যখন এমন একটি অ্যাপের সাথে মিলিত হয় যেখানে অ্যাপ-মধ্যস্থ কেনাকাটার জন্য যুক্তিসঙ্গত মূল্য রয়েছে, একটি অ্যাপ ডিজাইন যা অবাঞ্ছিত আচরণকে নিরুৎসাহিত করে, একটি শক্তিশালী ব্যবহারকারীর ভিত্তি যার সংস্কৃতি এই ধরনের আচরণকে প্রত্যাখ্যান করে, এবং প্রতিক্রিয়াশীল এবং দক্ষ ব্যবহারকারী সমর্থন চ্যানেল
  • সমস্ত ব্যবহারকারীর জন্য ন্যায্যতা নিশ্চিত করতে আপনার প্রত্যাহার নীতি অভিন্নভাবে পরিচালনা করুন।
  • অবাঞ্ছিত আচরণ মোকাবেলা করার সময় একটি মঞ্চস্থ নীতি তৈরি করার কথা বিবেচনা করুন। উদাহরণস্বরূপ, প্রাথমিক অপরাধের জন্য অ্যাপ-মধ্যস্থ সতর্কতা দিয়ে শুরু করুন, তারপর ব্যবহারকারীর অবাঞ্ছিত আচরণ চলতে থাকলে আপনার প্রতিক্রিয়াগুলি বাড়িয়ে দিন। শেষ অবলম্বন হিসাবে, আপনি কোনও ব্যবহারকারীকে আপনার অ্যাপের সাথে ইন্টারঅ্যাক্ট করা থেকে বিরত রাখতে পারেন।
  • যখন আপনি একটি প্রত্যাহার নীতি প্রবর্তন করেন, এবং প্রতিবার আপনি এটি আপডেট করেন, পরিবর্তনগুলি সম্পর্কে আপনার ব্যবহারকারীদের জানাতে আপনার অ্যাপের আউটরিচ চ্যানেলগুলি ব্যবহার করুন৷ এই পরিবর্তনগুলি আপনার অ্যাপে কার্যকর হওয়ার আগে আপনার ব্যবহারকারীদের স্পষ্টভাবে বুঝতে সময় দিন।
  • আপনার ব্যবহারকারীদের কাছে স্বচ্ছ হোন এবং যখনই আপনি পদক্ষেপ নেবেন, যেমন একটি অ্যাপ-মধ্যস্থ পণ্যে তাদের অ্যাক্সেস প্রত্যাহার করার সময় তাদের জানান। আদর্শভাবে, ব্যবহারকারীরা আপনার সিদ্ধান্ত নিয়ে বিতর্ক করতে সক্ষম হওয়া উচিত এবং এই ধরনের বিরোধগুলিকে ন্যায্যভাবে বিবেচনা করা উচিত।
  • ব্যবহারকারীদের কী অবাঞ্ছিত উপায়ে আচরণ করতে চালিত করে এবং কীভাবে তারা এই ধরনের আচরণ করে তা বোঝার জন্য প্রতিক্রিয়া ফর্ম এবং সম্প্রদায় ফোরামগুলি পর্যবেক্ষণ করুন৷ প্রতিরক্ষার প্রথম লাইন হিসাবে এই অন্তর্দৃষ্টিতে কাজ করুন।