Bibliotecas SDK
SDK PHP
Instale o SDK oficial da MakePay para PHP para links de pagamento, configuração e verificação de webhook.
SDK PHP de MakePay
Resumo
O SDK MakePay PHP é uma biblioteca leve do Composer para integrações do lado do servidor MakePay. Envolve autenticação com chave API, operações de link de pagamento, configuração MakePay e verificação de webhooks assinado.
Repositório público:
https://github.com/makecryptoio/makepay-php-sdk
Instalação
Instale com o Composer do repositório Git público:
{
"repositories": [
{
"type": "vcs",
"url": "https://github.com/makecryptoio/makepay-php-sdk"
}
],
"require": {
"makepay/makepay-php": "^0.1"
}
}
Então execute:
composer update makepay/makepay-php
Autenticação
Crie uma chave API de MakePay na área de desenvolvedor comercial em MakeCrypto e mantenha o segredo apenas nas variáveis de ambiente do lado do servidor.
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',
]);
O SDK envia os cabeçalhos X-MakeCrypto-Key-Id e X-MakeCrypto-Key-Secret para o parceiro API de MakePay.
Criar link de pagamento
$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']);
Envie sendPaymentRequestEmail quando desejar que MakePay envie um email ao cliente como parte da criação:
$makepay->createPaymentLink($payload, [
'sendPaymentRequestEmail' => true,
]);
Check-out incorporado
Os back-ends PHP podem gerar links hospedados, URLs iframe incorporados e snippets HTML após a criação de um link 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',
]);
Use um link substituto hospedado próximo a cada iframe para que os compradores possam continuar se seu navegador, CMS ou tema de loja bloquear páginas de checkout incorporadas.
Ler e atualizar links
$links = $makepay->listPaymentLinks();
$detail = $makepay->getPaymentLink('PAYMENT_LINK_UID');
$makepay->updatePaymentLink('PAYMENT_LINK_UID', [
'status' => 'paused',
]);
$makepay->sendPaymentRequestEmail(
'PAYMENT_LINK_UID',
'buyer@example.com'
);
Configuração
$settings = $makepay->getSettings();
$makepay->updateSettings([
'callbackUrl' => 'https://merchant.example/webhooks/makepay',
]);
Verificação webhooks
MakePay assina o corpo bruto exato da solicitação. Leia php://input antes de analisar 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';
Tratamento de erros
Erros API lançam MakePay\MakePayException. A exceção inclui o código de status HTTP e o corpo da resposta decodificado.
use MakePay\MakePayException;
try {
$makepay->getPaymentLink('PAYMENT_LINK_UID');
} catch (MakePayException $error) {
error_log($error->getMessage());
error_log((string) $error->getStatusCode());
}
Estrutura de código
O código-fonte canônico do monorepo reside em apps/plugins/php-sdk. O repositório público reflete apenas os arquivos SDK para que os desenvolvedores possam instalá-lo ou inspecioná-lo sem o espaço de trabalho MakeCrypto completo.