Bibliothèques SDK

SDK PHP

Installez le SDK MakePay officiel pour PHP pour les liens de paiement, la configuration et la vérification du webhook.

MakePay PHP SDK

Aperçu

Le MakePay PHP SDK est une bibliothèque Composer légère pour les intégrations MakePay côté serveur. Il englobe l'authentification par clé API, les opérations de lien de paiement, les paramètres MakePay et la vérification signée webhook.

Dépôt source public :

https://github.com/makecryptoio/makepay-php-sdk

Installation

Installez avec Composer via le dépôt public Git :

{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/makecryptoio/makepay-php-sdk"
    }
  ],
  "require": {
    "makepay/makepay-php": "^0.1"
  }
}

Puis exécutez :

composer update makepay/makepay-php

Authentification

Créez une clé MakePay API à partir de la zone développeur MakeCrypto merchant et conservez le secret dans les variables d'environnement côté serveur uniquement.

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',
]);

Le SDK envoie les en-têtes X-MakeCrypto-Key-Id et X-MakeCrypto-Key-Secret au partenaire MakePay, API.

Créer un lien de paiement

$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']);

Transmettez sendPaymentRequestEmail lorsque vous souhaitez que MakePay envoie un e-mail au client dans le cadre de la création :

$makepay->createPaymentLink($payload, [
    'sendPaymentRequestEmail' => true,
]);

Paiement intégré

Les backends PHP peuvent générer des liens hébergés, des URL iframe intégrées et des extraits de code HTML après avoir créé un lien de paiement.

$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',
]);

Utilisez un lien hébergé de secours à côté de chaque iframe afin que les acheteurs puissent continuer si le navigateur, le CMS ou le thème du magasin bloque les pages de paiement intégrées.

Lire et mettre à jour les liens

$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');

$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
    'status' => 'paused',
]);

$makepay->sendPaymentRequestEmail(
    'PAYMENT_LINK_UID',
    'buyer@example.com'
);

Paramètres

$settings = $makepay->getSettings();

$makepay->updateSettings([
    'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);

Vérification Webhook

MakePay signe le corps brut exact de la demande. Lisez php://input avant d’analyser 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';

Gestion des erreurs

Les erreurs API génèrent MakePay\MakePayException. L'exception inclut le code d'état HTTP et le corps de réponse décodé.

use MakePay\MakePayException;

try {
    $makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
    error_log($error->getMessage());
    error_log((string) $error->getStatusCode());
}

Disposition des sources

La source canonique monorepo réside dans apps/plugins/php-sdk. Le référentiel public reflète uniquement les fichiers SDK afin que les développeurs puissent l'installer ou l'inspecter sans l'espace de travail complet MakeCrypto.

Besoin d'aide pour la configuration partenaire ?

Ouvrez la vue des détails du lien de paiement dans MakeCrypto pour copier les extraits générés pour un UID de paiement réel, ou revenez au portail pour gérer les paramètres du marchand.

Ouvrir le portail