Bibliotecas SDK

SDK PHP

Instala el SDK oficial de MakePay para PHP para enlaces de pago, configuración y verificación de webhooks.

SDK PHP de MakePay

Resumen

El SDK PHP de MakePay es una biblioteca ligera de Composer para integraciones server-side de MakePay. Envuelve autenticación con clave API, operaciones de enlaces de pago, configuración MakePay y verificación de webhooks firmados.

Repositorio público:

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

Instalación

Instala con Composer desde el repositorio público de Git:

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

Luego ejecuta:

composer update makepay/makepay-php

Autenticación

Crea una clave API de MakePay desde el área de desarrolladores del merchant en MakeCrypto y conserva el secreto solo en variables de entorno server-side.

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

El SDK envía las cabeceras X-MakeCrypto-Key-Id y X-MakeCrypto-Key-Secret a la API partner de MakePay.

Crear enlace de pago

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

Envía sendPaymentRequestEmail cuando quieras que MakePay mande un email al cliente como parte de la creación:

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

Checkout embebido

Los backends PHP pueden generar enlaces alojados, URLs de iframe embebido y snippets HTML después de crear un enlace de pago.

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

Usa un enlace alojado como fallback junto a cada iframe para que los compradores puedan continuar si el navegador, CMS o tema de tienda bloquea páginas de pago embebidas.

Leer y actualizar enlaces

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

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

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

Configuración

$settings = $makepay->getSettings();

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

Verificación de webhooks

MakePay firma el cuerpo bruto exacto de la solicitud. Lee php://input antes de parsear 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';

Manejo de errores

Los errores de API lanzan MakePay\MakePayException. La excepción incluye el código de estado HTTP y el cuerpo de respuesta decodificado.

use MakePay\MakePayException;

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

Estructura del código

El código fuente canónico del monorepo vive en apps/plugins/php-sdk. El repositorio público refleja solo los archivos del SDK para que los desarrolladores puedan instalarlo o inspeccionarlo sin el workspace completo de MakeCrypto.

¿Necesitas ayuda con la configuración de partner?

Abre la vista de detalles del enlace de pago en MakeCrypto para copiar los snippets generados para un UID de pago real, o vuelve al portal para gestionar la configuración del merchant.

Abrir portal