আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
ভূমিকা
মনিটাইজেশন আপনাকে 'ক্রয় লেনদেন'-এর জন্য ডেভেলপারদের অর্থ ফেরত দেওয়ার সুযোগ দেয়। ধরুন, আপনি একজন মোবাইল অপারেটর এবং আপনি ডেভেলপারদের একটি পেমেন্ট এপিআই (API) অফার করেন, যার মাধ্যমে মোবাইল সাবস্ক্রাইবাররা কোনো অ্যাপ্লিকেশন বা তার ভেতরের কন্টেন্ট কেনার জন্য চার্জ করতে পারে। প্রতিবার যখন কোনো সাবস্ক্রাইবার এপিআই ব্যবহার করে কিছু কেনেন, সেটি একটি ক্রয় লেনদেন হিসেবে গণ্য হয়।
ক্রয় লেনদেনের ফলে অর্থ ফেরত দেওয়া হতে পারে। উদাহরণস্বরূপ, কন্টেন্টটি সরবরাহ করা নাও হতে পারে, অথবা তৃতীয় পক্ষ অন্য কোনো কারণে ক্রয়টি নিয়ে অসন্তুষ্ট হতে পারে। এইসব ক্ষেত্রে, ডেভেলপার তৃতীয় পক্ষকে অর্থ ফেরত দিয়ে থাকে। মনিটাইজেশন আপনাকেও অনুরূপ অর্থ ফেরত দেওয়ার সুযোগ দেয়। এটি বিশেষত রেভিনিউ শেয়ার প্ল্যানের ক্ষেত্রে প্রাসঙ্গিক।
ধরুন, যে ডেভেলপার মোবাইল গ্রাহককে রিফান্ড দিয়েছেন, তিনি আপনার এপিআই প্রোডাক্টের জন্য একটি রেভিনিউ শেয়ার প্ল্যান কিনেছিলেন। ধরা যাক, প্ল্যান অনুযায়ী ডেভেলপার ক্রয় লেনদেনের মোট মূল্যের ৭০% পাবেন। রিফান্ড পোস্ট করার মাধ্যমে, আপনি কার্যত ক্রয় লেনদেনটি বাতিল করে দেন, অর্থাৎ, যে মাসে রিফান্ডটি প্রয়োগ করা হয়েছে, সেই মাসের জন্য ডেভেলপারকে প্রদেয় অর্থ থেকে আপনি ৭০% কেটে নেন (মাসটি প্রকৃত ক্রয় লেনদেন সংঘটিত হওয়ার মাস থেকে ভিন্ন হতে পারে)।
ক্লাসিক এজ UI ব্যবহার করে রিফান্ড পোস্ট করা (শুধুমাত্র এজ ফর প্রাইভেট ক্লাউডের জন্য)
আপনি যেকোনো 'সফল' ক্রয় লেনদেনের জন্য রিফান্ড পোস্ট করতে পারেন, অর্থাৎ, যেখানে এপিআই সফলভাবে তৃতীয় পক্ষকে চার্জ করেছে এবং যার জন্য আপনি ইতিমধ্যে সম্পূর্ণ রিফান্ড জারি করেননি। রিফান্ড পোস্ট করার ফলে একটি প্যারেন্ট ট্রানজ্যাকশন আইডি সহ একটি রিফান্ড ট্রানজ্যাকশন তৈরি হয়, যেখানে ট্রানজ্যাকশন আইডিটি হলো ক্রয় লেনদেনটির আইডি।
আপনি মূল ক্রয় লেনদেনের সম্পূর্ণ বা আংশিক অর্থের জন্য রিফান্ড পোস্ট করতে পারেন। আপনি একাধিক আংশিক রিফান্ডও পোস্ট করতে পারেন, কিন্তু রিফান্ডগুলোর মোট পরিমাণ মূল ক্রয় মূল্যের চেয়ে বেশি হতে পারবে না।
রিফান্ড পোস্ট করতে:
- মনিটাইজেশন ট্যাবে, রিফান্ড নির্বাচন করুন।

এটি রিফান্ড পৃষ্ঠাটি খোলে।

- বিলিং মাস ড্রপ-ডাউন মেনু থেকে, যে মাসে ক্রয়ের লেনদেনটি হয়েছিল সেই মাসটি নির্বাচন করুন। তারপর + রিফান্ড-এ ক্লিক করুন।
এটি নির্বাচিত মাসের সকল সফল ক্রয় লেনদেনের একটি তালিকা প্রদর্শন করে।

আপনি ডেভেলপারের নাম দিয়ে অথবা প্রকৃত লেনদেনটি অনুসন্ধান করে রিফান্ড তালিকাটি ফিল্টার করতে পারেন।
ডেভেলপার অনুযায়ী ফিল্টার করতে, ডেভেলপার ড্রপ-ডাউন মেনু থেকে ডেভেলপারকে নির্বাচন করুন। এতে শুধুমাত্র নির্বাচিত ডেভেলপারের সাথে সম্পর্কিত লেনদেনগুলোর একটি তালিকা প্রদর্শিত হবে।

ট্রানজ্যাকশন আইডি দ্বারা ফিল্টার করতে, যে মূল ক্রয়টি আপনি ফেরত দিতে চান তার ট্রানজ্যাকশন আইডিটি লিখুন। এটি সেই আইডির ট্রানজ্যাকশনটি দেখাবে।

- যে লেনদেনগুলো আপনি ফেরত দিতে চান, সেগুলোর জন্য নির্দিষ্ট সারিতে থাকা সিলেক্ট বক্সে টিক দিন।
- টাইপ ড্রপ-ডাউন মেনু থেকে টোটাল অথবা পার্শিয়াল নির্বাচন করুন।
আপনি ‘মোট’ নির্বাচন করলে, ক্রয়ের সম্পূর্ণ অর্থ ফেরত দেওয়া হবে। আপনি ‘আংশিক’ নির্বাচন করলে, ক্রয়ের আংশিক অর্থ ফেরত দেওয়া হবে।
আপনি যদি 'আংশিক' নির্বাচন করেন, তাহলে 'পরিমাণ' ফিল্ডে আংশিক রিফান্ডের পরিমাণ লিখুন। আপনি শুধুমাত্র ক্রয়ের মোট পরিমাণ পর্যন্ত রিফান্ড করতে পারবেন। আপনি যদি ইতিমধ্যেই একটি আংশিক রিফান্ড পোস্ট করে থাকেন, তাহলে আপনি শুধুমাত্র ক্রয়ের অবশিষ্ট পরিমাণ পর্যন্ত অর্থ লিখতে পারবেন। এছাড়াও, যদি মূল ক্রয় লেনদেনে মোট এবং নিট উভয় মূল্য থাকে, তাহলে আপনি যে আংশিক পরিমাণ রিফান্ড করতে চান তা মোট নাকি নিট, সেটাও আপনাকে উল্লেখ করতে হবে।

- রিফান্ড প্রক্রিয়া করতে সেভ-এ ক্লিক করুন (অথবা বাতিল করতে ক্যানসেল-এ ক্লিক করুন)।
বিলিং মাসটি খোলা থাকলে রিফান্ডটি মূল ক্রয়ের মাসেই জমা করা হয়, অন্যথায় রিফান্ডটি বর্তমান তারিখে জমা করা হয়।
আংশিক রিফান্ডের ক্ষেত্রে, আংশিক অর্থের জন্য রিফান্ড প্রক্রিয়া করা হয় এবং সম্পূর্ণ অর্থের উপর আংশিক অর্থের অনুপাতে যেকোনো রাজস্ব অংশ কেটে নেওয়া হয়। উপরের আংশিক রিফান্ডের উদাহরণে, আংশিক অর্থ হলো মোট মূল্যের ০.৫০/১.১২ = ৪৫%, সুতরাং ডেভেলপারের রাজস্ব অংশের ৪৫% কেটে নেওয়া হবে।
UI-তে চেক করা হচ্ছে যে রিফান্ড প্রসেস করা হয়েছে কিনা।
রিফান্ড পেজের উপরের দিকে বিলিং মাস নির্বাচন করে আপনি জানতে পারবেন কোনো রিফান্ড প্রক্রিয়া করা হয়েছে কিনা। বিলিং মাসটি খোলা থাকলে এটি ক্রয়ের মাস, অথবা মাসটি বন্ধ থাকলে এটি চলতি মাস। এতে সেই মাসে পোস্ট করা সমস্ত রিফান্ডের একটি তালিকা প্রদর্শিত হয়।
এপিআই ব্যবহার করে রিফান্ড পোস্ট করা
রিফান্ড পোস্ট করতে, /organizations/{org_name}/monetization-packages/{package_id}/refund-transactions -এ একটি POST রিকোয়েস্ট পাঠান, যেখানে {package_id} হলো সেই API প্যাকেজের শনাক্তকারী যার জন্য রিফান্ডটি প্রযোজ্য।
অনুরোধটি করার সময়, আপনাকে কোয়েরি প্যারামিটার হিসেবে নির্দিষ্ট করতে হবে:
- যে ক্রয় লেনদেনটির অর্থ ফেরত দেওয়া হচ্ছে, তার শনাক্তকরণ।
- ক্রয় লেনদেনের রাজস্বের ধরণ (
GROSSবাNET)। - ফেরতের পরিমাণ।
- অর্থ ফেরতের কারণ বর্ণনা করে একটি নোট।
ঐচ্ছিকভাবে, আপনি একটি URL প্যারামিটার হিসেবে এমন একটি API প্যাকেজ নির্দিষ্ট করতে পারেন, যার উপর রিফান্ডটি প্রযোজ্য হবে।
রিফান্ড অনুরোধে আপনি যে সমস্ত URL প্যারামিটার উল্লেখ করতে পারেন, তার সম্পূর্ণ তালিকার জন্য রিফান্ড কনফিগারেশন সেটিংস দেখুন।
উদাহরণস্বরূপ, নিম্নলিখিত অনুরোধটি একটি ক্রয় লেনদেনের জন্য অর্থ ফেরত প্রদান করে। ফেরতের পরিমাণ হলো ক্রয় লেনদেনের মোট পরিমাণের ৫০%।
$ curl -H "Content-Type:application/json" -X POST \
"https://api.enterprise.apigee.com/v1/mint/organizations/{org_name}/monetization-packages/payment/refund-transactions?revenueType=GROSS&refundAmount=0.5&parentTxId=abf50909-2492-4bf5-8704-ade05f4d43b3&transactionNote=Refund for purchase transaction" \
-u email:password
প্রতিক্রিয়াটি দেখতে অনেকটা এইরকম হবে (প্রতিক্রিয়াটির কেবল একটি অংশ দেখানো হয়েছে):
{ "application" : { ... }, "product" : [ { ... { "customAtt1Name" : "user", "description" : "Payment", "displayName" : "Payment", "id" : "payment", "name" : "payment", "organization" : { ... }, "status" : "CREATED", "transactionSuccessCriteria" : "Status=='200 OK'" } ], ... }, "currency" : "USD", "developer" : { ... "legalName" : "DEV ONE", "name" : "Dev One", "organization" : { ... }, ... }, "endTime" : "2013-09-01 21:59:59", "environment" : "PROD", "euroExchangeRate" : 0.8123, "gbpExchangeRate" : 0.6910, "grossPrice" : 0.5, "id" : "61f7eb88-f8cc-4cda-afd8-4a61fba3dd33", "isRevOnGrossOrNet" : "NET", "isVirtualCurrency" : false, "notes" : "Refund for purchase transaction", "itemDesc" : "test application", "netPrice" : 0.4464, "orgRevenueShareAmount" : 0.1339, "parentId" : "abf50909-2492-4bf5-8704-ade05f4d43b3", "pkgId" : "myorg@@@payment", "pkgRatePlanProductName" : "Payment", ... }, "ratePlanLevel" : "STANDARD", "revenueShareAmount" : 0.3125, "startTime" : "2013-09-01 21:59:59", "status" : "SUCCESS", "tax" : 0.0536, "taxModel" : "UNDISCLOSED", "txProviderStatus" : "SUCCESS", "type" : "REFUND", "usdExchangeRate" : 1.0724, "utcEndTime" : "2013-09-01 21:59:59", "utcStartTime" : "2013-09-01 21:59:59" }
এপিআই-এর জন্য রিফান্ড কনফিগারেশন সেটিংস
রিফান্ড অনুরোধে নিম্নলিখিত কোয়েরি প্যারামিটারগুলো নির্দিষ্ট করা যেতে পারে:
| নাম | বর্ণনা | ডিফল্ট | প্রয়োজন? |
|---|---|---|---|
monetizationPackageId | যে এপিআই প্যাকেজটির জন্য রিফান্ড প্রযোজ্য। | প্রযোজ্য নয় | না |
parentTxId | ক্রয় লেনদেনটি ফেরত দেওয়া হবে। | প্রযোজ্য নয় | হ্যাঁ |
revenueType | ক্রয় লেনদেনের রাজস্বের ধরণ ( | প্রযোজ্য নয় | হ্যাঁ |
refundAmount | ফেরতের পরিমাণ। | প্রযোজ্য নয় | হ্যাঁ |
transactionNote | একটি লিখিত বার্তা, যেখানে অর্থ ফেরতের কারণ বর্ণনা করা হয়েছে। | প্রযোজ্য নয় | হ্যাঁ |
পরবর্তী পদক্ষেপ
"Schedule monetization jobs" থেকে জানুন কীভাবে মনিটাইজেশন-সম্পর্কিত জব শিডিউল করতে হয় এবং কোন জবগুলো স্বয়ংক্রিয়ভাবে শিডিউল হয়।