مكتبات SDK
SDK PHP
قم بتثبيت SDK الرسمي من MakePay لـ PHP لروابط الدفع والإعداد والتحقق من webhooks.
MakePay PHP SDK
ملخص
MakePay PHP SDK هي مكتبة ملحن خفيفة الوزن لتكاملات MakePay من جانب الخادم. فهو يلتف حول مصادقة مفتاح API وعمليات رابط الدفع وإعدادات MakePay والتحقق من webhook الموقع.
مستودع المصادر العامة:
https://github.com/makecryptoio/makepay-php-sdk
تثبيت
التثبيت باستخدام Composer من خلال مستودع Git العام:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/makecryptoio/makepay-php-sdk"
}
],
"require": {
"makepay/makepay-php": "^0.1"
}
}
ثم قم بتشغيل:
composer update makepay/makepay-php
المصادقة
قم بإنشاء مفتاح MakePay API من منطقة مطوري التاجر MakeCrypto واحتفظ بالسر في متغيرات البيئة من جانب الخادم فقط.
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 رؤوس X-MakeCrypto-Key-Id وX-MakeCrypto-Key-Secret إلى شريك MakePay API.
إنشاء رابط الدفع
$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 URLs، ومقتطفات 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 حتى يتمكن المتسوقون من الاستمرار إذا كان المتصفح أو نظام إدارة المحتوى أو سمة المتجر يحظر صفحات الدفع المضمنة.
قراءة وتحديث الروابط
$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 يوقع نص الطلب الأولي الدقيق. اقرأ php://input قبل تحليل JSON.
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());
}
تخطيط المصدر
مصدر monorepo الكنسي يعيش في apps/plugins/php-sdk. يعكس المستودع العام ملفات SDK فقط حتى يتمكن المطورون من تثبيتها أو فحصها بدون مساحة العمل MakeCrypto الكاملة.