مكتبات 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 الكاملة.

هل تحتاج مساعدة في إعداد الشريك؟

افتح عرض تفاصيل رابط الدفع في MakeCrypto لنسخ المقتطفات المولدة لـ payment UID حقيقي، أو عد إلى البوابة لإدارة إعدادات merchant.

فتح البوابة