SDK লাইব্রেরি
পিএইচপি এসডিকে
পেমেন্ট লিঙ্ক, সেটআপ এবং ওয়েবহুক যাচাইকরণের জন্য PHP-এর জন্য অফিসিয়াল MakePay SDK ইনস্টল করুন।
MakePay PHP SDK
ওভারভিউ
MakePay PHP SDK হল সার্ভার-সাইড MakePay ইন্টিগ্রেশনের জন্য একটি লাইটওয়েট কম্পোজার লাইব্রেরি। এটি API-কী প্রমাণীকরণ, অর্থপ্রদান-লিঙ্ক অপারেশন, MakePay সেটিংস এবং স্বাক্ষরিত webhook যাচাইকরণকে মোড়ক করে।
পাবলিক সোর্স রিপোজিটরি:
https://github.com/makecryptoio/makepay-php-sdk
ইনস্টলেশন
পাবলিক গিট রিপোজিটরির মাধ্যমে কম্পোজারের সাথে ইনস্টল করুন:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/makecryptoio/makepay-php-sdk"
}
],
"require": {
"makepay/makepay-php": "^0.1"
}
}
তারপর চালান:
composer update makepay/makepay-php
প্রমাণীকরণ
MakeCrypto merchant বিকাশকারী এলাকা থেকে একটি MakePay API কী তৈরি করুন এবং শুধুমাত্র সার্ভার-সাইড এনভায়রনমেন্ট ভেরিয়েবলে গোপন রাখুন৷
use MakePay\Client;
$makepay = new Client([
'keyId' => getenv('MAKEPAY_KEY_ID'),
'keySecret' => getenv('MAKEPAY_KEY_SECRET'),
// Optional: override only when MakePay gives you a custom checkout origin.
'checkoutBaseUrl' => 'https://makepay.io',
]);
SDK MakePay অংশীদার API কে X-MakeCrypto-Key-Id এবং X-MakeCrypto-Key-Secret হেডার পাঠায়।
পেমেন্ট লিঙ্ক তৈরি করুন
$response = $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',
]);
header('Location: ' . $response['paymentLink']['publicUrl']);
sendPaymentRequestEmail পাস করুন যখন আপনি MakePay তৈরির অংশ হিসাবে গ্রাহককে ইমেল করতে চান:
$makepay->createPaymentLink($payload, [
'sendPaymentRequestEmail' => true,
]);
এমবেডেড চেকআউট
PHP ব্যাকএন্ড একটি পেমেন্ট লিঙ্ক তৈরি করার পরে হোস্ট করা লিঙ্ক, এম্বেড করা iframe URL এবং HTML স্নিপেট তৈরি করতে পারে।
$paymentUid = $response['paymentLink']['uid'];
$hostedUrl = $makepay->hostedCheckoutUrl($paymentUid);
$embedUrl = $makepay->embeddedCheckoutUrl($paymentUid, [
'parentOrigin' => 'https://merchant.example',
]);
echo $makepay->embedButtonHtml($paymentUid, [
'buttonLabel' => 'Pay with crypto',
]);
echo $makepay->iframeHtml($paymentUid, [
'iframeTitle' => 'Secure MakePay checkout',
]);
প্রতিটি iframe এর পাশে একটি হোস্ট করা লিঙ্ক ফলব্যাক ব্যবহার করুন যাতে ক্রেতারা যদি ব্রাউজার, CMS বা স্টোর থিম ব্লক করা পেমেন্ট পেজগুলিকে ব্লক করে তাহলে চালিয়ে যেতে পারেন।
লিঙ্কগুলি পড়ুন এবং আপডেট করুন
$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');
$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
'status' => 'paused',
]);
$makepay->sendPaymentRequestEmail(
'PAYMENT_LINK_UID',
'buyer@example.com'
);
সেটিংস
$settings = $makepay->getSettings();
$makepay->updateSettings([
'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);
Webhook যাচাইকরণ
MakePay সঠিক কাঁচা অনুরোধের অংশে স্বাক্ষর করে। JSON পার্স করার আগে php://input পড়ুন।
use MakePay\Webhook;
$rawBody = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_MAKEPAY_SIGNATURE'] ?? null;
$event = Webhook::parse(
$rawBody,
$signature,
getenv('MAKEPAY_WEBHOOK_SECRET')
);
if (($event['event']['type'] ?? '') === 'status_changed') {
// Update the local order.
}
http_response_code(200);
echo 'ok';
ত্রুটি হ্যান্ডলিং
API ত্রুটিগুলি MakePay\MakePayException নিক্ষেপ করে৷ ব্যতিক্রমটিতে HTTP স্ট্যাটাস কোড এবং ডিকোডড রেসপন্স বডি অন্তর্ভুক্ত রয়েছে।
use MakePay\MakePayException;
try {
$makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
error_log($error->getMessage());
error_log((string) $error->getStatusCode());
}
উৎস বিন্যাস
ক্যানোনিকাল মনোরেপো উৎস apps/plugins/php-sdk-এ থাকে। পাবলিক রিপোজিটরি শুধুমাত্র SDK ফাইলগুলিকে মিরর করে যাতে বিকাশকারীরা সম্পূর্ণ MakeCrypto ওয়ার্কস্পেস ছাড়াই এটি ইনস্টল বা পরিদর্শন করতে পারে৷