Detalhes Técnicos

Paghiper for Laravel foi criado para suportar aplicações Laravel a partir da versão 9, com PHP 8.0, no mais alto padrão possível do PHP moderno, com cobertura de testes e fortemente tipado, garantindo estabilidade nas funcionalidades.

PHP & Laravel

  • Versão do PHP:
    • 8.0 (ou superior)
  • Versão do Laravel:
    • 9.x
    • 10.x
    • 11.x

Facade

Paghiper for Laravel oferece uma Facade para interação com a classe principal do pacote:

use DevAjMeireles\PagHiper\Facades\PagHiper;

$billet = PagHiper::billet()->create(/* ... */)

Cliente HTTP

Por trás dos panos, Paghiper for Laravel utiliza o poder do cliente HTTP do Laravel. Com isso, caso você precise escrever testes automatizados, você deve seguir o esquema de testes do Laravel.

Resolvedores

Paghiper for Laravel oferece recursos de resolvedores para viabilizar a definição de configurações em tempo de execução, ideal para casos onde você precise sobescrever as configurações de api ou token do arquivo .env, ou para prefixar URL de retorno automático:

// arquivo: app/Providers/AppServicesProvider.php

use DevAjMeireles\PagHiper\Facades\PagHiper; // 👈

public function boot(): void
{
    // ...

    PagHiper::resolveApiUsing(fn () => 'api-que-vai-sobescrever-a-api-do-env');
    PagHiper::resolveTokenUsing(fn () => 'token-que-vai-sobescrever-o-token-do-env');
    PagHiper::resolveBilletNotificationUrlUsing(fn () => route('rota-padrão-de-retorno-automático-de-boletos'));
    PagHiper::resolvePixNotificationUrlUsing(fn () => route('rota-padrão-de-retorno-automático-de-pix'));
}

Se preferir você pode utilizar métodos que combinam as ações:

// arquivo: app/Providers/AppServicesProvider.php

use DevAjMeireles\PagHiper\Facades\PagHiper; // 👈

public function boot(): void
{
    // ...

    PagHiper::resolveCredentialsUsing(
        fn () => 'api-que-vai-sobescrever-a-api-do-env',
        fn () => 'token-que-vai-sobescrever-o-token-do-env'
    );
}

Você também pode utilizar uma única função para resolver duas rotas:

// arquivo: app/Providers/AppServicesProvider.php

use DevAjMeireles\PagHiper\Facades\PagHiper; // 👈

public function boot(): void
{
    // ...

    PagHiper::resolveNotificationUrlUsing(
        fn () => route('rota-padrão-de-retorno-automático-de-boletos'),
        fn () => route('rota-padrão-de-retorno-automático-de-pix')
    );
}

Outros Detalhes

  • Cobertura de Testes, usando PestPHP
  • Cobertura de Tipagem de Código (100%), PestPHP
  • Cobertura de Analise de Código (Level 5, 100%), PhpStan
Os testes são projetados exclusivamete sob o Laravel 10.