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

Boa tarde, <@!790400805303746571>. Primeiramente verifique as informações no arquivo config.json. Instancie sua chave PIX, vinculada à sua conta Gerencianet, recebedor nome do recebedor, client_id, client_secret da sua aplicação (criada no site da GN em API > Minhas aplicações) e sandbox igual a true para Homologação

Avatar discord do usuario guilherme_eyhe3189

guilherme_eyhe3189

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 => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

Avatar discord do usuario joelemanoel

joelemanoel

Ver Respostas

Você quer um SDK em JS?

Avatar discord do usuario ribas2555

ribas2555

Ver Respostas

quem nao quiser ter que depender de uma api ou ta fazendo um projeto em node, eu testei essa lib aqui e funcionou muito bem para criar o qrcode

https://www.npmjs.com/package/gpix

Avatar discord do usuario teodoro.rafael

teodoro.rafael

function getAccessToken($pix_url_auth, $arq_certificado, $client_id, $client_secret)
{
/
# Esta rotina consome um endpoid POST da Gerencianet para realizar a geração do AccessToken
/

$curl = curl_init();

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

curl_setopt_array($curl, array(
CURLOPT_URL => $pix_url_auth, // 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"
),
));

$response = curl_exec($curl);

curl_close($curl);

return json_decode($response, true);
}

Avatar discord do usuario teodoro.rafael

teodoro.rafael

só mudei o config.json

Avatar discord do usuario matheus_efi

matheus_efi

Ver Respostas

Você está conseguindo realizar a autenticação? Se sim, em Tests insira essa definição:

var jsonData = JSON.parse(responseBody);
postman.setEnvironmentVariable("Authorization", pm.response.json().token_type + ' ' + jsonData.access_token);

var access_token = pm.response.json().access_token
postman.setEnvironmentVariable("access_token", access_token);

Avatar discord do usuario ezequielsp

ezequielsp

Então é só mandar um print do json formatado para o cliente.

Avatar discord do usuario _msantana

_msantana

Ver Respostas

Bom dia Matheus, eu já tinha resolvido o tamanho do txid, acabei postando uma imagem de erro mais antigo. Aqui segue a imagem com 35 caracteres, mas o erro continua.
Se alguém que implementou em nodejs poder dá uma ajuda...
imagem enviada na mensagem pelo usuario _msantana

Avatar discord do usuario _msantana

_msantana

Ver Respostas

Boa tarde, alguém tentando criar cobrança com nodeJs teve esse erro?
imagem enviada na mensagem pelo usuario _msantana

Avatar discord do usuario thayago

thayago

e no json de retorno para obter o qrcode eu olho o link retornado no campo "location"?

Avatar discord do usuario ezequielsp

ezequielsp

não... json_encode(["status" => "CONCLUIDA"])

Avatar discord do usuario anoni_mato

anoni_mato

precisa dar um json_encode ou mandar como array (pro curl fazer isso por você)

Avatar discord do usuario anoni_mato

anoni_mato

somente status = "CONCLUIDA"? isso não é um json válido.. por isso erro 500

Avatar discord do usuario ezequielsp

ezequielsp

quando adicionei mais informações:

$body = [
"status" => "CONCLUIDA",
"devedor" => [
"cpf" => "cpf do usuario",
"nome" => "nome do usuario"
],
"valor" => [
"original" => "1.00"
],
];

o erro foi:

'nome' =>
string(13) "json_invalido"
'mensagem' =>
string(36) "Valores ou tipos de campo inválidos"
'erros' =>
array(1) {
[0] =>
array(3) {
'chave' =>
string(4) "enum"
'caminho' =>
string(12) ".body.status"
'mensagem' =>
string(44) "deve ser igual a um dos valores predefinidos"
}
}
}

Avatar discord do usuario oleoessencial

oleoessencial

Tentei fazer a leitura aqui com a quantidade de 25 no txid e retornou

{
"nome": "json_invalido",
"mensagem": "Valores ou tipos de campo inválidos",
"erros": [
{
"chave": "pattern",
"caminho": ".params.txid",
"mensagem": "deve corresponder ao padrão \"^[a-zA-Z0-9]{26,35}$\""
}
]
}

Avatar discord do usuario ferdead2

ferdead2

Ver Respostas

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

Avatar discord do usuario ferdead2

ferdead2

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

Avatar discord do usuario ferdead2

ferdead2

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

Avatar discord do usuario ferdead2

ferdead2

Ver Respostas

Olá pessoal.. voltei aqui de novo.. To fazendo a requisição para consulta do txID, segundo o <@!780500321994539068> disse que para o QRcode estático, o tamanho seria de 1 a 25 caracteres.. e estou recebendo o retorno do GET /v2/cob/txId:

{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"pattern","caminho":".params.txid","mensagem":"deve corresponder ao padrão \"^[a-zA-Z0-9]{26,35}$\""}]}