Histórico de mensagens sobre location em pix

EXIBINDO CONVERSAS RECENTES:

Texto: location
Canal: pix
Avatar discord do usuario peterfritz

peterfritz

Ver Respostas

O próximo passo seria usar o id da location para https://dev.efipay.com.br/docs/api-pix/payload-locations#gerar-qrcode-de-um-location>">gerar QRCode de um location, assim você receberá o Pix Copia e Cola / BRCode, um link de visualização e a imagem do QRCode através de uma data URI

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

Ver Respostas

Boa tarde. Estou tentando fazer a integração via pix completa com PHP (gerar token, venda, gerar qrcode e notificação de status). Porém ate agora não consegui ter sucesso. Eu gerei o token, gerei a venda via pix que me retorna um location. Porém agora o próximo passo seria gerar o QR code visual para o cliente escanear ou o numero para copiar e colar para pagamento. Para gerar a venda estou fazendo uma requisição via POST para https://pix-h.api.efipay.com.br/v2/cob. Nela me retorna sucesso e um txid e o location. Como faria para prosseguir e gerar o qr code? Quando acesso o link do location, diz que "A cobrança não está mais com o status ATIVA"}" Mesmo eu gerando naquele mesmo segundo e indo consultar.

Avatar discord do usuario vitor.oliveira94

vitor.oliveira94

to mandando assim: curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/v2/cob", // 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 => $data,
CURLOPT_SSLCERT => $config["certificado"],
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $token",
"Content-Type: application/json"
),
));

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia @alexandrerod50, temos sim, segue o exemplo:

server {
#
# ...
#
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate server_ssl.crt.pem;
ssl_certificate_key server_ssl.key.pem;
ssl_client_certificate /root/chain-pix-webhooks-prod.crt;
ssl_verify_client optional;
ssl_verify_depth 3;
#
# ...
#
location /webhook {
if ($ssl_client_verify != SUCCESS) {
return 403;
}
proxy_pass /webhook;
}
}
#Desenvolvido pela Consultoria Técnica da Efí

Avatar discord do usuario wesleysnap

wesleysnap

Ver Respostas

O copia e cola não está no padrão o BCB. Estou analizando a criação do location do payload. Obrigado

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Pega o loc.id que o /cob retorna e faz um GET no /location. Lá vem o campo qrCode que é o Pix-Copia-e-Cola.

Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

$config = [
"certificado" => ($sandbox) ? $pathCertificateHomolog : $pathCertificateProd,
"client_id" => ($sandbox) ? $clientIdHomolog : $clientIdProd,
"client_secret" => ($sandbox) ? $clientSecretHomolog : $clientSecretProd,
"rotas" => ($sandbox) ? $rotasHomolog : $rotasProd
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . '/errorlog.txt', 'w');

curl_setopt_array($curl, array(
CURLOPT_VERBOSE => true,
CURLOPT_STDERR => $fp,
CURLOPT_URL => $config['rotas'] . "/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["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

echo '

';
var_dump($config, $response);
echo '
';

curl_close($curl);

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem que pegar o loc.id e fazer um GET em /location

Ou usar uma biblioteca de EMV para montar o copia-e-cola e o QR-Code a partir do location.

Avatar discord do usuario d10web.com

d10web.com

Ver Respostas

Esse é o retorno sucesso da requisão: Criar cobrança imediata (sem txid)

{
"calendario": {
"criacao": "2020-09-09T20:15:00.358Z",
"expiracao": 3600
},
"txid": "7978c0c97ea847e78e8849634473c1f1",
"revisao": 0,
"loc": {
"id": 789,
"location": "pix.example.com/qr/v2/9d36b84fc70b478fb95c12729b90ca25",
"tipoCob": "cob"
},
"location": "pix.example.com/qr/v2/9d36b84fc70b478fb95c12729b90ca25",
"status": "ATIVA",
"devedor": {
"cnpj": "12345678000195",
"nome": "Empresa de Serviços SA"
},
"valor": {
"original": "567.89"
},
"chave": "a1f4102e-a446-4a57-bcce-6fa48899c1d1",
"solicitacaoPagador": "Informar cartão fidelidade"
}

Onde encontro o qrcode e copia e cola da cobrança pix?

Avatar discord do usuario guilherme_efi

guilherme_efi

Oi, @tacsistemas. Bom dia!
Qual SDK você está utilizando?

Para obter o Qr Code, após ter criado a cobrança basta consumir o endpoint GET/v2/loc/:id/qrcode, método pixGenerateQRCode das SDKs, passando o id do loc como parâmetro que você terá o seguinte retorno:
{
"qrcode": "00020126001BR.GOV.BCB.PIX2566qrcodes-pix.ger...",
"imagemQrcode": "data:image/png;base64,iVBORw0KGgoAAQDS... "
}

Deste retorno, o parâmetro qrcode é o pix copia e cola, e parâmetro imagemQrcode é a imagem do QrCode em base64. que pode ser implementado em seus sites.

Avatar discord do usuario tacsistemas

tacsistemas

Na url mais recente da EFI o qrcode é o "location"?
Houve alguma mudança na sdk em relação a gerar o qrcode? por que estou tentando gerar da mesma forma porem nao gera um qrcode valido estando em produção

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mesmo no dinâmico você poderia usar a API só para criar o location e gerar uma imagem de pagamento no formato que você quiser.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Ah, acho que você se refere ao loc.id, o id do location. Não, não tem como pesquisar pelo loc.id nem no /pix nem no /cob.

Avatar discord do usuario sanch789

sanch789

Ver Respostas

Pra poder verificar se uma pessoa pagou ou nao o qr code só é possivel atraves do txid ou tem alguma função disponivel pra ver atraves do id tambem? Pelo location eu vi que tem porem nao envia o status se pagou ou não, apenas via url

Avatar discord do usuario celso3712

celso3712

Ver Respostas

location /api/efi-pix-webhook {

if ($ssl_client_verify != SUCCESS) {

return 403;


}

proxy_pass http://localhost;

}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

A geração de cobrança é algo rápido... mas uma opção seria usar QR-Code estático com txid. Notar que aí você precisaria implementar lógica de associação (a que evento se refere), verificação (se foi pago o valor devido, já que pode ser pago a menor), repetição (se foi pago em duplicidade, você mesmo vai ter que devolver) etc. Então eu, nesse cenário, usaria QR-Code dinâmico mesmo, potencialmente com o location fixo como sugerido acima.

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

O location é a URL que serve de endereço para uma cobrança. Em outras palavras, é através de um location que se torna possível resgatar as informações relacionadas a uma cobrança e, assim, realizar as movimentações.