Biblioteki SDK
PHP SDK
Zainstaluj oficjalny MakePay PHP SDK dla łączy płatniczych, ustawień i weryfikacji webhook.
MakePay PHP SDK
Przegląd
MakePay PHP SDK to lekka biblioteka Composer dla MakePay po stronie serwera integracje. Obejmuje uwierzytelnianie za pomocą klucza API, operacje na łączach płatniczych, MakePay ustawienia i podpisaną weryfikację webhook.
Repozytorium źródeł publicznych:
https://github.com/makecryptoio/makepay-php-sdk
Instalacja
Zainstaluj za pomocą Composer poprzez publiczne repozytorium Git:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/makecryptoio/makepay-php-sdk"
}
],
"require": {
"makepay/makepay-php": "^0.1"
}
}
Następnie uruchom:
composer update makepay/makepay-php
Uwierzytelnianie
Utwórz klucz MakePay API z obszaru deweloperskiego sprzedawcy MakeCrypto i zachowaj sekret tylko w zmiennych środowiskowych po stronie serwera.
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 wysyła nagłówki X-MakeCrypto-Key-Id i X-MakeCrypto-Key-Secret do
partner MakePay API.
Utwórz łącze do płatności
$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']);
Przekaż sendPaymentRequestEmail, jeśli chcesz, aby MakePay wysyłał e-maile do klienta jako
część stworzenia:
$makepay->createPaymentLink($payload, [
'sendPaymentRequestEmail' => true,
]);
Wbudowany Checkout
Backendy PHP mogą generować hostowane linki, osadzone adresy URL iframe i fragmenty HTML po utworzeniu linku do płatności.
$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',
]);
Użyj zastępczego łącza hostowanego obok każdego iframe, aby kupujący mogli kontynuować, jeśli przeglądarka, CMS lub motyw sklepu blokuje osadzone strony płatności.
Przeczytaj i zaktualizuj linki
$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');
$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
'status' => 'paused',
]);
$makepay->sendPaymentRequestEmail(
'PAYMENT_LINK_UID',
'buyer@example.com'
);
Ustawienia
$settings = $makepay->getSettings();
$makepay->updateSettings([
'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);
Weryfikacja Webhook
MakePay podpisuje dokładnie surową treść żądania. Przeczytaj php://input przed analizą
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';
Obsługa błędów
Błędy API zgłaszają MakePay\MakePayException. Wyjątek obejmuje protokół HTTP
kod stanu i zdekodowana treść odpowiedzi.
use MakePay\MakePayException;
try {
$makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
error_log($error->getMessage());
error_log((string) $error->getStatusCode());
}
Układ źródłowy
Kanoniczne źródło monorepo znajduje się w apps/plugins/php-sdk. Publiczność
repozytorium odzwierciedla tylko pliki SDK, dzięki czemu programiści mogą je zainstalować lub sprawdzić
bez pełnego obszaru roboczego MakeCrypto.