Histórico de mensagens sobre pixGenerateQRCode

EXIBINDO CONVERSAS RECENTES:

Texto: pixGenerateQRCode
# pix
Avatar discord do usuario websystem1012

websystem1012

Estou usando uma função async awat gerencianet.PixGenerateQrcode(id)

# pix
Avatar discord do usuario douglascarteribordignon

douglascarteribordignon

Ver Respostas

Tenta isso e vê se funciona:

javascript
const body = {
calendario: {
expiracao: 3600
},
valor: {
original: price.toLocaleString("pt-br", { minimumFractionDigits: 2 }).replace(",", ".")
},
chave: key_GERENCIANET_PIX_KEY,
solicitacaoPagador: #Fatura:${invoiceId},
marketplace: {
mode: 2, // 1 para a tarifa ser descontada apenas da conta emissora da cobrança, 2 para a tarifa ser descontada proporcionalmente para as contas definidas
repasses: [
{
tipo: "porcentagem",
valor: "15.00",
favorecido: {
cpf: "12345678909",
conta: "1234567"
}
},
{
tipo: "porcentagem",
valor: "25.00",
favorecido: {
cpf: "94271564656",
conta: "7654321"
}
}
]
}
};

try {
pix = await gerencianet.pixCreateImmediateCharge(null, body);
qrcode = await gerencianet.pixGenerateQRCode({
id: pix.loc.id
});
} catch (error) {
console.log(error);
throw new AppError("Validation fails", 400);
}

# pix
Avatar discord do usuario rafaelribeiro.sp

rafaelribeiro.sp

const body = {
calendario: {
expiracao: 3600
},
valor: {
original: price.toLocaleString("pt-br", { minimumFractionDigits: 2 }).replace(",", ".")
},
chave: key_GERENCIANET_PIX_KEY,
solicitacaoPagador: #Fatura:${invoiceId}
};

try {

pix = await gerencianet.pixCreateImmediateCharge(null, body);

qrcode = await gerencianet.pixGenerateQRCode({
id: pix.loc.id
});



} catch (error) {
console.log(error);
throw new AppError("Validation fails", 400);
}

}


A dúvida é, se eu repassar aqui,

'marketplace'=>array(
'mode'=>1, //1 para a tarifa ser descontada apenas da conta emissora da cobrança, 2 para a tarifa ser descontada proporcionalmente para as contas definidas
'repasses'=>$repasses
)

Vai funcionar?

# pix
Avatar discord do usuario wesleyalmont

wesleyalmont

Então, eu não estou criando uma api. Estou utilizando o pacote gerencianet que está disponível lá no Pub.Dev do flutter

import 'package:gerencianet/gerencianet.dart';

import '../../credentials.dart';

void main() async {
Gerencianet gn = Gerencianet(credentials);
dynamic response = await pixGenerateQRCode(gn, 0);
print(response);
}

dynamic pixGenerateQRCode(Gerencianet gn, int id) async {
Map params = {"id": id};
return await gn.call("pixGenerateQRCode", params: params);
}

no ambiente de produção da erro e no de homologacao o qr é gerado mas não é possivel simular o pagamento.

# pix
Avatar discord do usuario robsonsouza5430

robsonsouza5430

Peguei o exemplo no site porém da erro nessa linha:
var response2 = endpoints.PixGenerateQRCode(param);
ViewBag.qrcode = response2;

JObject jsonResponse = JObject.Parse(response2);
-->> string img = (string)jsonResponse["QRCode"];
img=img.Replace("data:image/png;base64,","");

# pix
Avatar discord do usuario lucio3859

lucio3859

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

Exception Text
System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
at System.Convert.FromBase64_Decode(Char startInputPtr, Int32 inputLength, Byte startDestPtr, Int32 destLength)
at System.Convert.FromBase64CharPtr(Char inputPtr, Int32 inputLength)
at System.Convert.FromBase64String(String s)
at QRCodeVB.PixGenerateQRCode.Execute()
at QRCodeVB.Form1.criarpagamento()
at QRCodeVB.Form1.Button1_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

# pix
Avatar discord do usuario tolribeiro

tolribeiro

Fala Igor, pixCreateImmediateCharge pra criar cobrança e pixGenerateQRCode

# 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());
}

# pix
Avatar discord do usuario david_balbino

david_balbino


public class GerarPix {

static public void gerarPix(int valor){

Credentials credentials = new Credentials();

JSONObject options = new JSONObject();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

JSONObject body = new JSONObject();
body.put("calendario", new JSONObject().put("expiracao", 3600));
//body.put("devedor", new JSONObject().put("cpf", "94271564656").put("nome", "Gorbadoc Oldbuck"));
body.put("valor", new JSONObject().put("original", valor));
body.put("chave", "sua_chave");

try {
Gerencianet gn = new Gerencianet(options);
JSONObject response = gn.call("pixCreateImmediateCharge", new HashMap(), body);
System.out.println(response);
}catch (GerencianetException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}

}


static public void gerarQrCode(String locId){

Credentials credentials = new Credentials();

HashMap options = new HashMap();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("pix_cert", credentials.getCertificadoPix());
options.put("sandbox", credentials.isSandbox());

HashMap params = new HashMap();
params.put("id", locId );

try {
Gerencianet gn = new Gerencianet(options);
Map response = gn.call("pixGenerateQRCode", params, new HashMap());

File outputfile = new File("qrCodeImage.png");
ImageIO.write(ImageIO.read(new ByteArrayInputStream(javax.xml.bind.DatatypeConverter.parseBase64Binary(((String) response.get("imagemQrcode")).split(",")[1]))), "png", outputfile);
Desktop desktop = Desktop.getDesktop();
desktop.open(outputfile);

}catch (GerencianetException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
}

# 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 huggler6815

huggler6815

Ver Respostas

gerencianet.pixGenerateQRCode({id: resposta.loc.id})

# pix
Avatar discord do usuario huggler6815

huggler6815

Primeiro usei o pixcreatecharge e com a resposta usei o pixgenerateqrcode

# pix
Avatar discord do usuario victor.assis

victor.assis

Estou usando o SDK da GN para node (gn-api-sdk-node) e já estou chamando o método pixCreateImmediateCharge para criar a cobrança. Posteriormente eu preciso chamar o método pixGenerateQRCode para gerar o QR Code ou eu consigo gerar ele de alguma forma com a resposta do pixCreateImmediateCharge e evitar mais uma requisição?

# pix
Avatar discord do usuario ivanteles

ivanteles

Ver Respostas

a chamada num seria assim: endpoints.PixGenerateQRCode(new { id = "10" })?
"{\"error\":\"insufficient_scope\",\"error_description\":\"Access token has insufficient scope\"}"

usei a mesma instancia do endpoint do PixCreateImmediateCharge

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Olám <@!756521010387484702>. Bom dia!
Você pode utilizar nossa SDK de Node que já possui todas as funções para você consumir. https://github.com/gerencianet/gn-api-sdk-node
Com o exemplo /examples/pix/charge/pixCreateImmediateCharge.js você criaria a cobrança.
E depois com o exemplo /examples/pix/location/pixGenerateQRCode.js você gera o QR Code passando o id do location da cobrança que criou

# pix
Avatar discord do usuario diegohenrique1989

diegohenrique1989

Boa noite, estou tendo problema com a sdk pra nodejs, este codigo não está funcionando:
const charge = await GerencianetInstance.pixCreateImmediateCharge({}, body)
console.log(charge.loc.id)
const qrcodeInfo = await GerencianetInstance.pixGenerateQRCode({ id: String(charge.loc.id) })

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Bom dia <@!397861880841895936> ! Pra você pegar o pix copia e cola, na classe PixGenerateQRCode você pode inserir esse trecho:

...
HashMap params = new HashMap();
params.put("id", "336");

try {
Gerencianet gn = new Gerencianet(options);
...
JSONObject obj = new JSONObject(response);
System.out.println(obj.getString("qrcode"));

# pix
Avatar discord do usuario ilo4413

ilo4413

Ver Respostas

Pessoal, alguns bancos oferecem uma opção de colar o qrcode, eu peguei os códigos gerados pela função pixGenerateQRCode do sdk php e tentei colar não funcionou.