Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Você pode criar uma request no Postman, com método POST para sua URL webhook, enviando o certificado para mTLS e body, um exemplo de um Pix pago:

json
{ "pix":
[ { "endToEndId": "E292361202020000041739s0349633KVD",
"txid": "4dsaa337897a4a479ef8005eea80e097",
"chave": "1a580600-0000-0000-0000-0008f87327f7",
"valor": "0.01",
"horario": "2021-03-04T17:39:50.000Z"
}
]
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Beleza. Verifique então se está correto no config.json

Avatar discord do usuario guilherme_efi

guilherme_efi

Em relação ao caminho para seu certificado, verifique no arquivo config.json, em /examples/config.json

Avatar discord do usuario marcosfilho8113

marcosfilho8113

Ver Respostas

{
"nome":"json_invalido",
"mensagem":"Valores ou tipos de campo inválidos",
"erros":[
{
"chave":"required",
"caminho":"",
"mensagem":"deve ter a propriedade obrigatória body"
}
]
}

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 marcosfilho8113

marcosfilho8113


curl_setopt_array($curlrequest, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob",
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_SSLCERTPASSWD => "",
CURLOPT_SSLCERT => $config["certificate"],
CURLOPT_POSTFIELDS => json_encode($data),
CURLOPT_HTTPHEADER => array(
"Authorization: $accessToken",
"content-Type: application/json"
),
));

Avatar discord do usuario marcosfilho8113

marcosfilho8113

Ver Respostas

curl_setopt_array($curlrequest, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/v2/cob",
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 => json_encode($data),
CURLOPT_HTTPHEADER => array(
"Authorization: $accessToken",
"content-Type: application/json"
),
));

Avatar discord do usuario marcosfilho8113

marcosfilho8113

$config = [
"certificate" => realpath("classes/gerencianet/certificate_homolog.pem"),
"client_id" => "Client_Id_2bc65d226f54d47bec113654a214a1e3e1b1baea",
"client_secret" => "Client_Secret_948041017d8adadea5eaa303fd744db14da94742"
];

$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curlauth = curl_init();

console_log($data);

curl_setopt_array($curlauth, array(
CURLOPT_URL => "https://api-pix-h.gerencianet.com.br/oauth/token", // Rota base, homologação 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 => $config["certificate"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

Avatar discord do usuario jessica_efi

jessica_efi

A notificação do envio de pix vai com esse status: Realizado, a notificação de confirmação da cobrança vai da seguinte forma:

json
{ "pix":
[ { "endToEndId": "E29236120202103041739s0349633KVD",
"txid": "4dsaa337777a4a479ef8005eea80e097",
"chave": "1a5806f6-74ba5-4d81-ba73-aff8f87327f7",
"valor": "0.01",
"horario": "2021-03-04T17:39:50.000Z"
}
]
}

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Bom dia Henrique! Quando você faz uma solicitação de envio de pix, tem o risco do psp recusar esse envio ou ter uma falha... Então quando é "concluído" enviamos o webhook da seguinte maneira... como o Matheus havia mostrado ontem:

json
{
"pix": [
{
"endToEndId": "E090893562021030If27a7868",
"chave": "2c5c7441-a91e-4982-8c25-6408888e18ae",
"tipo": "SOLICITACAO",
"status": "REALIZADO",
"valor": "0.01",
"horario": "2021-03-04T20:39:47.000Z"
}
]
}

Avatar discord do usuario matheus_efi

matheus_efi

json
{
"pix": [
{
"endToEndId": "E090893562021030If27a7868",
"chave": "2c5c7441-a91e-4982-8c25-6408888e18ae",
"tipo": "SOLICITACAO",
"status": "REALIZADO",
"valor": "0.01",
"horario": "2021-03-04T20:39:47.000Z"
}
]
}

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Um exemplo de webhook enviado ao receber um pix:

json
{ "pix":
[ { "endToEndId": "E29236120202103041739s0349633KVD",
"txid": "4dsaa337777a4a479ef8005eea80e097",
"chave": "1a5806f6-74ba5-4d81-ba73-aff8f87327f7",
"valor": "0.01",
"horario": "2021-03-04T17:39:50.000Z"
}
]
}

Avatar discord do usuario henriqueao4106

henriqueao4106

response: {"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"pattern","caminho":".params.id","mensagem":"deve corresponder ao padrão "^[0-9]{1,32}$""}]}

Avatar discord do usuario amunhoz

amunhoz

Ver Respostas

NODEJS + AXIOS: getaddrinfo ENOTFOUND api-pix-h.gerencianet.com.br"

Avatar discord do usuario anoni_mato

anoni_mato

Ver Respostas

exibir a string (quando não precisaria) pode parecer "newbice" do dev (para quem é mais entendido) e até ser "feio", mas é questão de segurança contra problemas de JS. a página de pagamento do NuBank até a última vez que testei não estava copiando o código no Firefox.. e aí como faz? ter um campo input convencional com a string efetiva visível para ser copiada manualmente em último caso, é um recurso salvador.

Avatar discord do usuario luizcristino

luizcristino

Ver Respostas

Boa tarde. Procurei mensagens antigas sobre isso mas não consegui entender corretamente. Como faço para fazer o patch de uma cobrança com o txid?

Este é o meu retorno

json
{
"mensagem": "Valores ou tipos de campo inválidos",
"nome": "json_invalido",
"erros": [
{
"mensagem": "não são permitidas propriedades adicionais",
"chave": "additionalProperties",
"caminho": ".body"
}
]
}


E este é meu envio

json
// patch v2/cob/EvgJWbbbuVwnBPl4eLU9VBkRzEJdbbEIB
{
"valor": {
"original": "500.00"
}
}

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Exatamente. É necessário rodar o comando composer install no diretório que possui o arquivo composer.json

Avatar discord do usuario fabricioad5169

fabricioad5169

Ver Respostas

Passos que fiz: Criei minha conta na Gerencianet. Criei minha aplicação. Obtive ID_CLIENT e ID_SECRET. Mandei gerar meu certificado .p12. Usei o comando para gerar o arquivo .pem . Baixei os arquivos da pasta API_V2 e API_V1 com a pasta VENDOR e as respectivas subpastas. Fiz as alterações no arquivo config.json da pasta EXAMPLES existente na API_V2 e API_V1. E estou tentando chamar qualquer exemplo desta pasta com extensão php no meu servidor na locaweb. Recebo sempre o erro 500.... pulei alguma etapa? Alguam sugestão para fazer rodar algum teste simples no meu domínio de gerar um QR CODE para fazer o pix ou algum procedimento básico com o pix?

Avatar discord do usuario luizcristino

luizcristino

Boa tarde, eu estou tendo um problema na hora da intregação com o pix na hora de adicionar o certificado. Eu estou utilizando o código de exemplo que existe na página de documentação

java
String client_id = "YOUR-CLIENT-ID";
String client_secret = "YOUR-CLIENT-SECRET";;
String basicAuth = Base64.getEncoder().encodeToString(((client_id+':'+client_secret).getBytes()));

//Diretório em que seu certificado em formato .p12 deve ser inserido
System.setProperty("javax.net.ssl.keyStore", "certificado.p12");
SSLSocketFactory sslsocketfactory = (SSLSocketFactory) SSLSocketFactory.getDefault();

URL url = new URL ("https://api-pix-h.gerencianet.com.br/oauth/token"); //Para ambiente de Desenvolvimento
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/json");
conn.setRequestProperty("Authorization", "Basic "+ basicAuth);
conn.setSSLSocketFactory(sslsocketfactory);
String input = "{\"grant_type\": \"client_credentials\"}";

OutputStream os = conn.getOutputStream();
os.write(input.getBytes());
os.flush();

InputStreamReader reader = new InputStreamReader(conn.getInputStream());
BufferedReader br = new BufferedReader(reader);

String response;
while ((response = br.readLine()) != null) {
System.out.println(response);
}
conn.disconnect();

E sempre me retorna Connection Reset até pelo postman

Avatar discord do usuario raquelct4629

raquelct4629

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://api-pix-h.gerencianet.com.br/oauth/token" #Para ambiente de Desenvolvimento

payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}

response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)