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.

Potrzebujesz pomocy z konfiguracją partnerską?

Otwórz widok szczegółów linku płatniczego w MakeCrypto, aby skopiować wygenerowane fragmenty dla prawdziwego identyfikatora płatności, albo wróć do portalu, aby zarządzać ustawieniami sprzedawcy.

Otwórz portal