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.