Download the PHP package jrodella/laravel-pix without Composer

On this page you can find all versions of the php package jrodella/laravel-pix. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-pix

Uma solução simples para integrar a sua aplicação Laravel com a API PIX do Banco Central do Brasil

Continuous Integration StyleCI

Este pacote oferece integração completa com a API PIX do banco central do Brasil.

Instalação

Você pode instalar este pacote utilizando o composer:

Agora, é necessário publicar os assets utilizados e o arquivo de configuração do pacote.

Publicando os assets

Para publicar os assets deste pacote para a pasta public do seu projeto, utilize o comando

Publicando o arquivo de configuração

Para publicar o arquivo de configuração, execute o comando abaixo:

Este comando vai copiar o arquivo laravel-pix.php para sua pasta config, com o seguinte conteúdo:

Endpoints

Os endpoints disponibilizados por este pacote são os mesmos implementados pelo Banco Central, e documentados aqui. Entretanto, o seu provedor de serviços de pagamento (PSP) pode não implementar todos eles.

A lista de endpoints completa está descrita aqui:

Configurações iniciais.

Para iniciar a utilização da API Pix, você precisa autenticar com o seu PSP via OAuth. Para isso, é necessário informar o seu client_id e client_secret, disponibilizados pelo seu PSP. Isso deve ser feito no arquivo .env de sua aplicação:

Vários PSP que disponibilizam a API Pix possuem uma URL para obtenção do token de acesso diferente da URL para a API. Portanto, você precisa configurar as duas URLs no seu .env:

Agora, todas as chamadas a API Pix utilizarão estas credencias, e você não precisa informar manualmente para cada requisição. Entretando, se por algum motivo você desejar alterar estas credenciais em tempo de execução, é possível através dos métodos ->clientId() e ->clientSecret(), disponibilizados em todos os endpoints neste pacote. Um exemplo é mostrado abaixo:

Estes métodos estão disponíveis em todos os recursos da api Pix: cob, cobv, loteCobv, payloadLocation, receivedPix e webhook.

Obtendo o token de acesso

Este pacote disponibiliza uma implementação de autenticação geral, que pode ser utilizada da seguinte forma:

Alguns PSPs requerem a verificação de um certificado disponibilizado no momento da criação de sua aplicação. Este certificado pode ser informado no .env, ou informado na requisição através do método certificate(), e será carregado automaticamente na api.

Caso os endpoints do PSP utilizado necessitem da verificação deste certificado, você precisa informar este pacote para fazer esta verificação. Isto pode ser feito através do AppServiceProvider da sua aplicação, bastando adicionar esta linha ao método register:

Agora, todas as chamadas aos endpoints da API Pix farão a verificação com o certificado informado.

Caso a classe de autenticação disponibilizada por este pacote não funcione para obter o access token no seu PSP, você pode criar sua própria implementação, bastando criar uma classe e extender a class Junges\Pix\Api\Auth:

Agora, é necessário informar este pacote para utilizar a sua classe para obtenção do token de acesso. Você pode fazer isso através do AppServiceProvider da sua aplicação:

Agora, sua classe de autenticação com sua própria lógica será utilizada para obter o token de acesso, e o método getOAuthToken() retorna o conteúdo retornado pelo método getToken desta classe.

É possível configurar uma classe de autenticação para cada PSP.

Configurando PSPs

Se você possui integrações com mais de um psp, você pode configurar os parâmetros individuais para cara um no arquivo de configurações deste pacote, em config/laravel-pix.php.

O PSP default utilizado pelo pacote está definido na key default, do array de PSPs. Você pode alterar o PSP padrão através do método useAsDefaultPsp(), no seu service provider:

Para alterar o PSP em tempo de execução, você deve utilizar o método usingPsp(), disponível em todos os endpoints implementados neste pacote:

Cob

O Cob reúne os endpoints relacionados a criação de cobranças instantâneas.

Consulte a documentação oficial do banco central para informações sobre o request a ser enviado para cada endpoint, disponível neste link.

Para utilizar os endpoints do cob, utilize o método cob(), da class Junges\Pix\Pix:

Criando um cob

Para criar uma cobrança instantânea, é necessário utilizar a api cob, disponibilizada pela classe Pix, neste pacote.

Revisar uma cobrança imediata

Para revisar uma cobrança imediata, deve ser utilizado o método updateByTransactionId(), informando o id da transação a ser atualizada e os dados para atualização.

Consultando uma cobrança imediata

Para consultar uma cobrança através de um determinado id de transação, você deve utilizar o método getByTransactionId, informando o id da transação como parâmetro:

Criando cobranças imediatas sem transactionId

Para criar uma cobrança imediata com transactionId definido pelo PSP, utilize o método createWithoutTransactionId(), informando apenas os dados para criação da cobrança, sem a necessidade de passar um id de transação:

Consultando lista de cobranças imediatas

Para consultar a lista de cobranças imediatas com parâmetros como inicio, fim, status e outros, utilize o método all(), passando os filtros necessários. Os filtros inicio e fim são obrigatórios para toda requisição neste endpoint. Este pacote disponibiliza uma api para aplicação de filtros na requisição, bastando instanciar uma nova classe para os filtros desejados e aplicá-los a requisição com o método withFilters():

A lista de filtros disponíveis para o endpoint cob é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
cpf cpf()
cnpj cnpj()
cnpj cnpj()
locationPresente withLocationPresent() ou withoutLocationPresent()
status withStatus()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

CobV

O CobV reúne os endpoints destinados a lidar com o gerenciamento de cobranças com vencimento.

A documentação oficial do Banco Central do Brasil sobre os requests a serem enviados para cada endpoint pode ser visualizada aqui

Para utilizar estes endpoints, utilize o método cobv(), da classe Junges\Pix\Pix:

Criando cobranças com vencimento

Para criar uma cobrança com vencimento, utilize o método createWithTransactionId:

Revisando cobranças com vencimento

Para revisar e atualizar uma cobrança com vencimento, utilize o método updateWithTransactionId:

Consultar uma cobrança com vencimento

Para consultar uma cobrança com vencimento, você pode utilizar o método getByTransactionId, informando o id de transação da cobrança:

Consultar lista de cobranças com vencimento

Para consultar a lista de cobranças imediatas com vencimento com parâmetros como inicio, fim, status e outros, utilize o método all(), passando os filtros necessários. Os filtros inicio e fim são obrigatórios para todas as requisição neste endpoint. Este pacote disponibiliza uma api para aplicação de filtros na requisição, bastando instanciar uma nova classe para os filtros desejados e aplicá-los a requisição com o método withFilters():

A lista de filtros disponíveis para o endpoint cobv é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
cpf cpf()
cnpj cnpj()
cnpj cnpj()
locationPresente withLocationPresent() ou withoutLocationPresent()
loteCobvId cobvBatchId()
status withStatus()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

LoteCobV

O loteCobV reúne os endpoints destinados a lidar com o gerenciamento de cobranças com vencimento em lote.

A documentação oficial do Banco Central do Brasil a respeito dos requests que devem ser enviados em cada requisiçao pode se encontrada neste link;

Para utilizar estes endpointes, utilize o método loteCobv(), da classe Junges\Pix\Pix:

Criando cobrança com vencimento em lote

Para criar cobranças com vencimento em lote utilize o método createBatch(), informando o id do lote e as cobranças que devem ser incluídas:

Revisar lotes de cobranças com vencimento

Para atualizar dados de um lote de cobranças, utilize o método updateBatch(), informando o id do lote a ser atualizado e os novos dados:

Consultar um lote de cobranças com vencimento

Para consultar um lote de cobranças com vencimento, utilize o método getByBatchId(), informando o id do lote que deseja consultar:

Consultar lista de cobranças com vencimento em lote:

Para consultar a lista de cobranças com vencimento em lote com parâmetros como inicio, fim, status e outros, utilize o método all(), passando os filtros necessários. Os filtros inicio e fim são obrigatórios para todas as requisição neste endpoint. Este pacote disponibiliza uma api para aplicação de filtros na requisição, bastando instanciar uma nova classe para os filtros desejados e aplicá-los a requisição com o método withFilters():

A lista de filtros disponíveis para o endpoint loteCobv é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

Payload Location

O payload location reúne os endpoints destinados a lidar com a configuração e remoção dos locations utilizados nos payloads.

Para utilizar o payload location, utilize o método payloadLocation(), da classe Junges\Pix\Pix:

Criar location do payload

Para criar uma location do payload, utilize o método create, passando a location que deseja criar:

Consultar locations cadastradas

Para consultar a lista de locations cadastrados, com parâmetros como inicio, fim, status e outros, utilize o método all(), passando os filtros necessários. Os filtros inicio e fim são obrigatórios para todas as requisição neste endpoint. Este pacote disponibiliza uma api para aplicação de filtros na requisição, bastando instanciar uma nova classe para os filtros desejados e aplicá-los a requisição com o método withFilters():

A lista de filtros disponíveis para o endpoint payloadLocation é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
txIdPresente withTransactionIdPresent() ou withoutTransactionIdPresent
tipoCob withTypeCob() ou withTypeCobv()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

Recuperar location do

Para consultar a location de um payload, você deve utilizar o método getById():

Desvincular uma cobrança de uma location

Para desvincular uma cobrança de uma location, você deve utilizar o método detachChargeFromLocation(), informando o id da location:

ecutado com sucesso, a entidade loc não apresentará mais um transaction_id, se apresentava anteriormente à chamada. Adicionalmente, a entidade cob ou cobv associada ao txid desvinculado também passará a não mais apresentar um location. Esta operação não altera o status da cob ou cobv em questão.

Pix recebidos

Este método reúne endpoints destinados a lidar com gerenciamento de Pix recebidos.

Para utilizá-lo, utilize o método receivedPix, da classe Junges\Pix\Pix:

Consultar pix

Você pode consultar um pix recebido através do id end to end (e2eid):

Consultar pix recebidos

Para consultar a lista de todos os pix recebidos, com parâmetros como inicio, fim, status e outros, utilize o método all(), passando os filtros necessários. Os filtros inicio e fim são obrigatórios para todas as requisição neste endpoint. Este pacote disponibiliza uma api para aplicação de filtros na requisição, bastando instanciar uma nova classe para os filtros desejados e aplicá-los a requisição com o método withFilters():

A lista de filtros disponíveis para o endpoint receivedPix é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
txid transactionId()
txIdPresente withTransactionIdPresent() ou withoutTransactionIdPresent
devolucaoPresente withRefundPresent() ou withoutRefundPresent()
cpf cpf()
cnpj cnpj()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

Solicitar devolução

Você pode solicitar uma devolução de um pix recebido através do método refund, informando o id e2eid do pix a ser devolvido e um id para a devolução:

Consultar devolução

Você pode consultar uma devolução através do id desta devolução e do e2eid do pix:

Webhooks

Reúne endpoints para gerenciamento de notificações por parte do PSP recebedor ao usuário recebedor.

Para gerenciar webhooks, utilize o método webhook, da classe Junges\Pix\Pix:

Configurar o webhook pix

Este é o endpoint para configuração do serviço de notificações acerca de Pix recebidos. Somente Pix associados a um txid serão notificados. Para configurar um webhook, você deve utilizar o método create, informando a chave pix e o URL para onde o webhook deve ser enviado:

Exibir informações sobre o webhook pix

Para consultar um webhook, utilize o método getByPixKey, informando a chave pix associada ao webhook:

Cancelar o webhook pix

Para remover um webhook, utilize o método delete, informando a chave pix associada ao webhook:

Consultar webhooks cadastrados

Para consultar todos os webhooks cadastrados, utilize o método all:

Também é possível incluir alguns filtros, como inicio, fim e paginação, mas neste endpoint nenhum deles é obritagtório:

A lista de filtros disponíveis para o endpoint webhook é listada aqui:


Filtro Método utilizado
inicio startingAt()
fim endingAt()
paginacao.paginaAtual currentPage()
paginacao.itensPorPagina itemsPerPage()

Configurando Endpoints

Para configurar endpoints específicos para cada PSP, você precisa criar um EndpointResolver para cada PSP que não segue a convenção do BACEN. Para criar um endpoint Resolver, crie um classe com o nome desejado e implemente a interface CanResolveEndpoints, ou, simplesmente extenda a class Endpoints, disponível neste pacote. Ela fornece os endpoints necessários, e você pode copiar o array de endpoints e alterar o necessário para o seu PSP.

Após isso, registre o endpoint resolver do seu PSP na chave resolve_endpoints_using, do arquivo de configurações deste pacote, dentro das configurações do PSP desejado.


All versions of laravel-pix with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4|^8.0
mpdf/qrcode Version ^1.1
symfony/psr-http-message-bridge Version ^2.1
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package jrodella/laravel-pix contains the following files

Loading the files please wait ....