Histórico de mensagens sobre API pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: API pix
Canal: pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Na doc da API Pix não diz. Mas tem na doc da API de emissões, e seria uma base.

Avatar discord do usuario claudiohenriquedev

claudiohenriquedev

Ver Respostas

Posso comentar aqui sobre um projeto a qual desenvolvi? Acho que muitos que utilizam a API PIX da GN tenha interesse.

Avatar discord do usuario .antoniogregorio

.antoniogregorio

Ver Respostas

A Respeito da API de envio pix que será descontinuada, tenho um projeto de um cliente que utiliza da SDK PHP de vocês, a sdk será ou já foi atualizada ???

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O problema é que as pessoas não entendem que serviços bancários para uma conta de movimentação e serviços de recebimento de pagamentos são skills muito diferentes. Se restringir tanto aos bancões quanto aos neobanks PJ é uma tremenda furada, e cabe a quem conhece mais o sistema explicar isso para eles... não tem problema não usar a Gerencianet, há outros prestadores de API Pix com implementações funcionais (apesar de não tão sólidas), e você não é vendedor da GN. Mas quando a API Pix do bancão não funcionar direito, esse cliente vai culpar você integrador, achando que o bancão não pode fazer algo tão ruim...

Avatar discord do usuario andrebarbosa_dev

andrebarbosa_dev

Ver Respostas

aham, mas eles nao liberam essa api pix por nada. 😦 a gente até ja converso rubens.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode receber notificações automaticamente via webhook referente às modificações de status de uma cobrança Pix. Para isso, será necessário a inserção de uma chave pública da Gerencianet em seu servidor para que a comunicação obedeça o padrão mTLS.
Veja mais detalhes em nossa documentação: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-webhooks

Ou seja, primeiramente em um servidor dedicado, você deve inserir uma chave pública da Gerencianet nas configurações de seu servidor para que a comunicação obedeça o padrão mTLS (forma de autenticação mutua).
Veja um exemplo desta configuração em um servidor Apache, Nginx, Node, etc: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-exemplos-de-configura-es-de-servidor

Então com seu servidor configurado com mTLS em seu domínio (ex: https://seudominio.com.br/webhook/" class="link-msg">https://seudominio.com.br/webhook/), você irá consumir a rota PUT /v2​/webhook/:chave uma única vez para registrar seu webhookUrl vinculado à sua chave Pix. Acrescentando uma observação que é a adição do /pix no final da sua URL. Ou seja, na request PUT https://api-pix.gerencianet.com.br/v2/webhook/:chave você irá passar o body com sua URL, exemplo:

json
{
"webhookUrl": "https://seudominio.com.br/webhook"
}
No entanto, as notificações serão enviadas para sua URL com o /pix no final, assim: https://seudominio.com.br/webhook/pix.

Desta forma, esta adição do /pix também dever ser tratada nas configurações de seu servidor para que na rota /webhook/pix de seu servidor também exija o certificado CA da Gerencianet.

Veja mais detalhes sobre o endpoint: https://dev.gerencianet.com.br/docs/api-pix-endpoints#section-configurar-o-webhook-pix

Com isto, todo Pix gerado com sua chave Pix e que possua um txid, serão enviados as notificações para sua URL.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

1 centavo é a tarifa mínima da API Pix (mas seu exemplo é de boleto)

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Primeiro você deve autenticar na API e obter o access_token.

php
$curl = curl_init();

$authorization = base64_encode("$client_id:$client_secret");

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, desenvolvimento ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => '{"grant_type": "client_credentials"}',
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $authorization",
"Content-Type: application/json"
),
));

$auth = json_decode(curl_exec($curl), true);

curl_close($curl);

$tokenType = $auth['token_type'];
$accessToken = $auth['access_token'];

Depois emitir o pix
php
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$txID",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_SSLCERT => $arq_certificado, // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: $tokenType $accessToken",
"Content-Type: application/json"
),
));

$dadosPix = json_decode(curl_exec($curl), true);
curl_close($curl);

return $dadosPix;

Avatar discord do usuario deivson7351

deivson7351

Ver Respostas

seria isso:
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob/$id",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS =>'{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "02279112312",
"nome": "Maria apareciada monteiro"
},
"valor": {
"original": "10.21"
},
"chave": "",
"solicitacaoPagador": "Mensaldiade Monteiro Sistemas"
}',
CURLOPT_HTTPHEADER => array(
"authorization: {{$autorizacao}}",
"x-client-cert-pem: {{$config["certificado"]}}"
),
));

echo $curl;

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario jessica_efi

jessica_efi

Para você testar todas as funcionalidades da API Pix, sugerimos utilizar o sandbox = false, com suas credenciais de produção.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Se você ja quiser ir utilizando, você pode realizar a seguinte alteração:
No arquivo gn-constants.js (https://github.com/gerencianet/gn-api-sdk-node/blob/master/lib/gn-endpoints.js), em ENDPOINTS -> PIX -> pixSend, alterar para:

pixSend: {
route: '/v2/gn/pix/:idEnvio',
method: 'put'
},

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

O certificado emitido em sua conta para realizar requisições na Api Pix?

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @deivson7351. Tudo bem?
Instalando nossa SDK de PHP (https://github.com/gerencianet/gn-api-sdk-php), você pode utilizar o seguinte exemplo para gerar cobrança imediata definindo na variável $params o txid desejado.

php

require __DIR__ . '/../../../vendor/autoload.php';

use Gerencianet\Exception\GerencianetException;
use Gerencianet\Gerencianet;

$file = file_get_contents(__DIR__ . '/../../config.json');
$options = json_decode($file, true);

$params = "7978c0c97ea847e78e8849634473c1f1"; // string (Id da Transação) ^[a-zA-Z0-9]{26,35}$

$body = [
"calendario" => [
"expiracao" => 3600
],
"devedor" => [
"cpf" => "12345678909",
"nome" => "Francisco da Silva"
],
"valor" => [
"original" => "0.01"
],
"chave" => "", // Chave pix da conta Gerencianet do recebedor
"solicitacaoPagador" => "Informe o número ou identificador do pedido.",
"infoAdicionais" => [
[
"nome" => "Campo 1", // Nome do campo string (Nome) ≤ 50 characters
"valor" => "Informação Adicional1 do PSP-Recebedor" // Dados do campo string (Valor) ≤ 200 characters
],
[
"nome" => "Campo 2",
"valor" => "Informação Adicional2 do PSP-Recebedor"
]
]
];

try {
$api = Gerencianet::getInstance($options);
$pix = $api->pixCreateCharge($params, $body);

if ($pix['txid']) {
$params = [
'id' => $pix['loc']['id']
];

// Gera QRCode
$qrcode = $api->pixGenerateQRCode($params);

echo 'Detalhes da cobrança:';
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'QR Code:';
echo '
' . json_encode($qrcode, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'Imagem:
';
echo '';
} else {
echo '
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';
}
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);
} catch (Exception $e) {
print_r($e->getMessage());
}

Avatar discord do usuario sejaefi

sejaefi

Ver Respostas

Olá, @here!

Informamos que a rota POST/v2/pix - para requisitar o envio de Pix - será descontinuada a partir do dia 03/01/2023.

Mas podem ficar tranquilos. A documentação da API Pix foi atualizada com o novo endpoint PUT/v2/gn/pix/:idEnvio e melhorias que deixaram o serviço ainda mais robusto e com melhor performance:

- O endpoint passa a ter um método idempotente.
- A assinatura do endpoint agora permite informar um idEnvio. Esse identificador, único para cada envio, será gerado e controlado por você, evitando duplicidades inconvenientes.

Ficou com alguma dúvida? O nosso time de especialistas em integração está sempre à disposição para ajudar, todos os dias da semana, aqui, na comunidade Gerencianet.

Contem com a gente. 🧡

Avatar discord do usuario dudabrazil9577

dudabrazil9577

Ver Respostas

Rubens Kuhl, me perdoe a ignorancia mas nao poderia ser um backend construido em android-java, não distribuido pela play store, que rode e execute as tarefas próprias do backend, como fazer as requisições às APIs e interagir com o banco de dados? Na verdade o meu backend esta nesse formato, utilizando uma API de futebol e utilizando o firebase realtime como BD, pq é a linguagem que tenho mais domínio por enquanto. Está praticamente pronto, apenas faltando o módulo para gerar a cobrança PIX. Escolhi a GerenciaNet por ser, de todas a mais bem conceituada no mercado, conforme pesquisa, porém não existe tutoriais ou orientação como implementar o módulo de geração das cobranças, simples. Gostaria muito de orientação nesse sentido.

Avatar discord do usuario .guind

.guind

Ver Respostas

se vc cadastrou o webhook: api/pagamentos/webhook

vai vim as chamadas:
POST api/pagamentos/webhook - com body de teste do hand-shake
POST api/pagamentos/webhook/pix - com body do callback

Avatar discord do usuario jrodella

jrodella

Ver Respostas

Bom dia
Notei que a API sendPix mudou o endpoint, sendo que agora é necessário informar o parâmetro :idEnvio.
Pergunta: o endpoint antigo permanecerá funcionando ou será descontinuado?

antigo: POST /v2/pix
novo: PUT /v2/gn/pix/:idEnvio

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Um back-end que se relacione com a API Pix e exponha métodos específicos e limitados para o app.