Google Play Developer API-তে বিলিং ও লিঙ্ক প্রোগ্রাম থেকে ট্রানজ্যাকশন রিপোর্ট করার জন্য অতিরিক্ত কার্যকারিতা অন্তর্ভুক্ত আছে। এই নির্দেশিকা থেকে আপনি জানতে পারবেন যে কীভাবে এই বিলিং প্রোগ্রাম থেকে ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানাতে হয়।
আপনার ব্যাকএন্ড থেকে এক্সটার্নাল ট্রানজ্যাকশন ম্যানেজ করার জন্য কয়েকটি কম্পোনেন্ট প্রয়োজন হতে পারে। এগুলি তৈরি করতে, আপনাকে Google Play Developer API কনফিগার করুন লিঙ্কে দেখানো পদ্ধতি অনুযায়ী আপনার ব্যাকএন্ড ইন্টিগ্রেশন সেট-আপ করতে হবে। বিলিং ও লিঙ্ক প্রোগ্রামের জন্য নির্দিষ্ট নয় এমন ডেভেলপার ব্যাকএন্ড কার্যকারিতা তৈরি করতে, Google Play-এর বিলিং সিস্টেম দেখুন।
শব্দকোষ
এই গাইডে ব্যবহৃত শব্দ সংক্রান্ত কনভেনশন:
- বিলিং ও লিঙ্ক প্রোগ্রাম: Google Play-এর বাইরে ডিজিটাল কন্টেন্ট কেনা বা অ্যাপ ডাউনলোড করার সুবিধা প্রদানকারী প্রোগ্রাম। এর মধ্যে বিকল্প বিলিং ও এক্সটার্নাল কন্টেন্ট প্রোগ্রাম অন্তর্ভুক্ত।
- এক্সটার্নাল ট্রানজ্যাকশন API: উপযুক্ত বিলিং ও লিঙ্ক প্রোগ্রামের জন্য ট্রানজ্যাকশন রিপোর্ট করতে ব্যবহৃত API।
- এক্সটার্নাল ট্রানজ্যাকশন: বিকল্প বিলিং এবং এক্সটার্নাল কন্টেন্ট প্রোগ্রাম দ্বারা সংজ্ঞায়িত অ্যাপের বাইরে হওয়া একটি উপযুক্ত ট্রানজ্যাকশন।
- এক্সটার্নাল ট্রানজ্যাকশন টোকেন: Play Billing Library-এর মাধ্যমে আপনাকে প্রদান করা টোকেন, যা ব্যবহারকারী এক্সটার্নাল ট্রানজ্যাকশন শুরু করলে আপনি ব্যবহার করতে পারবেন। অনুমোদিত এক্সটার্নাল ট্রানজ্যাকশনের ব্যাপারে Google Play-কে বিজ্ঞপ্তি পাঠাতে এই টোকেন ব্যবহার করা হয়।
- এক্সটার্নাল ট্রানজ্যাকশন আইডি: এক্সটার্নাল ট্রানজ্যাকশন শনাক্ত করার জন্য আপনার তৈরি করা একটি অনন্য শনাক্তকারী।
Google Play-তে নতুন এক্সটার্নাল ট্রানজ্যাকশন সম্পর্কে রিপোর্ট করা
externaltransactions API-এর সাথে ইন্টিগ্রেট করুন যাতে Google Play-এর বিলিং সিস্টেমের বাইরে হওয়া ট্রানজ্যাকশন রিপোর্ট
করা যায়। এটি সেইসব দেশে প্রযোজ্য যেখানে এই সুবিধা উপলভ্য আছে। এর মধ্যে ফ্রি ট্রায়াল কেনাকাটা এবং
অ্যাপ ইনস্টল করার ফলে হওয়া $০ ট্রানজ্যাকশনও অন্তর্ভুক্ত। আপনাকে শুধুমাত্র উপযুক্ত ব্যবহারকারীর দেশগুলির জন্য বিলিং এবং লিঙ্ক
প্রোগ্রামে ট্রানজ্যাকশন শুরু ও রিপোর্ট করতে হবে, যা
বিকল্প বিলিং এবং এক্সটার্নাল কন্টেন্ট প্রোগ্রামের অধীনে অনুমোদিত; অন্যথায়, API
কল বাতিল করা হবে। নতুন কেনাকাটা, রিনিউ করা, টপ-আপ, আপগ্রেড, ডাউনগ্রেড ও অ্যাপ ডাউনলোড সহ সব ট্রানজ্যাকশনের ক্ষেত্রে এটি প্রযোজ্য।
এক্সটার্নাল ট্রানজ্যাকশন রিপোর্টিং
বিলিং ও লিঙ্ক প্রোগ্রামের মাধ্যমে পেমেন্ট অনুমোদিত হওয়ার পরে
এক্সটার্নাল ট্রানজ্যাকশন সম্পর্কে রিপোর্ট করতে আপনাকে externaltransactions API কল করতে হবে।
প্রাথমিক চার্জ, রিনিউয়াল, রিফান্ড
ও অন্যান্য সহ সব ট্রানজ্যাকশনের ক্ষেত্রে এটি প্রযোজ্য। রিপোর্টিং সংক্রান্ত প্রয়োজনীয়তার জন্য সংশ্লিষ্ট বিলিং ও লিঙ্ক প্রোগ্রামের নির্দেশিকা
দেখুন।
প্রতিটি এক্সটার্নাল ট্রানজ্যাকশন একটি এক্সটার্নাল ট্রানজ্যাকশন আইডির সাথে রিপোর্ট করা হয়। রেকারিং কেনাকাটার (যেমন অটোমেটিক রিনিউ হওয়া সাবস্ক্রিপশন) ক্ষেত্রে, রিফান্ড সহ পরবর্তী যেকোনও ট্রানজ্যাকশনের প্যারামিটার হিসেবে, রেকারিং কেনাকাটার প্রথম ট্রানজ্যাকশনের সাথে সম্পর্কিত এক্সটার্নাল ট্রানজ্যাকশন আইডি আপনাকে পাঠাতে হবে। এটি সেই কেনাকাটার জন্য ট্রানজ্যাকশনের সিরিজ রেকর্ড করে। প্রোডাক্ট পরিবর্তন হলে (যেমন, আপগ্রেড বা ডাউনগ্রেড), অথবা রেকারিং ট্রানজ্যাকশন বাতিল বা মেয়াদ শেষ হয়ে গেলে এবং একই প্রোডাক্ট পরে আবার কেনা হলে, কেনাকাটার জন্য আপনাকে নতুন এক্সটার্নাল ট্রানজ্যাকশন আইডি পাঠাতে হবে। এই এক্সটার্নাল ট্রানজ্যাকশন আইডিতে ব্যক্তিগতভাবে শনাক্তকরণযোগ্য তথ্য, মালিকানা সংক্রান্ত বা গোপনীয় তথ্য অন্তর্ভুক্ত করবেন না।
প্রাথমিক ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানানো
বিলিং ও লিঙ্ক প্রোগ্রামে প্রতিবার নতুন কেনাকাটা বা অ্যাপ ডাউনলোড অনুমোদিত হলে, আপনাকে অবশ্যই externaltransactions API কল করতে হবে।
অ্যাপ ডাউনলোড, এক-বার কেনাকাটা এবং রেকারিং কেনাকাটার (যেমন, সাবস্ক্রিপশন) ক্ষেত্রে প্রথমবার ট্রানজ্যাকশনের জন্য অনুরোধের বডির অংশ হিসেবে Google Play Billing Library-এর মাধ্যমে অ্যাপের পাওয়া externalTransactionToken প্রয়োজন। একে প্রাথমিক ট্রানজ্যাকশন বলা হয়। প্রাথমিক
ট্রানজ্যাকশনের পরে, পরবর্তী ট্রানজ্যাকশন (যেমন, সাবস্ক্রিপশন রিনিউয়াল) সম্পর্কে
নতুন অনন্য externalTransactionId প্রদান করে রিপোর্ট করুন। আরও তথ্যের জন্য, কেনাকাটার জন্য পরবর্তী ট্রানজ্যাকশন সম্পর্কে অভিযোগ করুন দেখুন।
উদাহরণ:
- কোনও ডেভেলপার তার অ্যাপে বিকল্প বিলিং কনফিগার ও চালু করেন।
- ব্যবহারকারী ১ দক্ষিণ কোরিয়াতে আছেন, এটি একটি কাজ করে এমন দেশ এবং তিনি
product1কেনার চেষ্টা করছেন, যার জন্য প্রতি মাসে ১২৬৩৪.১০ দক্ষিণ কোরিয়ান ওন দিতে হবে এবং এক মাসের ফ্রি ট্রায়াল অফার আছে। - অ্যাপটি
product1-এর জন্যProductDetailsএবং ব্যবহারকারীর বেছে নেওয়া অফারের সাথে পারচেজ ফ্লো চালু করে। - ব্যবহারকারী ১ ডেভেলপারের বিলিংয়ের বিকল্প সিস্টেম বেছে নেন।
UserChoiceBillingListener,my_tokenভ্যালুexternalTransactionTokenহিসেবে রিসিভ করে।- ডেভেলপার তখন তার ব্যাকএন্ডে প্রাসঙ্গিক তথ্য পাঠান
(
externalTransactionTokenভ্যালু এবং প্রোডাক্ট কেনা হচ্ছে)। তারপরে, তারা বিকল্প বিলিং সিস্টেমেproduct1-এর জন্য কেনাকাটার ফ্লো লঞ্চ করে। এই ট্রানজ্যাকশনের জন্য ডেভেলপার সাইডে একটি অনন্য ট্রানজ্যাকশন আইডি অ্যাসাইন করা হয়েছে যা Google Play-তে রিপোর্ট করতে ব্যবহৃত হয়: 123-456-789। ব্যবহারকারী ফ্রি ট্রায়াল পেলেও, ট্রানজ্যাকশন আইডি প্রয়োজন। - বিলিংয়ের বিকল্প সিস্টেমে কেনাকাটার জন্য ট্রানজ্যাকশন হওয়ার পরে, ডেভেলপার নিম্নলিখিত অনুরোধ সহ Google Play-তে ট্রানজ্যাকশন রিপোর্ট করেন। এটি প্রাথমিকভাবে শূন্য ডলারের ট্রানজ্যাকশন হিসেবে রিপোর্ট করা হয় কারণ ব্যবহারকারী এক মাস ফ্রি পরিষেবা পান।
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros" : "0",
"currency" : "KRW"
},
"originalTaxAmount" : {
"priceMicros" : "0",
"currency" : "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken" : "my_token",
"externalSubscription" : {
"subscriptionType" : "RECURRING"
}
},
"userTaxAddress" : {
"regionCode" : "KR"
}
}
প্রাথমিক ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানানোর সময়, নিম্নলিখিত বিষয়গুলি সম্পর্কে সচেতন থাকুন:
subscriptionTypeRECURRING(অটোমেটিক রিনিউ হওয়া সাবস্ক্রিপশনের জন্য) বাPREPAID(প্রিপেড সাবস্ক্রিপশনের জন্য) হতে পারে।OtherRecurringProductঅবশ্যই এককালীন কেনাকাটার জন্য ব্যবহার করতে হবে যার জন্য একাধিক পেমেন্ট বা দেরিতে পেমেন্ট করতে হবে। যেমন, কোনও প্রি-অর্ডারের ক্ষেত্রে প্রথমে $০ ট্রানজ্যাকশন হতে পারে এবং পরে প্রি-অর্ডার সম্পূর্ণ হলে SKU-এর দামের জন্য দ্বিতীয় ট্রানজ্যাকশন হতে পারে। পরবর্তী ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানানোর ব্যাপারে আরও জানতে, কেনাকাটার জন্য পরবর্তী ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানান দেখুন।- প্রাথমিক এক্সটার্নাল অফার ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানানোর সময় আপনাকে
ExternalOfferDetailsঅবশ্যই দিতে হবে। পরবর্তী ট্রানজ্যাকশনের জন্য এটি করার প্রয়োজন নেই।
আপনি যদি ভারতের কোনও ব্যবহারকারীর সাথে ট্রানজ্যাকশন করেন, যেখানে ট্যাক্স তার প্রশাসনিক এলাকার (যেমন রাজ্য বা প্রদেশ) উপর নির্ভর করে, তাহলে সেই এলাকাটি
userTaxAddress-এর অধীনে অন্তর্ভুক্ত করুন। প্রযোজ্য প্রশাসনিক এলাকার জন্য API রেফারেন্স গাইডে
স্ট্রিংয়ের পূর্বনির্ধারিত তালিকা দেখুন।
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros" : "0",
"currency" : "INR"
},
"originalTaxAmount" : {
"priceMicros" : "0",
"currency" : "INR"
},
"transactionTime" : "2023-11-01T12:45:00Z",
"recurringTransaction" : {
"externalTransactionToken" : "my_token",
"externalSubscription" : {
"subscriptionType" : "RECURRING"
}
},
"userTaxAddress" : {
# Tax varies in India based on state, so include that information in
# administrativeArea
"regionCode" : "IN",
"administrativeArea" : "KERALA"
}
}
এক্সটার্নাল অফার
যে ট্রানজ্যাকশনের বিষয়ে অভিযোগ জানানো হচ্ছে সেটি এক্সটার্নাল অফার প্রোগ্রামের অধীনে হলে, সেটি যদি এককালীন
ট্রানজ্যাকশন হয় অথবা রেকারিং সিরিজের প্রথম ট্রানজ্যাকশন হয়, তাহলে আপনাকে অবশ্যই externalOfferDetails ফিল্ড সেট করতে হবে:
- অ্যাপ ডাউনলোড ট্রানজ্যাকশন রিপোর্ট করার সময়,
linkType-এর ভ্যালুLINK_TO_APP_DOWNLOADহিসেবে সেট করুন এবংinstalledAppPackageওinstalledAppCategory-এর জন্য উপযুক্ত ভ্যালু প্রদান করুন। অ্যাপ ডাউনলোড সম্পর্কে অভিযোগ জানান লিঙ্কটি দেখুন। - ডিজিটাল কন্টেন্ট অফার ট্রানজ্যাকশন রিপোর্ট করার সময়,
linkType-কেLINK_TO_DIGITAL_CONTENT_OFFER-এ সেট করুন। - এক্সটার্নাল অফার প্রোগ্রামের মাধ্যমে কোনও এক্সটার্নাল অ্যাপ ইনস্টল করার পরে, আপনাকে
অবশ্যই এক্সটার্নাল অ্যাপে করা ট্রানজ্যাকশনের ব্যাপারে রিপোর্ট করতে হবে। এই
ট্রানজ্যাকশনের ব্যাপারে রিপোর্ট করার সময়, এই ট্রানজ্যাকশনগুলিকে আসল অ্যাপ ডাউনলোড ইভেন্টের সাথে লিঙ্ক করুন:
- অ্যাপ ডাউনলোড ইভেন্ট থেকে
externalTransactionTokenপ্রদান করুন। externalOfferDetailsফিল্ডে,appDownloadEventExternalTransactionId-কে অ্যাপ ডাউনলোড ইভেন্টেরexternalTransactionId-এ সেট করুন।externalOfferDetails-এর অন্যান্য ফিল্ডের প্রয়োজন নেই।
- অ্যাপ ডাউনলোড ইভেন্ট থেকে
এক্সটার্নাল অফারের মাধ্যমে ডাউনলোড করা এক্সটার্নাল অ্যাপে ট্রানজ্যাকশনের জন্য অনুরোধের উদাহরণ:
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=ABC-DEF-GHI
Body
{
"originalPreTaxAmount" : {
"priceMicros" : "990000", # 0.99 EUR
"currency" : "EUR"
},
"originalTaxAmount" : {
"priceMicros" : "90000", # 0.09 EUR
"currency" : "EUR"
},
"transactionTime" : "2025-11-22T12:45:00Z",
"oneTimeTransaction" : {
"externalTransactionToken" : "my_external_transaction_token_for_link_to_download_event"
},
"userTaxAddress" : {
"regionCode" : "DE"
},
"externalOfferDetails" : {
"appDownloadEventExternalTransactionId" : "my_external_transaction_id_for_link_to_download_event"
}
}
বিভিন্ন ধরনের ট্রানজ্যাকশনের জন্য আপডেট করা Play পরিষেবা ফিয়ের বিবরণ ইউরোপীয় অর্থনৈতিক অঞ্চল (EEA)-এর ব্যবহারকারীদের জন্য এক্সটার্নাল অফার প্রোগ্রামে করা পরিবর্তন থেকে পাওয়া যাবে।
কোনও কেনাকাটার জন্য পরবর্তী ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানানো
কিছু ক্ষেত্রে, একই এক্সটার্নাল কেনাকাটার সাথে একাধিক ব্যবহারকারীর পেমেন্ট যুক্ত থাকে, যেমন সাবস্ক্রিপশন রিনিউ করা বা প্রিপেড প্ল্যান টপ-আপ করা।
আপনি Externaltransactions-এ একই API ব্যবহার করে এইসব পরবর্তী ট্রানজ্যাকশন সম্পর্কে অভিযোগ জানাতে পারবেন। নতুন কেনাকাটার ব্যাপারে অভিযোগ জানান বিভাগে যেমন বর্ণনা করা হয়েছে, পরবর্তী ট্রানজ্যাকশনের জন্য
externalTransactionToken-এর প্রয়োজন নেই। পরিবর্তে,
প্রতিটি রিনিউয়াল বা টপ-আপ ট্রানজ্যাকশনের জন্য কোয়েরি প্যারামিটার হিসেবে একটি নতুন অনন্য externalTransactionId পাঠানো হয়, যার সাথে initialExternalTransactionId ফিল্ডে প্রাথমিক ট্রানজ্যাকশনের আইডি অন্তর্ভুক্ত থাকে।
আগের উদাহরণ অনুযায়ী:
- ব্যবহারকারী ১-এর প্রথম রিনিউয়াল বিলিংয়ের বিকল্প সিস্টেমে হয়। প্রাথমিক ট্রানজ্যাকশন আইডি ছিল ১২৩-৪৫৬-৭৮৯।
- ডেভেলপার URL কোয়েরি প্যারামিটারে ট্রানজ্যাকশনের পুনরাবৃত্তি রিপোর্ট করেন
এই নতুন ট্রানজ্যাকশনের জন্য এক্সটার্নাল ট্রানজ্যাকশন আইডি হিসেবে, যেখানে প্রাথমিক ট্রানজ্যাকশনের এক্সটার্নাল ট্রানজ্যাকশন আইডি
initialExternalTransactionIdফিল্ডে উল্লেখ করা হয়।
অনুরোধের উদাহরণ:
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
"originalPreTaxAmount" : {
"priceMicros" : "12634000000", # 12634 KRW
"currency" : "KRW"
},
"originalTaxAmount" : {
"priceMicros" : "1263000000", # 1263 KRW
"currency" : "KRW"
},
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"initialExternalTransactionId" : "123-456-789",
"externalSubscription" : {
"subscriptionType" : "RECURRING"
}
},
"userTaxAddress" : {
"regionCode" : "KR"
}
}
আপগ্রেড বা ডাউনগ্রেড করার ব্যাপারে অভিযোগ জানানো
ব্যবহারকারী বিকল্প বিলিং সিস্টেমে সাবস্ক্রিপশন নিলে, আপগ্রেড বা ডাউনগ্রেড সম্পর্কে রিপোর্ট করতে, আপনি Externaltransactions API-তে একই এন্ডপয়েন্ট ও ফাংশন ব্যবহার করেন এবং আপগ্রেড বা ডাউনগ্রেড ট্রানজ্যাকশনের জন্য অ্যাপে প্রদান করা externalTransactionToken পাঠান। এটি নতুন কেনাকাটার বিষয়ে অভিযোগ জানানোর মতো
একইভাবে কাজ করে।
অ্যাপ ডাউনলোড সম্পর্কে অভিযোগ জানানো
এক্সটার্নাল অফার বিলিং সিস্টেমে অ্যাপ ইনস্টল করার বিষয়ে রিপোর্ট করতে, আপনাকে
Externaltransactions.createexternaltransaction কল করতে হবে এবং অ্যাপে প্রদান করা
externalTransactionToken পাঠাতে হবে। এটি
জিরো-কস্ট, এককালীন ট্রানজ্যাকশন হিসেবে রিপোর্ট করুন; এই প্রসেসটি প্রাথমিক ট্রানজ্যাকশন
রিপোর্ট করার মতোই। অনুরোধের বডিতে ExternalOfferDetails অন্তর্ভুক্ত করতে
ভুলবেন না।
অনুরোধের উদাহরণ:
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=123-456-789
Body
{
"originalPreTaxAmount" : {
"priceMicros" : "0",
"currency" : "USD"
},
"originalTaxAmount" : {
"priceMicros" : "0",
"currency" : "USD"
},
"transactionTime" : "2025-12-22T12:45:00Z",
"oneTimeTransaction" : {
"externalTransactionToken" : "my_token",
},
"userTaxAddress" : {
"regionCode" : "US"
},
"externalOfferDetails" : {
"linkType" : "LINK_TO_APP_DOWNLOAD",
"installedAppPackage" : "my.external.app",
"installedAppCategory" : "APP"
}
}
বিলিং ট্রানজ্যাকশনের বিকল্পের ম্যানুয়াল রিপোর্টিং থেকে মাইগ্রেট করা
অটোমেটিক রিপোর্টিং ছাড়া বিকল্প
বিলিং অফার করার সময় চালু হওয়া অ্যাক্টিভ সাবস্ক্রিপশন মাইগ্রেট করতে, initialExternalTransactionId বা externalTransactionToken উল্লেখ করার পরিবর্তে migratedTransactionProgram ফিল্ড ব্যবহার করে নতুন জিরো-কস্ট ট্রানজ্যাকশন তৈরি করুন। প্রতিটি অ্যাক্টিভ সাবস্ক্রিপশনের জন্য ব্যবহারকারী প্রাথমিকভাবে সাইন-আপ করার সময়
transactionTime সেট করুন। এর পরে, API-এর মাধ্যমে এইসব
সাবস্ক্রিপশনের প্রতিটি পরবর্তী ট্রানজ্যাকশনের রিপোর্ট স্বাভাবিকভাবে জমা দিন, রিনিউয়াল ট্রানজ্যাকশন তৈরি করার জন্য
initialExternalTransactionId আগে ব্যবহার করা হয়েছে সেটি প্রদান করুন।
সাবস্ক্রিপশন মাইগ্রেট করা হয়ে গেলে, আপনাকে আর সাবস্ক্রিপশনের পরবর্তী ট্রানজ্যাকশন
ম্যানুয়ালি রিপোর্ট করতে হবে না, তবে এই পৃষ্ঠায় বর্ণিত অটোমেটেড পদ্ধতির মাধ্যমে
সেগুলি রিপোর্ট করা হচ্ছে কিনা তা নিশ্চিত করতে হবে।
সাবস্ক্রিপশন মাইগ্রেট করার সময়, মাইগ্রেশন যাতে কোটা আউটএজ না ঘটায় তা যাচাই করতে প্রযোজ্য কোটা সীমা সম্পর্কে সচেতন থাকুন। অনেক সাবস্ক্রিপশন মাইগ্রেট করতে হলে, সেগুলি একাধিক দিন ধরে মাইগ্রেট করুন অথবা কোটা বাড়ানোর অনুরোধ করুন।
migratedTransactionProgram ফিল্ডটি শুধুমাত্র ম্যানুয়াল রিপোর্টিং থেকে মাইগ্রেট করার সময় ব্যবহার করা যেতে পারে। ম্যানুয়াল রিপোর্টিং আর কাজ না করলে এটি বন্ধ করে দেওয়া হবে।
অনুরোধের উদাহরণ:
# Note that the externalTransactionId specified here will used to report
# subsequent transactions.
POST /androidpublisher/v3/applications/com.myapp.android/externalTransactions?externalTransactionId=abc-def-ghi
Body
{
# Be sure to set the price to 0 for this transaction since it does not reflect
# an actual subscription renewal.
"originalPreTaxAmount" : {
"priceMicros" : "0",
"currency" : "KRW"
},
"originalTaxAmount" : {
"priceMicros" : "0",
"currency" : "KRW"
},
# The transaction time should be set to when the user signed up for this
# subscription.
"transactionTime" : "2022-02-22T12:45:00Z",
"recurringTransaction" : {
"migratedTransactionProgram" : "USER_CHOICE_BILLING",
"externalSubscription" : {
"subscriptionType" : "RECURRING"
}
},
"userTaxAddress" : {
"regionCode" : "KR"
}
}
Play পার্টনার প্রোগ্রামের জন্য প্রয়োজনীয়তা
Play Media Experience
প্রোগ্রাম-এর মতো পার্টনার প্রোগ্রামে অংশগ্রহণকারী ডেভেলপারদের এক্সটার্নাল
ট্রানজ্যাকশন রিপোর্ট করার সময়
transaction_program_code প্রদান করতে হবে। আপনি উপযুক্ত ডেভেলপার হলে, এই ফিল্ড কীভাবে সেট করবেন সেই বিষয়ে আরও তথ্য পেতে, আপনার বিজনেস
ডেভেলপমেন্ট ম্যানেজারের সাথে যোগাযোগ করুন।
Google Play-তে কেনাকাটার রিফান্ড সম্পর্কে অভিযোগ জানানো
Google Play-এর বিলিং সিস্টেমের বাইরে ব্যবহারকারীদের রিফান্ড করা ট্রানজ্যাকশনের রিপোর্ট করতে externaltransactions API-এর সাথে ইন্টিগ্রেট করুন। কোন
ট্রানজ্যাকশনের রিফান্ড করা হয়েছে তা Play-কে সঠিকভাবে শনাক্ত করতে, আপনাকে সংশ্লিষ্ট
externalTransactionId কে URL প্যারামিটারের
অংশ হিসেবে আগে রিপোর্ট করা ট্রানজ্যাকশনের জন্য অন্তর্ভুক্ত করতে হবে।
সাবস্ক্রিপশন কেনাকাটার রিফান্ড সম্পর্কে অভিযোগ করার সময়, যে সাবস্ক্রিপশন রিফান্ড করা হচ্ছে,
তার নির্দিষ্ট পুনরাবৃত্তির
externalTransactionId উল্লেখ করুন।
উদাহরণ: ধরা যাক, কোনও সাবস্ক্রিপশনে নিম্নলিখিত ট্রানজ্যাকশনগুলি রয়েছে:
এক্সটার্নাল ট্রানজ্যাকশন আইডি ABC.1234-5678-9012-34567 সহ একটি প্রাথমিক ট্রানজ্যাকশন
এক্সটার্নাল ট্রানজ্যাকশন আইডি সহ প্রথম রেকারিং ট্রানজ্যাকশন ABC.1234-5678-9012-34567..0
এক্সটার্নাল ট্রানজ্যাকশন আইডি সহ দ্বিতীয় রেকারিং ট্রানজ্যাকশন ABC.1234-5678-9012-34567..1
সাবস্ক্রিপশনের জন্য সব ট্রানজ্যাকশনের রিফান্ড সংক্রান্ত অভিযোগ জানাতে, আপনাকে তিনটি আলাদা রিফান্ডের অনুরোধ করতে হবে: একটি প্রাথমিক ট্রানজ্যাকশনের জন্য এবং দুটি পরবর্তী ট্রানজ্যাকশনের জন্য।
এই পদ্ধতিতে সম্পূর্ণ রিফান্ড (যেখানে পরিমাণটি হল সেই একই পরিমাণ যা ব্যবহারকারী আসল এক্সটার্নাল ট্রানজ্যাকশনে পেমেন্ট করেছেন) এবং আংশিক রিফান্ড (যেখানে পরিমাণটি হল সেই পরিমাণের থেকে ছোট যা ব্যবহারকারী আসল এক্সটার্নাল ট্রানজ্যাকশনে পেমেন্ট করেছেন) গ্রহণ করা হয়। আংশিক রিফান্ডের ক্ষেত্রে, আপনাকে ট্যাক্স-পূর্ববর্তী রিফান্ড করা অর্থের পরিমাণ উল্লেখ করতে হবে।
API কোটা
Google Play Developer API-এর অন্যান্য এন্ডপয়েন্টের মতোই Externaltransactions API-এর সব কলের ক্ষেত্রে API কোটা প্রযোজ্য।
এছাড়াও, Externaltransactions API-তে Externaltransactions.createexternaltransaction বা
Externaltransactions.refundexternaltransaction-এ কল করার ক্ষেত্রে প্রতি মিনিটে ১,২০০টি কোয়েরি
(QPM) করার সীমা আছে। Externaltransactions.getexternaltransaction-এ করা কল
এই ১,২০০ QPM সীমার মধ্যে
গণনা করা হয় না।