Histórico de mensagens sobre nome pix em pix

EXIBINDO CONVERSAS RECENTES:

Texto: nome pix
Canal: pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Sim, <@!783359762917752843>. Atualizamo nossa SKD para a versão 3.1.0 que possui estes novos endpoints também. Segue exemplo do endpoint PUT /v2/gn/config

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);

try {
$body = [
"pix" => [
"receberSemChave" => true,
"chaves" => [
"[email protected]" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
],
"efa1db8c-735b-4898-92e0-a54daabe65e6" => [
"recebimento" => [
"txidObrigatorio" => false,
"qrCodeEstatico" => [
"recusarTodos" => false
]
]
]
]
]
];

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

echo json_encode(["code" => 204]);
} catch (GerencianetException $e) {
print_r($e->code);
print_r($e->error);
print_r($e->errorDescription);

throw new Error($e->error);
} catch (Exception $e) {
throw new Error($e->getMessage());
}


Com isto, é necessário incluir o endpoint com o nome pixUpdateSettings no arquivo \src\Gerencianet\config.json

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Não, um arquivo cujo único nome é pix, que vai ser o que vai tratar o recebimento do webhook.

Avatar discord do usuario roguitar88

roguitar88

Ver Respostas

Tipo outra pasta com o nome "pix" ou um arquivo tipo pix.json?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Precisa, algo com o nome pix que será acionado pelo webhook.

Avatar discord do usuario roguitar88

roguitar88

Já tentei renomear de olimppiuspix.crt.pem para olimppiuspixcrt.pem (pensando ser problema na extensão do arquivo) e dá a mesma coisa...

Avatar discord do usuario elsonlima0580

elsonlima0580

{
"sandbox": false,
"chave": "27920008182",
"recebedor": "suainscricao.com",
"homologacao": {
"nome_certificado": "certificado.pem",
"client_id": "Client_Id...",
"client_secret": "Client_Secret...",
"pix_url_auth": "https://api-pix-h.gerencianet.com.br/oauth/token",
"pix_url_cob": "https://api-pix-h.gerencianet.com.br/v2/cob",
"pix_url": "https://api-pix-h.gerencianet.com.br/v2/pix"
},
"producao": {
"nome_certificado": "certificado.pem",
"client_id": "id aqui",
"client_secret": "Client_Secret_aqui",
"pix_url_auth": "https://api-pix.gerencianet.com.br/oauth/token",
"pix_url_cob": "https://api-pix.gerencianet.com.br/v2/cob",
"pix_url": "https://api-pix.gerencianet.com.br/v2/pix"
}
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Também do <@!781928420757864468> :
// modelo funcional
public void GerarTokenGN(string client_id, string client_secret)
{
// força o uso do protocolo TLS, caso o protocolo padrão seja SSL ou outro protocolo
//ServicePointManager.Expect100Continue = true;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

X509Certificate2 uidCert = new X509Certificate2("NOME_DO_CERTIFICADO.p12", "");
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
client.ClientCertificates = new X509CertificateCollection() { uidCert };
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", client_id, client_secret))));
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"grant_type\":\"client_credentials\",\"client_id\":\"" + client_id + "\",\"client_secret\":\"" + client_secret + "\"}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;

Console.WriteLine(response);
}

Avatar discord do usuario paulo.manoel8302

paulo.manoel8302

Ver Respostas

Este endereço: https://gerarqrcodepix.com.br/api/v1?nome=PAGAMENTOSRENOVACAOAUTOPIX&cidade=Rio+de+Janeiro&location=qrcodes-pix.gerencianet.com.br%2fv2%2fc04644cfd18144db9e7f253c20b56e15&mcc=7274&saida=br&tamanho=256 me devolveu o seguinte link: pix.gerencianet.com.br/v2/c04644cfd18144db9e7f253c20b56e155204727453039865802BR5925PAGAMENTOSRENOVACAOAUTOPI6014Rio de Janeiro6207050363048DAA se eu acessar esse link a gerencianet me devolve página não encontrada

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

O nome não é retornado e sim as informações do Pix como o e2eid, valor, horario e infoPagador. O nome não está previsto no manual do Pix definido pelo BACEN

Avatar discord do usuario Deleted User

Deleted User

Ver Respostas

$body = [
"calendario" => [
"expiracao" => 3600
],
"devedor" => [
"cpf" => preg_replace('/[^0-9]/is', '', $USER->profile['cpf']),
"nome" => fullname($USER)
],
"valor" => [
"original" => "0.01"
],
"chave" => "" // faça um chamado com CHAVE vazia
];

$pix = $api->pixCreateImmediateCharge([], $body);

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Boa tarde garcialuige, pelo nome TRUFA SHOP acredito que você esteja seguindo os vídeos do DevPleno, no entanto essas falhas retornadas não são referentes da API-Pix e sim relacionadas a promises. DE qualquer forma temos um exemplo de autenticação pronte em node que você pode se baser/utilizar caso queira:

js
"use strict";
const https = require("https");
var axios = require("axios");
var fs = require("fs");

//Insira o caminho de seu certificado .p12 dentro de seu projeto
var certificado = fs.readFileSync("./certificado.p12");

//Insira os valores de suas credenciais em desenvolvimento do pix
var credenciais = {
client_id: "YOUR-CLIENT-ID",
client_secret: "YOUR-CLIENT-SECRET",
};

var data = JSON.stringify({ grant_type: "client_credentials" });
var data_credentials = credenciais.client_id + ":" + credenciais.client_secret;

// Codificando as credenciais em base64
var auth = Buffer.from(data_credentials).toString("base64");

const agent = new https.Agent({
pfx: certificado,
passphrase: "",
});
//Consumo em desenvolvimento da rota post oauth/token
var config = {
method: "POST",
url: "https://api-pix-h.gerencianet.com.br/oauth/token",
headers: {
Authorization: "Basic " + auth,
"Content-Type": "application/json",
},
httpsAgent: agent,
data: data,
};

axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});

Avatar discord do usuario andreboazsafepag

andreboazsafepag

Error: 500 Internal Server Error: [{"nome":"erro_aplicacao","mensagem":"Ocorreu um erro ao requisitar o pix"}]

Avatar discord do usuario rubenskuhl

rubenskuhl

Para quem não está conseguindo gerar o Token a partir do exemplo C# da Gerencianet.
No exemplo da Gerencianet tem uma variável "cities" contendo o client_id e client_secret, mas nunca é usada.
O Authorization está fixo, mas você deve substituí-lo pelo authorization base64 gerado a partir de seu client_id e client_secret.
O parameter "application/json" tem o grant_type=client_credentials, mas não tem as credenciais no body.
Certifique-se de estar usando .Net Framework 4.6.1 ou superior. Versões anteriores do .Net Framework não utilizam TLS por padrão.
Para versão anterior a 4.6.1 do .Net Framework, descomente as duas primeiras linhas do código

Atenção: atente-se ao ambiente de homologação/produção e faça a alteração necessária.
// modelo funcional
public void GerarTokenGN(string client_id, string client_secret)
{
// força o uso do protocolo TLS, caso o protocolo padrão seja SSL ou outro protocolo
//ServicePointManager.Expect100Continue = true;
//ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Ssl3;

X509Certificate2 uidCert = new X509Certificate2("NOME_DO_CERTIFICADO.p12", "");
var client = new RestSharp.RestClient("https://api-pix-h.gerencianet.com.br/oauth/token");
client.ClientCertificates = new X509CertificateCollection() { uidCert };
var request = new RestRequest(Method.POST);
request.AddHeader("Authorization", "Basic " + System.Convert.ToBase64String(Encoding.ASCII.GetBytes(string.Format("{0}:{1}", client_id, client_secret))));
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"grant_type\":\"client_credentials\",\"client_id\":\"" + client_id + "\",\"client_secret\":\"" + client_secret + "\"}", ParameterType.RequestBody);
IRestResponse restResponse = client.Execute(request);
string response = restResponse.Content;

Console.WriteLine(response);
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Neste exemplo, exibe um que contém esta informação. Segue um exemplo completo:

php
$curl = curl_init();

$txid = "seutxid";

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 => $config["certificate"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_POSTFIELDS =>'{
"calendario": {
"expiracao": 13600
},
"devedor": {
"cpf": "12345678909",
"nome": "Francisco da Silva"
},
"valor": {
"original": "0.02"
},
"chave": "[email protected]",
"solicitacaoPagador": "Teste pix."
}',
CURLOPT_HTTPHEADER => array(
"authorization: Bearer $accessToken",
'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Avatar discord do usuario joaoa.veroneze

joaoa.veroneze

Ver Respostas

Bom dia pessoal, meu nome é João Veroneze estou como algumas duvidas sobre a API PIX de vocês, nela é possível gerar uma cobrança e via API consultar se esta cobrança foi paga, sem a necessidade de uma pessoa consultando um painel de gerenciamento?

Avatar discord do usuario andreboazsafepag

andreboazsafepag

{
"nome": "pix_nao_encontrado",
"mensagem": "Nenhum pix encontrado para o identificador informado"
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Então não apareceria:
[email protected][Pix.ae]5204000053039865802BR5925Obter o nome da Chave Pix6003Pix620705036304F585

Mas sim:
[Pix Copia e Cola]

Avatar discord do usuario racfish785348

racfish785348

Oi Pessoal, bom dia!

Estamos com dificuldades em configurar o MTLS. Configuramos 3 host:

1) https://webhook.site/528aa31a-0858-4b51-b923-6a07f9f877c1
Resposta da API da Gerencianet:
{
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
}
Esse post chega em nosso ambiente: "evento": "teste_webhook".

2) https://mtls-pix.clicksign.me/pix - Sem MTLS - Não chega o POST ( "evento": "teste_webhook")
{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}
Esse post não chega em nosso ambiente.

3) https://mtls-pix.clicksign.dev/pix - Com MTLS - Não chega o POST ( "evento": "teste_webhook")
{
"nome": "webhook_invalido",
"mensagem": "A requisição na URL informada falhou com o erro: ERR_TLS_CERT_ALTNAME_INVALID"
}
Esse post não chega em nosso ambiente.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, Flavio!
Primeiramente, seu cliente deve acessar https://sistema.gerencianet.com.br/ logar na conta. Para obter as credenciais, deverá criar uma aplicação, acessando o menu API->Minhas aplicações->Nova aplicação. Insira o nome da sua aplicação. Ative os escopos desejados do Pix para o ambiente (Produção ou Homologação) e clique em 'Criar nova aplicação'.

Posteriormente, acesse o menu API->Meus certificados. Escolha o ambiente desejado (Produção ou Homologação) e clique em 'Novo Certificado'. Será solicitado uma senha, que é a assinatura eletrônica (a mesma utilizada no aplicativo).