Começando sua integração OpenPix com Laravel
Laravel é um poderoso framework em PHP com uma sintaxe elegante e expressiva, que permite avançar rapidamente em suas soluções, sem se preocupar com detalhes pequenos.
A OpenPix vai além de uma plataforma: é um portal para o futuro dos negócios. Nesse espaço, você não só recebe pagamentos via Pix, mas também mergulha em oportunidades para encantar clientes, aumentar vendas e reinventar a gestão financeira do seu negócio. Com a OpenPix, você não apenas vende; você transcende.
Unindo a força do Laravel à OpenPix, você não apenas aumentará suas vendas, mas também se moverá de forma rápida.
Instalando o SDK de PHP em seu projeto Laravel
O SDK PHP foi criado com o propósito de simplificar a integração dos serviços da OpenPix às suas aplicações em PHP, assegurando uma integração suave e eficiente. Essa é a abordagem ideal para implementar a OpenPix em seus projetos do Laravel.
Comece garantindo que você tenha instalado um cliente HTTP e uma implementação PSR-17:
composer require guzzlehttp/guzzle guzzlehttp/psr7
Após esse passo, prossiga instalando nosso SDK:
composer require open-pix/php-sdk
Configurando o SDK de PHP
Autenticação
É necessário você possuir um AppID para autenticação.
É possível criar acessando a plataforma na página de criar uma nova API/Plugin.
Armazenando as configurações
Agora que você tem um AppID, é necessário armazená-lo de forma segura dentro da sua aplicação, evitando compartilhá-lo nos sistemas de controle de versão.
O local ideal para armazenar configurações da API seria em seu arquivo .env
. Saiba mais na documentação do Laravel.
Esse arquivo é utilizado para armazenar configurações e não é enviado para seu sistema de controle de versão, como o Git.
Adicione essas duas configurações em seu arquivo .env
:
OPENPIX_APP_ID="COLOQUE SEU APP ID AQUI"
OPENPIX_BASE_URI="https://api.openpix.com.br"
Após esse passo, limpe o cache de configurações:
php artisan config:clear
Registrando o SDK
Iremos registrar o SDK no contêiner de serviços do Laravel utilizando service providers.
De forma simplificada, o contêiner de serviços é responsável por gerenciar os objetos de serviço da aplicação, enquanto um provedor de serviço (service provider) tem a responsabilidade de registrar um objeto nesse contêiner.
Ao registrar o SDK no contêiner, você poderá utilizá-lo em qualquer parte da sua aplicação com facilidade, sem a necessidade de instanciá-lo repetidamente.
Para criar o provedor de serviço OpenPixServiceProvider
, execute o comando abaixo:
php artisan make:provider OpenPixServiceProvider
Altere o método register para que possa efetuar o registro do cliente no contêiner, utilizando como referência o provedor de serviço abaixo:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use OpenPix\PhpSdk\Client;
class OpenPixServiceProvider extends ServiceProvider
{
/**
* Register services.
*/
public function register(): void
{
$this->app->singleton(Client::class, function () {
$appId = env('OPENPIX_APP_ID');
$baseUri = env('OPENPIX_BASE_URI', 'https://api.openpix.com.br');
return Client::create($appId, $baseUri);
});
}
}
Após criar o provedor de serviços, é necessário registrá-lo, adicionando-o ao arquivo de configuração config/app.php
:
// ...
'providers' => ServiceProvider::defaultProviders()->merge([
// ...
/*
* Application Service Providers...
*/
// ...
App\Providers\OpenPixServiceProvider::class,
])->toArray(),
// ...
Não se esqueça de limpar o cache de configuração, já que você fez uma atualização nas configurações:
php artisan config:clear
Como utilizar o SDK
Após ter realizado o registro do SDK no contêiner, utilizar nossa API nos controller, classes de serviço, rotas, entre outros, torna-se uma tarefa bastante simples. Explore as diversas possibilidades disponíveis na documentação do Laravel.
Por exemplo, para utilizar a nossa API em um controller, siga o exemplo abaixo:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use OpenPix\PhpSdk\Client;
class DonationController extends Controller
{
public function __construct(private Client $openpix)
{}
public function create()
{
$this->openpix->charges()->create([
// Cria uma cobrança de 1 centavo.
"value" => 1,
]);
}
}
Nesse exemplo, estamos utilizando a funcionalidade de injeção automática do Laravel.
Exemplo de integração
Temos disponível um exemplo de integração Laravel que irá te auxiliar na utilização do Laravel. Saiba mais.