Skip to content

Laravel AbacatePayPagamentos com cara de Laravel

SDK tipado e expressivo para a AbacatePay v2. Menos boilerplate, mais Laravel — com cobertura completa da API v2.

Por que usar?

Compare o mesmo fluxo sem e com o pacote.

PIX transparente

php
use Illuminate\Support\Facades\Http;

$response = Http::withToken(config('abacatepay.api_key'))
    ->post('https://api.abacatepay.com/v2/transparents/create', [
        'method' => 'PIX',
        'data' => [
            'amount' => 10000,
            'description' => 'Pedido #123',
            'expires_in' => 3600,
            'metadata' => ['order_id' => 'ORDER-123'],
        ],
    ]);

if ($response->failed()) {
    throw new RuntimeException($response->json('error.message') ?? 'AbacatePay error');
}

$brCode = $response->json('data.brCode');
php
use Cavalheri\LaravelAbacatePay\Facades\AbacatePay;

$charge = AbacatePay::transparentCheckouts()->pix(10000, [
    'description' => 'Pedido #123',
    'metadata' => ['order_id' => 'ORDER-123'],
]);

$brCode = $charge->brCode;

Webhook + verificação HMAC

php
use Illuminate\Support\Facades\Http;

Http::withToken(config('abacatepay.api_key'))
    ->post('https://api.abacatepay.com/v2/webhooks/create', [
        'name' => 'Pagamentos',
        'endpoint' => route('webhooks.abacatepay'),
        'secret' => config('abacatepay.webhook_secret'),
        'events' => ['checkout.completed', 'checkout.expired'],
    ]);

$secret = $request->query('webhookSecret');
$signature = $request->header('X-Webhook-Signature');
$expected = hash_hmac('sha256', $request->getContent(), $secret);

if (! hash_equals($expected, (string) $signature)) {
    abort(401);
}
php
use Cavalheri\LaravelAbacatePay\Facades\AbacatePay;

AbacatePay::webhooks()
    ->checkoutEvents()
    ->at(route('webhooks.abacatepay'))
    ->named('Pagamentos')
    ->create();

$isValid = AbacatePay::webhooks()->verify(
    rawBody: $request->getContent(),
    signature: $request->header('X-Webhook-Signature'),
    secret: $request->query('webhookSecret'),
);

Ver todas as comparações →

Requisitos

RequisitoVersão
PHP8.3+
Laravel13.x
AbacatePay APIv2

Instale em segundos

bash
composer require cavalheri/laravel-abacatepay
php artisan vendor:publish --tag=abacatepay-config

Depois configure ABACATEPAY_API_KEY no .env e pronto.

Leia o guia completo →

Mantenedor

Open source criado e mantido por Lucas Cavalheri.

Conheça o criador: Portfólio · GitHub · LinkedIn