Histórico de mensagens sobre js

EXIBINDO CONVERSAS RECENTES:

Texto: js
# cartões
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Certo, é possivel sim. No PHP você pode utilizar o Curl para realizar as requisições. Segue o exemplo para autenticar na API:


$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gerencianet.com.br/v1/authorize',
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_HTTPHEADER => array(
'Authorization: Basic (cliend_id:client_secret) em base64',
'Content-Type: application/json'
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario catalunha

catalunha

O campo json é ausente.
Ai trato com
console.log(pix.infoPagador===undefined?'':pix.infoPagador);

# pix
Avatar discord do usuario catalunha

catalunha

Ver Respostas

mas documentação diz que ela vem no corpo do json.
Ou eu fiz algo errado ou a gnet mudou o json e nao atualizou a doc. Se for onde gero uma issue pra ajudar a turma de dev da gnet.

# pix
Avatar discord do usuario catalunha

catalunha

Ver Respostas

Ciclo fechado no meu App PoCs (Frontend: Flutter Android/Web, backend para webhook com: Node.js, backend App: back4app):
1) Cliente pede via App
2) App organizar gera QRCode para pagto PIX
3) Cliente paga PIX
4) App identifica transação e informa ao cliente que ele ja pagou
5) Empresa prepara produto e entrega.
🙏🙌🙇‍♂️
🥳🥳🥳

# pix
Avatar discord do usuario Joow

Joow

Ver Respostas

mas tá com uma chave associada junto ao app esse é o json que to enviando
{"calendario":{"expiracao":3600},"valor":{"original":"0.1"},"chave":"f1364efb-d45b-47f4-acd8-73f0099f8ef9","solicitacaoPagador":"Pedido X"}

# pix
Avatar discord do usuario Joow

Joow

Ver Respostas

@rubenskuhl To com esse erro somente em produção e não achei nada na documentação falando sobre
{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"pattern","caminho":".body.valor.original","mensagem":"deve corresponder ao padrão \"^[0-9]{1,10}\\.[0-9]{2}$\""}]}

# pix
Avatar discord do usuario flavio.santos.

flavio.santos.

try {
$api = Gerencianet::getInstance($options);
$pix = $api->pixCreateImmediateCharge([], $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());
}

# pix
Avatar discord do usuario flavio.santos.

flavio.santos.

$file = file_get_contents(__DIR__ . '/../../../app/cert/config.json');
$options = json_decode($file, true);
$body = [
"calendario" => [
"expiracao" => 3600
],
"devedor" => [
"cpf" => "09488986743",
"nome" => "Francisco da Silva"
],
"valor" => [
"original" => "0.01"
],
"chave" => "04055053000160", // Chave pix da conta Gerencianet do recebedor
"solicitacaoPagador" => "123",
"infoAdicionais" => [
[
"nome" => "Campo 1", // Nome do campo string (Nome) ≤ 50 characters
"valor" => "000000" // Dados do campo string (Valor) ≤ 200 characters
],
[
"nome" => "Campo 2",
"valor" => "Informação Adicional2 do PSP-Recebedor"
]
]
];

# cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @muriloakita!
O processe de devolução feito no painel da Gerencianet (https://gerencianet.com.br/artigo/fazer-devolucao-de-pagamento-cartao-de-credito/#versao-7), realiza o reembolso somente do valor total.
Em homologação não é possível simular este processo. Mas de acordo com a solicitação, a transação passar para o status refunded
(Lista dos possíveis status: https://dev.gerencianet.com.br/docs/transacoes)

Sendo assim, quando consultar o token de notificação desta cobrança, conterá o array informando a alteração para o status refunded
https://dev.gerencianet.com.br/docs/notificacoes-recebendo#section-2-1-exemplos-de-respostas-
Exemplo:

json
{
"code": 200, // retorno HTTP "200" informando que o pedido foi bem sucedido
"data": [
...
{
"created_at": "202-05-03 07:33:30", // data da alteração do status do array "id 4"
"custom_id": null, // identificador da cobrança definido pelo integrador, se existir
"id": 4,
"identifiers": { // identificadores que representam a cobrança
"charge_id": 24342333
},
"received_by_bank_at": "2022-05-02", // data do pagamento da cobrança
"status": {
"current": "refunded", // status ATUAL da transação: refunded ("Pagamento devolvido")
"previous": "paid" // status ANTERIOR da transação: paid ("pago")
},
"type": "charge", // tipo da cobrança que sofreu a alteração (neste caso, "charge" quer dizer que a alteração ocorreu em uma transação)
"value": 6990 // valor que acompanha a alteração. Esta tag existirá quando a alteração for uma confirmação de pagamento, informando o valor pago que foi confirmado
}
]
}

# pix
Avatar discord do usuario catalunha

catalunha

Ver Respostas

tem um video de webhook com node.js e ngix pra ajudar ? ou docs a respeito.

# pix
Avatar discord do usuario catalunha

catalunha

Ok. to focado em subir meu servidor node.js pra configurar webhook.

# pix
Avatar discord do usuario tadgaudio

tadgaudio

Eu uso nextjs e nodejs não sei se consigo muito mexer nesse sentido.

# pix
Avatar discord do usuario tadgaudio

tadgaudio

Ver Respostas

vcs terial algum exemplo em nodejs,melhor ainda se for em nextjs?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O exemplo que tem na doc é assim:

//Desenvolvido pela Consultoria Técnica da Gerencianet

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

# pix
Avatar discord do usuario tadgaudio

tadgaudio

Reparem que eu até tentei executar uma operação de configuração no nodejs NODE_OPTIONS='--max-http-header-size=24576f' npm run dev 3000

# pix
Avatar discord do usuario tadgaudio

tadgaudio

Ver Respostas

Olá bom dia! Tudo bom?
Estou recebendo o seguinte erro em minha aplicação NODEJS. Ele fala que o header está muito grande, isso porque ele manda junto o certificado p12.
imagem enviada na mensagem pelo usuario tadgaudio

# pix
Avatar discord do usuario catalunha

catalunha

Ver Respostas

Minha stack se limita a +-Flutter e +-Node.js ainda não cheguei neste nivel de entender estes contextos.
A solução é tutorial para meu caso: banckend na back4app, Gateway com AWS e dominio no google domain.
Vou tentar aqui. E se resolver problema ajudar aos outros.
Pois o que mais admiro é esta cooperação da cc/ti. Frente a tantos desafios de precisar ser stack resolver um problema. Só os colegas mesmos salva uns aos outros

# pix
Avatar discord do usuario catalunha

catalunha

Ver Respostas

@rubenskuhl Obrigado.
Mas minha stack, Flutter/Dart/Node.js/... esta em constante construção e neste ponto, que é novo, preciso de uma ajuda mais especifica.
Vc poderia ser mais claro. Posso lhe passar as infos que precisa.

# cartões
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Não temos um exemplo desta implementação com NextJs, mas segue um exemplo que está mais simples e direto.

html







Gerar payment_token




Gerar payment_token



Buscar parcelas


Resultado no console



Caso ainda tenha dificuldade em replicar para o Next, Você pode me chamar aqui