Histórico de mensagens sobre location

EXIBINDO CONVERSAS RECENTES:

Texto: location
# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

$config = [
"certificado" => "./producao.pem",
"client_id" => "",
"client_secret" => ""
];


$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/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);

curl_close($curl);

echo "

";
echo $response;
echo "
";
?>

eu estou chamando essa chamada simples da documentação, e ela me retorna a pagina em branco ao invés de retornar o token

# devs
Avatar discord do usuario nauvaro

nauvaro

Ver Respostas

Boa noite. Eu tenho um site em vps com Apache, Wordpress, plugin do Efí para Woocommerce, tentando configurar o mTLS no Apache mas recebo a falha:
"nome": "webhook_invalido",
"mensagem": "A autenticação de TLS mútuo não está configurada na URL informada"
nas requisições da Api PIX. Eu li vários casos semelhantes aqui, mas não consegui chegar num resultado positivo.

Tenho
SSLEngine On
SSLCertificateFile /www/server/panel/vhost/letsencrypt/meusite.com.br/fullchain.pem
SSLCertificateKeyFile /www/server/panel/vhost/letsencrypt/meusite.com.br/privkey.pem

#Chave pública da Efí
SSLCACertificateFile /www/wwwroot/meusite.com.br/certificate-chain-prod.crt

# mTLS Efí
SSLVerifyClient require
SSLVerifyDepth 3

Alias "/pix/" "/www/wwwroot/meusite.com.br/webhook/index.php"
Alias "/pix" "/www/wwwroot/meusite.com.br/webhook/index.php"

mas as minhas páginas exibem a mensagem "O certificado de login não foi aceito ou não foi fornecido." e se eu tentar

# mTLS Efí
SSLVerifyClient none
SSLProtocol TLSv1.2


SSLVerifyClient require
SSLVerifyDepth 3


as páginas voltam ao normal, menos o caminho /webhook. Nas duas situações a falha webhook_invalido é a mesma. Deu pra perceber que não tenho um conhecimento muito aprofundado na área né? Mas tô tentando e não saio dessa etapa, alguém que já passou pelo mesmo e/ou que conhece a situação poderia me jogar uma luz?

# pix
Avatar discord do usuario alegon_09924

alegon_09924

utilizo esse token e faço a requisição para gerar a location e dá o erro

# pix
Avatar discord do usuario alegon_09924

alegon_09924

para gerar a location não precisa das credenciais só do token que foi gerado com as credenciais

# pix
Avatar discord do usuario alegon_09924

alegon_09924

boa tarde. Estou com problema na geração de location de um determinado cliente, eu gero o token ok porém quando vai gerar o location dá erro

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Se for QR-Code dinâmico, pelo location que tem no QR-Code você já sabe de que banco é.

# pix
Avatar discord do usuario _acb09

_acb09

Ver Respostas

O meu código está assim:

$config = [];
$config["certificado"] = config("services.efipay.certificate_path");
$config["client_id"] = config("services.efipay.client_id");
$config["client_secret"] = config("services.efipay.client_secret");

$headers = [];
$headers['Authorization'] = "Basic " . base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$headers['Content-Type'] = 'application/json';

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => "https://pix-h.api.efipay.com.br/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 60,
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 => $headers
));

$response = curl_exec($curl);

if (curl_errno($curl)) {
dd('Error:' . curl_error($curl));
}

curl_close($curl);

dd($response);

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

A única coisa que é essencial e que só a Efí pode criar é o location. O resto você faz ou sozinho, ou com ajuda das funções deles.

# pix
Avatar discord do usuario celsoalexandre

celsoalexandre

Ver Respostas

Bom dia,
estou tendo o seguinte erro ao criar uma charge pix com location e notification_url usando a sdk pra Go, ambiente homolog
{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inválidos","erros":[{"chave":"additionalProperties","caminho":".body","mensagem":"não são permitidas propriedades adicionais"}]}

go
// Go
PUT /v2/cob/:txid
map[string]interface{}{
"calendario": map[string]interface{}{
"expiracao": 600,
},
"valor": map[string]interface{}{
"original": "0.01",
},
"loc": map[string]interface{}{
"id": 97,
},
"metadata": map[string]interface{}{
"notification_url": "https://meudominio:10021/efi/homolog/webhook",
},
"chave": "71cdf9ba-c695-4e3c-b010-abb521a3f1be",
"solicitacaoPagador": "Teste",
}

Se eu removo o campo "metadata" e seu conteúdo, funciona.
Não é mais possível criar a cobrança e registrar a callback na mesma chamada, ou seria de outra forma?

# pix
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Bom dia! Tudo bem? Neste endpoint, retornamos o Pix Copia e Cola, a imagem da cobrança em base64 e o link de visualização da cobrança, que é a tela mencionada por você.

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O pagador já é parâmetro opcional tanto em QR-Code estático (que nem é criado via API) quanto em QR-Code dinâmico. Mas isso de ser efêmero e ainda sim estar impresso requer uso de location.

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @danielbecker_! Tudo bem?
No endpoint de emissão da cobrança é retornado somente o Copia e Cola, porém temos um endpoint que retorna a imagem do QrCode: https://dev.efipay.com.br/docs/api-pix/payload-locations#gerar-qr-code-de-um-location
Neste endpoint você precisa passar o id do location, que é retornado no momento da emissão da cobrança

# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O caso de uso que você descreve é mais próximo do QR-Code estático, que não tem payload location.

E assim como a cobrança com payload, ela pode usar qualquer tipo de chave Pix, incluindo aleatória.

Quanto ao webhook, basta que tenha txid, que vai ser sinalizado no webhook.

# dúvidas
Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Bom dia! Gostaria de confirmar a linha que a integração deve seguir baseado nas necessidades do meu sistema. Eu preciso criar um qr code, sem um valor definido, para que ele fique disponível para receber diferentes valores e de diferentes clientes. Entendi que precisaria criar um payload location e a partir disso gerar um QR CODE. Também gostaria de receber os eventos de recebimento de pix via webhook, porém, notei que é necessário a criação de uma chave aleatória, para setar a url do webhook. Criando essa chave e efetuando os pagamentos pelo qr criado, irei conseguir receber os eventos via webhook? O fluxo estaria minimamente correto?

# cartões
Avatar discord do usuario lucasfelipes23

lucasfelipes23

Ver Respostas

curl --location 'https://cobrancas-h.api.efipay.com.br/v1/charge/one-step' \
--header 'Authorization: token' \
--header 'Content-Type: application/json' \
--data-raw '{
"items": [
{
"name": "Meu Produto",
"value": 1000,
"amount": 1
}
],
"payment": {
"credit_card": {
"customer": {
"name": "Gorbadoc Oldbuck",
"cpf": "94271564656",
"email": "[email protected]",
"birth": "1990-08-29",
"phone_number": "5144916523"
},
"installments": 1,
"payment_token": "9621af918d06297342bba69fa32e65dbc43542c0",
"billing_address": {
"street": "Avenida Juscelino Kubitschek",
"number": "909",
"neighborhood": "Bauxita",
"zipcode": "35400000",
"city": "Ouro Preto",
"complement": "",
"state": "MG"
}
}
}
}'

# dúvidas
Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Então só para recaptular e eu entender melhor. Eu crio um payload location na rota /v2/loc, crio o qr na rota /v2/loc/:id/qrcode e com esse método posso alterar a expiração? Eu vi que ele pede um txid. Seria o id da location criada?

# devs
Avatar discord do usuario hiagosilvas

hiagosilvas

Já o location, quando acessado retorna a mensagem
imagem enviada na mensagem pelo usuario hiagosilvas

# pix
Avatar discord do usuario mesenga.

mesenga.

eu já criei a cobrança, querido, só quero gerar o qr code. obrigado, entendi que é com o location e não o txid !