SDK-Bibliotheken
PHP-SDK
Installieren Sie das offizielle MakePay PHP SDK für Zahlungslinks, Einstellungen und Webhook-Überprüfung.
MakePay PHP SDK
Überblick
Das MakePay PHP SDK ist eine leichte Composer-Bibliothek für serverseitiges MakePay Integrationen. Es umfasst API-Schlüsselauthentifizierung, Zahlungslinkvorgänge und MakePay Einstellungen und signierte Webhook-Überprüfung.
Öffentliches Quell-Repository:
https://github.com/makecryptoio/makepay-php-sdk
Installation
Installieren Sie mit Composer über das öffentliche Git-Repository:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/makecryptoio/makepay-php-sdk"
}
],
"require": {
"makepay/makepay-php": "^0.1"
}
}
Führen Sie dann Folgendes aus:
composer update makepay/makepay-php
Authentifizierung
Erstellen Sie einen MakePay-API-Schlüssel im MakeCrypto-Entwicklerbereich für Händler und speichern Sie das Geheimnis nur in serverseitigen Umgebungsvariablen.
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',
]);
Das SDK sendet die Header X-MakeCrypto-Key-Id und X-MakeCrypto-Key-Secret an
die Partner-API MakePay.
Zahlungslink erstellen
$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']);
Übergeben Sie sendPaymentRequestEmail, wenn MakePay dem Kunden eine E-Mail senden soll
Teil der Schöpfung:
$makepay->createPaymentLink($payload, [
'sendPaymentRequestEmail' => true,
]);
Eingebetteter Checkout
PHP-Backends können gehostete Links, eingebettete Iframe-URLs und HTML-Snippets generieren nach dem Erstellen eines Zahlungslinks.
$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',
]);
Verwenden Sie neben jedem Iframe einen gehosteten Link-Fallback, damit Käufer bei Bedarf fortfahren können Browser-, CMS- oder Store-Themenblöcke, eingebettete Zahlungsseiten.
Links lesen und aktualisieren
$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');
$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
'status' => 'paused',
]);
$makepay->sendPaymentRequestEmail(
'PAYMENT_LINK_UID',
'buyer@example.com'
);
Einstellungen
$settings = $makepay->getSettings();
$makepay->updateSettings([
'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);
Webhook-Überprüfung
MakePay signiert den genauen rohen Anforderungstext. Lesen Sie php://input vor dem Parsen
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';
Fehlerbehandlung
API-Fehler lösen MakePay\MakePayException aus. Die Ausnahme umfasst HTTP
Statuscode und entschlüsselter Antworttext.
use MakePay\MakePayException;
try {
$makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
error_log($error->getMessage());
error_log((string) $error->getStatusCode());
}
Quelllayout
Die kanonische Monorepo-Quelle befindet sich in apps/plugins/php-sdk. Die Öffentlichkeit
Das Repository spiegelt nur die SDK-Dateien wider, sodass Entwickler es installieren oder überprüfen können
ohne den vollständigen MakeCrypto-Arbeitsbereich.