রিফান্ড পোস্ট করা

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

ভূমিকা

মনিটাইজেশন আপনাকে "কেনাকাটা সংক্রান্ত ট্রানজ্যাকশন" বাবদ ডেভেলপারদের রিফান্ড পোস্ট করার অনুমতি দেয়। ধরা যাক, আপনি একজন মোবাইল অপারেটর এবং আপনি ডেভেলপারদের একটি পেমেন্ট API অফার করেন যার মাধ্যমে তারা মোবাইল সাবস্ক্রাইবারদের থেকে অ্যাপ্লিকেশনের মধ্যে অ্যাপ্লিকেশন বা কন্টেন্ট কেনার জন্য চার্জ করতে পারেন। সাবস্ক্রাইবার প্রতিবার API ব্যবহার করে কিছু কিনলে, সেটি একটি কেনাকাটা সংক্রান্ত ট্রানজ্যাকশন হিসেবে গণ্য হয়।

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

মনে করুন, মোবাইল সাবস্ক্রাইবারকে রিফান্ড প্রদানকারী ডেভেলপার আপনার API প্রোডাক্টের জন্য উপার্জনের শেয়ার প্ল্যান কিনেছেন। ধরে নিন, প্ল্যানে বলা হয়েছে যে ডেভেলপার কেনাকাটা ট্রানজ্যাকশনের মোট/নিট মূল্যের ৭০% পাবেন। রিফান্ড পোস্ট করার মাধ্যমে, আপনি আসলে কেনাকাটার ট্রানজ্যাকশনটি রিভার্স করেন, অর্থাৎ, রিফান্ড প্রয়োগ করা হয়েছে এমন মাসের জন্য ডেভেলপারকে পেমেন্ট করার সময় আপনি ৭০% কেটে নেন (যে মাসে আসল কেনাকাটার ট্রানজ্যাকশন হয়েছে, সেই মাসটি আলাদা হতে পারে)।

ক্লাসিক Edge UI ব্যবহার করে রিফান্ড পোস্ট করা (শুধুমাত্র প্রাইভেট ক্লাউডের জন্য Edge)

আপনি যেকোনও "সফল" কেনাকাটা ট্রানজ্যাকশনের জন্য রিফান্ড পোস্ট করতে পারবেন, অর্থাৎ, যেখানে API সফলভাবে থার্ড-পার্টিকে চার্জ করেছে এবং যার জন্য আপনি এখনও সম্পূর্ণ রিফান্ড ইস্যু করেননি। রিফান্ড পোস্ট করলে, একটি মূল ট্রানজ্যাকশন আইডি সহ রিফান্ড ট্রানজ্যাকশন তৈরি হয়, যেখানে ট্রানজ্যাকশন আইডি হল কেনাকাটা সংক্রান্ত ট্রানজ্যাকশনের আইডি।

আপনি আসল কেনাকাটার ট্রানজ্যাকশনের সম্পূর্ণ অর্থরাশি বা আংশিক অর্থরাশি রিফান্ড করতে পারেন। এছাড়াও, আপনি একাধিক আংশিক রিফান্ড পোস্ট করতে পারেন, তবে রিফান্ডের মোট পরিমাণ মূল কেনাকাটার পরিমাণের চেয়ে বেশি হতে পারে না।

রিফান্ড পোস্ট করতে:

  1. 'মনিটাইজেশন' ট্যাবে গিয়ে 'রিফান্ড' বিকল্প বেছে নিন।

    এটি রিফান্ড পৃষ্ঠা খুলে দেয়।

  2. বিলিং মাস ড্রপ-ডাউন মেনু থেকে, সেই মাসটি বেছে নিন যেটিতে কেনাকাটার ট্রানজ্যাকশন হয়েছিল। তারপর 'রিফান্ড' বিকল্পে ক্লিক করুন।

    এটি বেছে নেওয়া মাসের জন্য সফলভাবে সম্পন্ন হওয়া কেনাকাটার ট্রানজ্যাকশনের একটি তালিকা দেখায়।

    আপনি ডেভেলপারের নাম দিয়ে রিফান্ডের তালিকা ফিল্টার করতে পারেন অথবা আসল ট্রানজ্যাকশন সার্চ করতে পারেন।

    ডেভেলপার অনুযায়ী ফিল্টার করতে, ডেভেলপার ড্রপ-ডাউন মেনু থেকে ডেভেলপার বেছে নিন। এটি শুধুমাত্র বেছে নেওয়া ডেভেলপার সম্পর্কিত ট্রানজ্যাকশনের একটি তালিকা দেখায়।

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

  3. আপনি যে ট্রানজ্যাকশনের রিফান্ড করতে চান, সেই সারিতে 'বেছে নিন' বক্সে টিকচিহ্ন দিন।
  4. 'টাইপ' ড্রপডাউন মেনু থেকে 'সম্পূর্ণ' বা 'আংশিক' বিকল্প বেছে নিন।

    আপনি 'মোট' বিকল্প বেছে নিলে, কেনাকাটার মোট পরিমাণ রিফান্ড করা হবে। আপনি আংশিক বিকল্প বেছে নিলে, কেনাকাটার আংশিক টাকা রিফান্ড করা হবে।

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

  5. রিফান্ড প্রসেস করতে 'সেভ করুন' বিকল্পে ক্লিক করুন (অথবা বাতিল করতে 'বাতিল করুন' বিকল্পে ক্লিক করুন)।

    বিলিং মাস এখনও খোলা থাকলে, রিফান্ডটি মূল কেনাকাটার মাসে পোস্ট করা হয়, অন্যথায় রিফান্ডটি বর্তমান তারিখে পোস্ট করা হয়।

    আংশিক রিফান্ডের ক্ষেত্রে, আংশিক অর্থের জন্য রিফান্ড প্রসেস করা হয় এবং মোট অর্থের তুলনায় আংশিক অর্থের অনুপাতের ভিত্তিতে উপার্জনের ভাগ বাদ দেওয়া হয়। উপরের আংশিক রিফান্ডের উদাহরণে, আংশিক পরিমাণ হল ০.৫০/১.১২ = গ্রস দামের ৪৫%, তাই ডেভেলপারের উপার্জনের শেয়ারের ৪৫% কেটে নেওয়া হবে।

UI-তে রিফান্ড প্রসেস করা হয়েছে কিনা তা চেক করা

রিফান্ড প্রসেস করা হয়েছে কিনা তা নির্ধারণ করতে, রিফান্ড পৃষ্ঠার উপরে বিলিং মাস বেছে নিন। বিলিং মাস এখনও খোলা থাকলে এটি হল কেনাকাটার মাস অথবা বিলিং মাস বন্ধ হয়ে গেলে এটি হল বর্তমান মাস। এটি সেইসব রিফান্ডের তালিকা দেখায় যেগুলি মাসে পোস্ট করা হয়েছে।

API ব্যবহার করে রিফান্ড পোস্ট করা

রিফান্ড পোস্ট করতে, /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"
}

API-এর জন্য রিফান্ড কনফিগারেশন সেটিংস

রিফান্ডের অনুরোধে নিম্নলিখিত কোয়েরি প্যারামিটার নির্দিষ্ট করা যেতে পারে:

নাম বিবরণ ডিফল্ট প্রয়োজনীয়?
monetizationPackageId

যে API প্যাকেজে রিফান্ড প্রযোজ্য।

প্রযোজ্য নয় না
parentTxId

যে কেনাকাটার ট্রানজ্যাকশনের রিফান্ড দেওয়া হবে।

প্রযোজ্য নয় হ্যাঁ
revenueType

কেনাকাটা ট্রানজ্যাকশনের উপার্জনের ধরন (GROSS বা NET)।

প্রযোজ্য নয় হ্যাঁ
refundAmount

রিফান্ডের পরিমাণ।

প্রযোজ্য নয় হ্যাঁ
transactionNote

রিফান্ডের কারণ বর্ণনা করে এমন একটি টেক্সট নোট।

প্রযোজ্য নয় হ্যাঁ

পরবর্তী ধাপ

কীভাবে মনিটাইজেশন সম্পর্কিত কাজ শিডিউল করতে হয় এবং শিডিউল মনিটাইজেশন কাজ-এ অটোমেটিক শিডিউল করা কাজ সম্পর্কে জানুন ।