ইন্টিগ্রেশন

ফর্ম জমা দেওয়ার জন্য অর্থপ্রদান

একটি সার্ভার API ক্লায়েন্ট না লিখে একটি সাধারণ HTML ফর্ম থেকে MakePay এর হোস্ট করা চেকআউট চালু করুন৷

ওভারভিউ

ফর্ম জমা দেওয়ার অর্থ হল সর্বনিম্ন-ঘর্ষণ MakePay ইন্টিগ্রেশন। একটি সাধারণ HTML ফর্ম MakePay-এ অর্ডার ক্ষেত্র পোস্ট করে, MakePay একটি হোস্ট করা checkout পেমেন্ট লিঙ্ক তৈরি করে, এবং ক্রেতাকে পেমেন্ট পৃষ্ঠায় রিডাইরেক্ট করা হয়।

এটি ব্যবহার করুন যখন আপনার সাইট একটি HTML ফর্ম রেন্ডার করতে পারে কিন্তু আপনি এখনও সার্ভার-সাইড API ক্লায়েন্ট লিখতে চান না। উন্নত ইকমার্স প্ল্যাটফর্ম, প্লাগইন, SDK, বা সার্ভার অর্ডার সিস্টেমের জন্য, পেমেন্ট লিঙ্ক API, OAuth অ্যাপ বা অফিসিয়াল স্টোর মডিউল পছন্দ করুন।

নিরাপত্তা মডেল

ফর্ম ক্রিয়াটি একটি সর্বজনীন ফর্ম কী হিসাবে MakePay API কী আইডি ব্যবহার করে:

https://makepay.io/gateway/pay/{makepayKeyId}

API গোপন ব্রাউজারে ব্যবহার করা হয় না। একটি ফর্ম সক্ষম করার আগে, MakeCrypto ড্যাশবোর্ড খুলুন, একটি MakePay ইন্টিগ্রেশন কী তৈরি করুন বা চয়ন করুন এবং অনুমোদিত অরিজিন-এ সঠিক ওয়েবসাইটের উৎস যোগ করুন, উদাহরণস্বরূপ:

https://merchant.example

MakePay শুধুমাত্র ব্রাউজার জমা গ্রহণ করে যার Origin বা Referer অনুমোদিত উত্সগুলির একটির সাথে মেলে৷ অনুমোদিত উত্স ছাড়া কীগুলি ফর্ম গেটওয়ে দ্বারা প্রত্যাখ্যান করা হয়৷

মৌলিক ফর্ম

<form
  method="post"
  action="https://makepay.io/gateway/pay/mk_makepay_YOUR_KEY_ID"
>
  <input type="hidden" name="title" value="Order #1042" />
  <input type="hidden" name="description" value="Checkout for order #1042" />
  <input type="hidden" name="amount" value="129.99" />
  <input type="hidden" name="fiat_currency" value="USD" />
  <input type="hidden" name="currency" value="USDT" />
  <input type="hidden" name="order_id" value="order_1042" />
  <input type="hidden" name="customer_email" value="buyer@example.com" />
  <input
    type="hidden"
    name="success_url"
    value="https://merchant.example/orders/1042/success"
  />
  <input
    type="hidden"
    name="failure_url"
    value="https://merchant.example/orders/1042/failed"
  />
  <input
    type="hidden"
    name="return_url"
    value="https://merchant.example/orders/1042"
  />
  <input type="hidden" name="metadata[cart_id]" value="cart_7M2V" />

  <button type="submit">Pay with crypto</button>
</form>

ক্রেতা যখন ফর্মটি জমা দেন, তখন MakePay একটি এককালীন পেমেন্ট লিঙ্ক তৈরি করে এবং হোস্ট করা checkout URL-এ 303 See Other এর সাথে প্রতিক্রিয়া জানায়।

ক্ষেত্র

মাঠপ্রয়োজননোট
amountহ্যাঁধনাত্মক দশমিক পরিমাণ। 8 দশমিক স্থান পর্যন্ত।
currencyনাপছন্দের ক্রিপ্টো সেটেলমেন্ট চিহ্ন, যেমন USDT, USDC, BTC, ETH, LTC, বা DOGE
assetনাসঠিক গন্তব্য সম্পদ শনাক্তকারী যখন একটি প্রতীক একাধিক চেইনে বিদ্যমান থাকে।
fiat_currencyনাপ্রদর্শন মুদ্রা যেমন USD বা EUR। এছাড়াও fiatCurrency, display_currency, এবং displayCurrency গ্রহণ করে।
titleনাচেকআউট শিরোনাম. এছাড়াও name এবং label গ্রহণ করে।
descriptionনাচেকআউট বিবরণ.
order_idনামার্চেন্ট অর্ডার বা ইনভয়েস আইডি। এছাড়াও orderId, invoice_id, এবং invoiceId গ্রহণ করে।
client_idনাবণিক গ্রাহক/ক্লায়েন্ট আইডি। এছাড়াও clientId গ্রহণ করে।
customer_emailনাগ্রাহক ইমেল. এছাড়াও customerEmail এবং email গ্রহণ করে।
customer_nameনাগ্রাহকের নাম। এছাড়াও customerName গ্রহণ করে।
return_urlনাএকটি সাধারণ রিটার্ন গন্তব্যের জন্য সম্পূর্ণ http বা https URL।
success_urlনাসম্পূর্ণ http বা https URL সফল অর্থপ্রদানের পরে ব্যবহার করা হয়েছে।
failure_urlনাসম্পূর্ণ http বা https URL ব্যর্থ অর্থপ্রদান এবং ফর্ম যাচাইকরণ ত্রুটির জন্য ব্যবহার করা হয়েছে৷
expiration_timeনা15m, 1h, 12h, 24h, 72h, বা never12h ডিফল্ট।
send_payment_request_emailনাঅর্থপ্রদানের অনুরোধ ইমেল করতে true, 1, yes, বা on সেট করুন। customer_email প্রয়োজন।
metadata[key]নাঅতিরিক্ত স্ট্রিং মেটাডেটা। কীগুলিতে অক্ষর, সংখ্যা, _, ., : এবং - থাকতে পারে। 25টি পর্যন্ত মেটাডেটা ক্ষেত্র।

গতিশীল ফর্ম

প্রকৃত অর্ডারের পরিমাণ এবং অর্ডার আইডি সহ ফর্মটি সার্ভার-রেন্ডার করুন। গ্রাহক-সম্পাদনাযোগ্য পৃষ্ঠা থেকে জমা দেওয়া পরিমাণে বিশ্বাস করবেন না যদি না আপনার সার্ভার তাদের যাচাই বা পুনর্নির্মাণ করে।

<form
  method="post"
  action="https://makepay.io/gateway/pay/mk_makepay_YOUR_KEY_ID"
>
  <input type="hidden" name="amount" value="{{ order.total }}" />
  <input type="hidden" name="fiat_currency" value="{{ order.currency }}" />
  <input type="hidden" name="order_id" value="{{ order.id }}" />
  <input type="hidden" name="customer_email" value="{{ customer.email }}" />
  <button type="submit">Pay with MakePay</button>
</form>

আচরণ পুনর্নির্দেশ করুন

সফল ফর্ম জমাগুলি হোস্ট করা MakePay checkout এ পুনঃনির্দেশিত হয়৷ success_url, failure_url, এবং return_url ক্ষেত্রগুলি পেমেন্ট লিঙ্কে সংরক্ষিত হয় এবং অর্থপ্রদানের পরে checkout ব্যবহার করে৷

যদি বৈধতা ব্যর্থ হয় এবং failure_url বৈধ হয়, তাহলে MakePay এর সাথে পুনঃনির্দেশ করে:

?makepay_status=error&makepay_error=invalid_amount&makepay_error_message=...

একটি অবিশ্বস্ত URL এ রিডাইরেক্ট করার পরিবর্তে মূল/প্রমাণিকরণ ব্যর্থতাগুলি একটি MakePay ত্রুটি পৃষ্ঠা হিসাবে দেখানো হয়েছে৷

ওয়েবহুক

চূড়ান্ত অর্ডার আপডেটের জন্য MakePay webhooks ব্যবহার করুন। গ্রাহক পুনর্নির্দেশ ব্যবহারকারীর অভিজ্ঞতার জন্য উপযোগী, কিন্তু webhooks হল অর্থপ্রদানের অবস্থা, কম অর্থপ্রদান, অতিরিক্ত অর্থপ্রদান, ফেরত এবং মেয়াদ শেষ হওয়ার জন্য সত্যের নির্ভরযোগ্য উৎস।

স্বাক্ষর যাচাইকরণ এবং ইভেন্ট পেলোডের জন্য Webhooks গাইড দেখুন।

সমস্যা সমাধান

  • Allowed origin required: MakePay ইন্টিগ্রেশন কীতে আপনার সাইটের মূল যোগ করুন।
  • Origin not allowed: ফর্মটি একটি ভিন্ন ডোমেন থেকে জমা দেওয়া হচ্ছে, স্কিম, বা কনফিগার করা অনুমোদিত মূলের চেয়ে পোর্ট।
  • invalid_amount: amount অনুপস্থিত, শূন্য, ঋণাত্মক, বা দশমিক নয়।
  • invalid_currency: একটি মুদ্রা চিহ্ন ব্যবহার করুন যেমন USD, USDT, বা BTC
  • invalid_url: পুনঃনির্দেশ ক্ষেত্র অবশ্যই সম্পূর্ণ http বা https URL হতে হবে।
  • onboarding_required: merchant একটি ডিফল্ট MakePay কনফিগার করেনি নিষ্পত্তি সম্পদ এখনো.

পার্টনার সেটআপে সাহায্য দরকার?

বাস্তব payment UID-এর জন্য generated snippets কপি করতে MakeCrypto-তে payment link details view খুলুন, অথবা merchant settings পরিচালনা করতে portal-এ ফিরে যান।

পোর্টাল খুলুন