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.

$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.

$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.

Precisa de ajuda na configuração de parceiro?

Abra a visualização de detalhes do link de pagamento no MakeCrypto para copiar os snippets gerados para um UID de pagamento real, ou volte ao portal para gerenciar as configurações do comerciante.

Abrir portal