SDK লাইব্রেরি

NPM SDK

পেমেন্ট লিঙ্ক, সেটআপ এবং ওয়েবহুক যাচাইকরণের জন্য অফিসিয়াল MakePay JavaScript এবং TypeScript SDK ইনস্টল করুন।

MakePay NPM SDK

ওভারভিউ

MakePay npm SDK হল সার্ভার-সাইড MakePay ইন্টিগ্রেশনের জন্য একটি টাইপ করা JavaScript এবং TypeScript লাইব্রেরি। এটি API-কী প্রমাণীকরণ, হোস্ট করা পেমেন্ট-লিঙ্ক অপারেশন, MakePay সেটিংস এবং স্বাক্ষরিত webhook যাচাইকরণকে মোড়ক করে।

প্যাকেজ:

@makecrypto/makepay

ইনস্টলেশন

npm install @makecrypto/makepay
pnpm add @makecrypto/makepay

SDK টার্গেট করে Node.js 18 বা নতুন এবং রানটাইম fetch বাস্তবায়ন ব্যবহার করে।

প্রমাণীকরণ

MakeCrypto merchant বিকাশকারী এলাকা থেকে একটি MakePay API কী তৈরি করুন এবং মূল গোপনীয়তা শুধুমাত্র আপনার সার্ভারে সংরক্ষণ করুন৷

import { MakePayClient } from "@makecrypto/makepay";

const makepay = new MakePayClient({
  keyId: process.env.MAKEPAY_KEY_ID!,
  keySecret: process.env.MAKEPAY_KEY_SECRET!,
  // Optional: override only when MakePay gives you a custom checkout origin.
  checkoutBaseUrl: "https://makepay.io",
});

SDK x-makecrypto-key-id এবং x-makecrypto-key-secret হেডার MakePay অংশীদার API কে পাঠায়৷

পেমেন্ট লিঙ্ক তৈরি করুন

const response = await makepay.createPaymentLink({
  title: "Order #1042",
  description: "Checkout for order #1042",
  amount: "129.99",
  currency: "USDT",
  orderId: "order_1042",
  customerEmail: "buyer@example.com",
  returnUrl: "https://merchant.example/orders/1042",
  successUrl: "https://merchant.example/orders/1042/success",
  failureUrl: "https://merchant.example/orders/1042/pay",
  expirationTime: "12h",
});

console.log(response.paymentLink);

নির্মাণের সময় একটি MakePay অর্থপ্রদানের অনুরোধ ইমেল পাঠান:

await makepay.createPaymentLink(payload, {
  sendPaymentRequestEmail: true,
});

এমবেডেড চেকআউট

পুনঃনির্দেশের জন্য হোস্ট করা checkout ইউআরএল ব্যবহার করুন, অথবা যখন আপনার ফ্রন্টএন্ড ক্রেতাকে merchant পৃষ্ঠায় রাখে তখন এম্বেড সাহায্যকারী।

import {
  buildMakePayEmbeddedCheckoutUrl,
  buildMakePayHostedCheckoutUrl,
  mountMakePayCheckout,
  openMakePayCheckout,
} from "@makecrypto/makepay";

const paymentUid = response.paymentLink.uid;

const hostedUrl = buildMakePayHostedCheckoutUrl(paymentUid);
const embedUrl = buildMakePayEmbeddedCheckoutUrl(paymentUid, {
  parentOrigin: "https://merchant.example",
});

await openMakePayCheckout({
  paymentUid,
  onEvent(event) {
    if (event.type === "makepay.payment.redirect_requested") {
      window.location.assign(String(event.payload?.redirectUrl || hostedUrl));
    }
  },
});

mountMakePayCheckout({
  container: "#makepay-checkout",
  paymentUid,
});

স্ট্যাটিক CMS পৃষ্ঠাগুলির জন্য, buildMakePayEmbedButtonHtml(paymentUid) একটি বোতাম স্নিপেট প্রদান করে যা MakePay মডেল স্ক্রিপ্ট লোড করে।

লিঙ্কগুলি পড়ুন এবং আপডেট করুন

await makepay.listPaymentLinks();
await makepay.getPaymentLink("PAYMENT_LINK_UID");

await makepay.updatePaymentLink("PAYMENT_LINK_UID", {
  status: "paused",
});

await makepay.sendPaymentRequestEmail("PAYMENT_LINK_UID", "buyer@example.com");

সেটিংস

await makepay.getSettings();

await makepay.updateSettings({
  callbackUrl: "https://merchant.example/webhooks/makepay",
});

Webhook যাচাইকরণ

JSON পার্স করার আগে সঠিক কাঁচা অংশ পড়ুন।

import { parseMakePayWebhook } from "@makecrypto/makepay";

export async function POST(request: Request) {
  const rawBody = await request.text();
  const event = parseMakePayWebhook(
    rawBody,
    request.headers.get("x-makepay-signature"),
    process.env.MAKEPAY_WEBHOOK_SECRET!,
  );

  if (event.event?.type === "status_changed") {
    // Update your local order.
  }

  return new Response("ok");
}

আপনার শুধুমাত্র একটি বুলিয়ান ফলাফলের প্রয়োজন হলে verifyMakePayWebhook ব্যবহার করুন।

ত্রুটি হ্যান্ডলিং

API কল থ্রো MakePayError। এতে HTTP স্ট্যাটাস এবং ডিকোডেড রেসপন্স বডি অন্তর্ভুক্ত রয়েছে।

import { MakePayError } from "@makecrypto/makepay";

try {
  await makepay.getPaymentLink("PAYMENT_LINK_UID");
} catch (error) {
  if (error instanceof MakePayError) {
    console.error(error.status, error.responseBody);
  }
}

উৎস বিন্যাস

ক্যানোনিকাল উৎস apps/plugins/npm-sdk-এ থাকে। প্রকাশিত npm প্যাকেজে dist থেকে সংকলিত ESM JavaScript এবং TypeScript ঘোষণা রয়েছে৷

রিলিজ নোট

প্যাকেজটি পাবলিক অ্যাক্সেস সহ @makecrypto/makepay হিসাবে প্রকাশিত হয়েছে। রিলিজ প্রকাশের জন্য makecrypto প্রতিষ্ঠানে একটি npm অটোমেশন টোকেন বা 2FA প্রয়োজন হলে একটি OTP-সক্ষম টোকেন ব্যবহার করা উচিত।

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

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

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