Essa API foi desenvolvida para facilitar a integração com a API do PIX da Gerencianet. Você pode isntalar em qualquer projeto via composer.
- Autenticação
- Geração de cobrança
A medida que forem desenvolvidas novas features iremos adicionando aqui neste documento, a API será atualizada constantemente até que seja realizado a comunicação com todas as partes da API.
Para utilizar este SDK você precisará de no mínimo:
- [PHP] - php: >=7.3
- [CURL] - Latest Version
- [COMPOSER] - Latest Version
A instalação deste SDK é ralmente muito simples e você poderá fazer isso apenas com o comando abaixo.
$ composer require levicosta201/gerencianet-pix-sdk
Utilizar este SDK também foi facilitado. Sabemos que o SDK da GN é simples de utilizar, porém foi feita uma organização para melhor compreesão e facilidade da emissão do PIX. Veja o exemplo abaixo:
Antes de efetuar qualquer transação na API PIX da GN é preciso que você receba um token de autenticação, este token pode ser obtido por meio de ticket da própria GN.
//Aqui são aceitos dois parâmetros em forma de string, homolog ou production
$connect = new Gerencianet\Pix\Connect('production');
//Aqui você você precisa informar apenas o caminho do seu certificado .pem fornecido pela GN
$connect = $connect->setCertFile('PATH_TO_CERT_FILE')
->setClientId(env('GERENCIA_NET_CLIENT_ID'))
->setClientSecret(env('GERENCIA_NET_CLIENT_SECRET'));
return $connect->proccess();
A solicitação acima irá retornar um array com os seguintes dados:
[▼
"data" => array:2 [▼
"accessToken" => "AQUI_IRA_VIR_SEU_TOKEN_DE_ACESSO ▶"
"tokenType" => "Bearer"
]
]
Após a autenticação você já possui o necessário para realizar uma cobrança, que poderá ser realizada da seguinte maneira:
$pixCharge = new Gerencianet\Pix\Charge('production');
$pixCharge = $pixCharge->setCepDebtor('12300999')
->setCityDebtor('CIDADE_DE_QUEM_PAGA')
->setFreeValue(false)
->setNameDebtor('Nome de quem paga')
->setCpfCnpjDebtor('CPF_DEQUEM_PAGA')
->setValue(10.0)
->setType('estatico')
->setDescriptionService('Teste de descrição')
->setDimenQrCoode(256)
->setUniquePay(true)
->setExpiresTimeQrCode(3600)
->setAccessToken($authData['accessToken'])
->setTokenType('TIPO_TOKEN_RETORNO_API')
->setKeyPix('SUA_CHAVE_PIX_GN');
return $pixCharge->create();
Parâmetros
Função | Tipo | Descrição |
---|---|---|
setNameDebtor() | String | Deverá ser informado o nome de quem está REALIZANDO O PAGAMENTO do Pix |
setCpfCnpjDebtor() | String | Deverá ser informado o CPF/CNPJ de quem está REALIZANDO O PAGAMENTO do Pix. Sem pontos e sem traços |
setCepDebtor() | String | Deverá ser informado o CEP de quem está REALIZANDO O PAGAMENTO do Pix |
setCityDebtor() | String | Deverá ser informado a Cidade de quem está REALIZANDO O PAGAMENTO do Pix |
setFreeValue() | Bool | Deverá ser informado se o valor do pagamento é livre ou não |
setValue() | Float | Deverá ser informado o valor da cobrança do Pix |
setType() | Bool | Deverá ser informado se o QR Code será dinâmico ou estático |
setDescriptionService() | String | Deverá ser informado a descrição da cobrança |
setDimenQrCoode() | Integer | Deverá ser informado o tamanho da imagem do QR Code, o tamanho máximo é 256px |
setUniquePay() | Bool | Deverá ser informado se o QR Code poderá ser reutilizado |
setExpiresTimeQrCode() | Integer | Deverá ser informado o tempo de expiração do QR Code em Milisegundos |
setKeyPix() | String | Deverá informar a sua chave PIX cadastrada no GN sem pontos e sem traços |
setTokenType() | String | Deverá informar o tipo de token que a API retorna |
create() | Class | Executa a cobrança e retorna o array com os dados da cobrança |
Caso tenha sucesso na execução acima você deverá receber o seguinte retorno em forma de array
array:4 [▼
"success" => "true"
"barCode" => "CODIGO_DE_BARRAS"
"qrCodeBase64" => "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAABlB"
"pixData" => array:7 [▼
"calendario" => array:1 [▼
"expiracao" => "3600"
]
"devedor" => array:2 [▼
"cpf" => "CPF_PAGADOR"
"nome" => "NOME_PAGADOR"
]
"valor" => array:1 [▼
"original" => 0.01
]
"chave" => "28656307000164"
"solicitacaoPagador" => "Teste de descrição"
"txid" => "5m6KHjHtDP2a 5Yva30gWjMrA"
]
]
Após realizar a sua cobrança, você poderá listar e visualizar as cobranças recebidas, para isso faça da seguinte forma:
$authData = PixService::auth();
$issuedPix = new Issued();
$issuedPix = $issuedPix->setInitDate("2020-12-09" . "T00:00:00Z")
->setEndDate("2021-12-12" . "T00:00:00Z")
->setCertFile(self::getCertFile())
->setTokenType($authData['tokenType'])
->setAccessToken($authData['accessToken']);
return $issuedPix->list();
Parâmetros
Função | Tipo | Descrição |
---|---|---|
setInitDate() | DateTime | Deverá ser informado para saber qual o início do período da busca |
setEndDate() | DateTime | Deverá ser informado para saber qual o fim do período da busca |
setFilterCpf() | String | Deverá ser informado para filtrar PIX por um CPF específico |
setFilterCnpj() | String | Deverá ser informado para filtrar PIX por um CNPJ específico |
setPaginate() | Integer | Deverá ser informado para filtrar a paginação da Lista do PIX |
setItensPerPage() | Integer | Deverá ser informado para o retorno de quantos PIX serão exibidos por página |
Caso tenha sucesso na requisição você receberá o seguinte array:
array:2 [▼
"parametros" => array:3 [▼
"inicio" => "2020-12-09T00:00:00Z"
"fim" => "2021-12-12T00:00:00Z"
"paginacao" => array:4 [▼
"paginaAtual" => 0
"itensPorPagina" => 100
"quantidadeDePaginas" => 1
"quantidadeTotalDeItens" => 1
]
]
"pix" => array:1 [▼
0 => array:4 [▼
"endToEndId" => "ABCDEFGR020121414PVXK1"
"valor" => "0.01"
"horario" => "2020-12-14T14:24:19.000Z"
"infoPagador" => "API"
]
]
]
- Lis PIX
- List PIX Cob
- Pix Webhook
- Cancel PIX
MIT
Free Software, Hell Yeah!