Termos mais procurados:
Termos mais procurados:
Estou usando uma função async awat gerencianet.PixGenerateQrcode(id)
Tenta isso e vê se funciona:
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?
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.
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,","");
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)
Fala Igor, pixCreateImmediateCharge pra criar cobrança e pixGenerateQRCode
Neste caso, você pode utilizar o método PixGenerateQRCode informando o id da location (obtido na geração da cobrança). No retorno desse método, você obtém o Pix Copia e Cola e a imagem do QRCode em base64. https://github.com/gerencianet/gn-api-sdk-java-examples/blob/master/src/main/java/br/com/gerencianet/pix/location/map/PixGenerateQRCode.java
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.
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
' . json_encode($qrcode, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
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) . '';
' . json_encode($qrcode, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
' . json_encode($pix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
gerencianet.pixGenerateQRCode({id: resposta.loc.id})
Primeiro usei o pixcreatecharge e com a resposta usei o pixgenerateqrcode
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?
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
Você pode utilizar este exemplo para gerar o QrCode/Copia e Cola: https://github.com/gerencianet/gn-api-sdk-dotnet-core/blob/master/Gerencianet.NETCore.SDK.Examples/pix/location/PixGenerateQRCode.cs
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
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) })
Bom dia <@!397861880841895936> ! Pra você pegar o pix copia e cola, na classe PixGenerateQRCode você pode inserir esse trecho: