Histórico de mensagens sobre chave pix

EXIBINDO CONVERSAS RECENTES:

Texto: chave pix
# dúvidas
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Diferenciar o Pix enviado é mais simples de fazer usando uma chave Pix diferente. Devolvido é um caso de Recebido, mas que teve atualização de devolução parcial ou total.

# dúvidas
Avatar discord do usuario cascaes_

cascaes_

Ver Respostas

Faz sentido essa lógica sobre corpo de callback do webhook:

Pix Devolvido: Se algum dos objetos dentro do array "pix" contém a chave "devolucoes", é uma devolução de Pix.
Pix Enviado: Se algum dos objetos dentro do array "pix" contém as chaves "tipo" e "status", então é um Pix enviado.
Pix Recebido: Se não se encaixar em nenhuma das condições anteriores, consideramos que seja um Pix recebido.

?

# pix
Avatar discord do usuario elielpsoares

elielpsoares

const data = {
calendario: {
expiracao: 3600,
},
devedor: {
cpf: req.body.cpf,
nome: req.body.nome,
},
valor: {
original: (Math.ceil(await value()) / 100).toFixed(2),
},
chave: ${process.env.EFI_PIX},
infoAdicionais: [
{
nome: "Compra de tickets em",
valor: "Acessu Livre (acessulivre.com.br)",
},
],
};

const efipay = new EfiPay(options);

try {
var payment = await efipay.pixCreateImmediateCharge({}, data);
} catch (err) {
console.error(Erro:${err},Erro description: ${payment});
ret.status(500).json({ msg: "Erro ao tentar gerar cobrança." });
}

# devs
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Só se for CNPJ, se você cadastrar um nome fantasia para esse CNPJ, incluir esse nome fantasia no seu cadastro na Efí e então criar uma nova chave Pix para as cobranças.

# devs
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Sim. Quando a chave Pix é de uma conta PJ, o nome da empresa ou o nome fantasia é exibido.

# marketplace
Avatar discord do usuario tudocatolico

tudocatolico

Ver Respostas

Bom dia, os desenvolvedores indicanos me repotraram o seguinte: "Verificamos e descobrimos que o retorno de chamada do webhook não está sendo recebido após o processo de checkout. Você poderia confirmar se o webhook está configurado corretamente e ativo?" Você consegue verificar isso e me confirmar? pois no OpenCart 3 já revisei o certificado, a chave PIX, o client ID e a chave secreta, e está tudo certo.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @ricardoquintino_10790.
Não temos um endpoint de API para consultar a chave Pix. É importante destacar que consultar a chave Pix sem fazer uma transferência imediatamente pode não ser seguro. Isso acontece porque a chave pode ser excluída ou transferida para outro titular a qualquer momento. A única exceção são as chaves do tipo CPF ou CNPJ, que só podem estar associadas às contas vinculadas ao respectivo documento. Ou seja, validar uma chave agora não garante que ela continue válida logo em seguida.

Se você deseja realizar uma transferência para uma chave Pix, recomendamos usar nosso endpoint. A melhor prática é validar a chave informando o CPF/CNPJ e a chave __no momento do envio do Pix__, usando o endpoint PUT /v2/gn/pix/:idEnvio. Nesse processo, nossa API verifica se a chave Pix pertence ao titular do documento informado no momento da transação. Caso contrário, a transferência é recusada.

# pix
Avatar discord do usuario ricardoquintino_10790

ricardoquintino_10790

Ver Respostas

Bom dia!

Existe uma API somente para validar se o cliente possui chave pix cadastrada?

# marketplace
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Bom dia, @tudocatolico. Tudo bem com você?
O campo PIX Key deve ser uma chave Pix pertencente a sua conta, pelo que você disse esta correto. Porém como você comentou anteriormente que estão realizando testes no ambiente de homologação o campo Certificate path deveria indicar o certificado de homologação, e no seu caso esta indicando o certificado de produção ao invés do de homologação.

# marketplace
Avatar discord do usuario tudocatolico

tudocatolico

Ver Respostas

João, os desenvolvedores indicanos me reportaram o seguinte: "Tentamos fazer o checkout no modo Sandbox e recebemos a mensagem de erro de que as credenciais da API não são válidas. Verifique as credenciais do sandbox e configure as credenciais corretas para que possamos testá-las."

Mas observando a imagem que eles enviaram (anexa neste post), percebi que o PIX Key, que está cadastrado na referente a configuração PIX, na extenção da API da EFÍ, é a minha chave pix aleatórioa da conta do Administrador. Deveria ser a "Chave client ID" ou a "Chave Secret" ?

Outra dúvida é que tenho uma Aplicação da API cobrança, criada dentro da área de API da conta do administrador do marketplace, para "API Cobranças, API Pix, API Pix via Open Finance". Sendo assim, entendo que já seria possível cobrar no cartão de crédito, boleto e pix, e ter o split de pagamento fazendo as divisões necessárias no marketplace, certo? Não é necessário eu criar mais uma API de Cobrança específica para a API PIX, certo? Pois aí teria mais pares de credenciais e chaves para produção e homologação, e não teria como configurar isso na extensão da EFí para OpenCart 3. Deveria funcionar os 3 meios de pagamento com esta mesma API, certo?
imagem enviada na mensagem pelo usuario tudocatolico

# dúvidas
Avatar discord do usuario coxinha_noob

coxinha_noob

Ver Respostas

Boa noite, para separar a resposta do webhoook

pix recebido:
{
"pix": [
{
"endToEndId": "E1803615022211340s08793XPJ",
"txid": "fc9a43k6ff384ryP5f41719",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"valor": "0.01",
"horario": "2020-12-21T13:40:34.000Z",
"infoPagador": "pagando o pix"
}
]
}

e do pix enviado:
{
"pix": [
{
"endToEndId": "E090893562021030PIf25a7868",
"chave": "2c3c7441-b91e-4982-3c25-6105581e18ae",
"tipo": "SOLICITACAO",
"status": "REALIZADO",
"valor": "0.01",
"horario": "2021-03-04T20:39:47.000Z",
"gnExtras": {
"idEnvio": "123ABC"
}
}
]
}

utiliza o campo gnExtras.idEnvio para diferencia-los , ok?

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Não entendi. Você deve configurar seu servidor, depois cadastrar seu webhook através do endpoint PUT /v2/webhook/:chave. Em nossa documentação, você encontra todos os detalhes da configuração de servidor.

# pix
Avatar discord do usuario palloma_efi

palloma_efi

Ver Respostas

Boa tarde @space_miguel ! Precisa informar uma chave Pix vinculada à sua conta Efí. Veja como cadastrar.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @vinicio254! Tudo bem?

Você pode usar o exemplo abaixo para registrar o webhook. Sobre a configuração do mTLS, você pode conferir este vídeo que ensina a configuração em servidor Apache.

php

$homolog = true; // false para produção

$config = [
"certificado" => realpath(__DIR__ . "/certificado.pem"), // certificado em .pem de produção ou homologação
"client_id" => "Client_Id",
"client_secret" => "Client_Secret"
];

$chavePix = "suachavepix";

$webhookUrl = "https://seudominio.com.br/webhook/hash=hashdeseguranca&ignorar="

$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/oauth/token" : "https://pix.api.efipay.com.br/oauth/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 8,
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"
),
));
var_dump(curl_exec($curl));
$returnAuth = json_decode(curl_exec($curl), true);
$access_token = $returnAuth['access_token'];
curl_close($curl);


//Criação da cobrança
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/v2/webhook/$chavePix" : "https://pix.api.efipay.com.br/v2/webhook/$chavePix"
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'PUT',
CURLOPT_POSTFIELDS => '{
"webhookUrl": $webhookUrl
}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
"x-skip-mtls-checking: true",
"Content-Type: application/json"
),
));
$responsePix = json_decode(curl_exec($curl), true);
curl_close($curl);

echo '
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @roxzin! Como vai?
Aqui está um código que funciona:

php

$homolog = true; // false para produção

$config = [
"certificado" => realpath(__DIR__ . "/certificado.pem"), // certificado em .pem de produção ou homologação
"client_id" => "Client_Id",
"client_secret" => "Client_Secret"
];


$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? "https://pix-h.api.efipay.com.br/oauth/token" : "https://pix.api.efipay.com.br/oauth/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 8,
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"
),
));
var_dump(curl_exec($curl));
$returnAuth = json_decode(curl_exec($curl), true);
$access_token = $returnAuth['access_token'];
curl_close($curl);


//Criação da cobrança
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? 'https://pix-h.api.efipay.com.br/v2/cob/' : 'https://pix.api.efipay.com.br/v2/cob/',
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 => '{
"calendario": {
"expiracao": 3600
},
"devedor": {
"cpf": "12345678909",
"nome": "Francisco da Silva"
},
"valor": {
"original": "0.45"
},
"chave": "[email protected]"
}',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
"Content-Type: application/json"
),
));
$responsePix = json_decode(curl_exec($curl), true);
curl_close($curl);

echo '
' . json_encode($responsePix, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

if ($responsePix['loc']['id']) {
$idlocationPix = $responsePix['loc']['id'];

// Obtêm o Pix Copia e Cola e QR Code
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => $homolog ? 'https://pix-h.api.efipay.com.br/v2/loc/' . $idlocationPix . '/qrcode' : 'https://pix.api.efipay.com.br/v2/loc/' . $idlocationPix . '/qrcode',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'GET',
CURLOPT_SSLCERT => $config["certificado"], // Caminho do certificado
CURLOPT_SSLCERTPASSWD => "",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer $access_token",
),
));

$response = json_decode(curl_exec($curl), true);

curl_close($curl);


$PixCopiaCola = $response['qrcode'];
$imagemQrcode = $response['imagemQrcode'];


echo 'QR Code:';
echo '
' . json_encode($PixCopiaCola, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '
';

echo 'Imagem:
';
echo '';
}
Também temos nossa SDK de PHP (https://github.com/efipay/sdk-php-apis-efi), que usa o Guzzle.

# dúvidas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Boa tarde, @cascaes_. Tudo bem?
Isso mesmo. O endpoint PUT /v2/gn/pix/:idEnvio permite enviar valores da sua conta Efí para uma chave Pix. O parâmetro idEnvio deve ser gerado pelo seu sistema seguindo a regex ^[a-zA-Z0-9]{1,35}$ e precisa ser único para cada envio na sua conta.

# dúvidas
Avatar discord do usuario cascaes_

cascaes_

Ver Respostas

Eu queria entender sobre um endpoint de pagamento - Envio e Pagamento PIX - esse endpoint significa que envio pagamento usando minha conta do EFI para outra chave PIX?

# pix
Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Mas é no servidore da Efí que se fala disso, né ? 😉

O meu alerta é que com o limite bem restrito que o Banco Central impõe no banco de chaves do Pix, esse tipo de consulta fatalmente deixará de existir em algum momento. Então só vale usar isso se precisar fazer cleansing de base, para o longo termo eu não apostaria na disponibilidade.

# pix
Avatar discord do usuario errorzadaa

errorzadaa

Ver Respostas

Consultar chave pix por api kkk

# pix
Avatar discord do usuario henriqueclementino.

henriqueclementino.

Ver Respostas

Boa noite Pessoal, existe alguma forma de consultar os dados do beneficiário, através da chave pix; cpf, email ou celular?