Histórico de mensagens sobre PIX em dúvidas

EXIBINDO CONVERSAS RECENTES:

Texto: PIX
Canal: dúvidas
Avatar discord do usuario ffersants

ffersants

Ver Respostas

Boa noite, tenho uma dúvida sobre a API Pix. Tenho um app que busca integrar com API Pix para receber uma transferência de um indivíduo A, a partir do QR Code/Pix copia e cola, e então transferir para um indivíduo B. A taxa de 1,19% é cobrada somente sobre o valor que está sendo transferido para conta Efí do app? Ou ela também é cobrada quando sai da conta do app para a conta do indivíduo B?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Depende do meio de pagamento. Se for Pix, depende do valor ele aciona o webhook como se tivesse sido pago.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@tarcizio5821 você pode informar o txid no momento da emissão também no COB através do seguinte endpoint, https://dev.efipay.com.br/docs/api-pix/cobrancas-imediatas#criar-cobran%C3%A7a-imediata-com-txid, sendo o exemplo na SDK de php o https://github.com/efipay/sdk-php-apis-efi/blob/main/examples/pix/cob/pixCreateCharge.php.

Avatar discord do usuario tarcizio5821

tarcizio5821

Bom dia.
Gostaria saber se o retorno do webhook é sempre o padrão quando um pix é pago:
"pix":[
{"endToEndId":"EEEEEEEEEEEEEEEEEEEEEEEEEEE","txid":"444444444444444444444444444444444","chave":"00000000-0000000-00008-000-0000000","valor":"0.01","horario":"2024-03-26T20:51:56.000Z"}

No retorno acima, temos:
endToEndId:
txid:
chave:
valor:
horario:

Tem alguma coisa que eu possa fazer para que a entrega contenha mais dados?
Eu digo mais dados que foram passados na criação da cobrança, tipo "infoAdicionais"?

Avatar discord do usuario kenneson

kenneson

estou com um problema na autenticação do postman para pix

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Quais outros serviços você deseja utilizar?

Referente à API Pix é somente esse que necessita de uma liberação através de solicitação.

Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

Para habilitar o endpoint pix/enviar em produção, é necessário preencher este formulário. Após o preenchimento, basta aguardar que entraremos em contato.

Avatar discord do usuario theus007

theus007

Ver Respostas

/v2/gn/pix/:idEnvio

Avatar discord do usuario tarcizio5821

tarcizio5821

@guilherme_efi e @igor_efi Consegui pegar o txid e criar o arquivo txt.
Não ficou muito elegante mas foi o que funcionou, e funciona legal.
Segue a solução para quem um dia precisar:
/////////////////4
$n = json_encode($dados);
$d1 = '['.$n.']';
$d2 = json_decode((string) $d1);
$txid = '';
foreach($d2 as $item) {
$txid .= $item->pix[0]->txid;
}
//grava o arquivo txt vazio
$fp = fopen('./txts/'.$txid.'.txt','wb');
fwrite($fp,'');
fclose($fp);
/////////////////4
Obrigado a todos.
imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Apaguei sua mensagem anterior por conter alguns dados sensíveis, como sua chave Pix.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

- json_decode() expects parameter 1 to be string, array given linha 39.
- Trying to get property 'pix' of non-object linha 40.
- Trying to get property 'txid' of non-object linha 40.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Bom dia Igor.
Não consegui pegar o txid, tentei de várias formas. Como disse anteriormente, não tenho conhecimentos em array e por esse motivo, tentei das seguintes maneiras:
//////////////////////
$json = '[
{
"pix":[
{"endToEndId":"EEEEEEEEEEEEEEEEEEEEEEEEEEE","txid":"444444444444444444444444444444444","chave":"00000000-0000000-00008-000-0000000","valor":"0.01","horario":"2024-03-26T20:51:56.000Z"}
]}

]';

$data = json_decode($json); // aqui seria o retorno do "$dados"
foreach($data as $item) {
echo $item->pix[0]->txid;
}
//////////////////////
Essa deu certo, mas quando coloco no arquivo de "index.php" dentro da função "salvar($dados)" do webhook, dá erros.

Tentei também todas alternativas abaixo e sem sucesso:
//////////////////////
//$data = json_decode($dados);
//$dd = $data->pix->txid;
//$conteudo = json_encode($dados).' ---- '.json_encode($dados['pix']['txid']).' ----- '.$dados['pix']['txid'].' ---- '.$dados->pix[0]->txid;
//$conteudo = json_encode($dados->pix[0]->txid).' ----- '.$dd.' ----- '.json_encode($dd).' ---- '.json_encode($dd->pix[0]->txid);
//////////////////////

Se puder me ajudar fico muito grato.

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

$dados->pix[0] é retornado alguma informação?

Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @tarcizio5821! Ja tentou: $dados->pix[0]->txid; ?

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver Respostas

Como faço para pegar somente o txid da resposta do webhook no arquivo index.php?
Preciso gravar somente o txid antes de gravar no json.
Tentei "$txid = $dados.pix[0].txid;" mas não consegui porque não entendo de array.

Avatar discord do usuario cachorro_05667

cachorro_05667

ele me retorna isso nos Log.d


Iniciando a configuração das opções...
Opções configuradas.
Iniciando Gerencianet com as opções fornecidas...
Gerencianet iniciado.
Preparando o corpo da requisição..
Corpo da requisição preparado.
Chamando pixCreateImmediateCharge...
Exceptionss: null

Avatar discord do usuario cachorro_05667

cachorro_05667

Ver Respostas

Log.d("Gerencianet", "Iniciando Gerencianet com as opções fornecidas...");
Gerencianet gn = new Gerencianet(options, getAssets());
Log.d("Gerencianet", "Gerencianet iniciado.");

Log.d("Gerencianet", "Preparando o corpo da requisição...");
HashMap body = new HashMap<>();

HashMap calendario = new HashMap<>();

calendario.put("expiracao", 3600);
body.put("calendario", calendario);
HashMap devedor = new HashMap<>();
body.put("devedor", devedor);
HashMap valor = new HashMap<>();
valor.put("original", "123.45");
body.put("valor", valor);
body.put("chave", "853ff313-0295-4644-836b-41193dcf1419");
body.put("solicitacaoPagador", "Cobrança dos serviços prestados.");
Log.d("Gerencianet", "Corpo da requisição preparado.");

Log.d("Gerencianet", "Chamando pixCreateImmediateCharge...");
Map response = gn.call("pixCreateImmediateCharge", new HashMap(), body);
Log.d("Gerencianet", "Resposta: " + response.toString());

} catch (GerencianetException e) {
/ Gerencianet's api errors will come here /
Log.d("Gerencianet", "GerencianetException: " + e.getMessage());
} catch (Exception ex) {
/ Other errors will come here /
Log.d("Gerencianet", "Exceptionss: " + ex.getMessage());
}
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Deve ter, mas este é o Discord da Efí. 😉
Mas o critério importante a avaliar é o de seguir padrão, no caso da API Pix. São prestadores que querem se garantir por qualidade de serviço, não por travar você por causa do trabalho de mudança.

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

API Pix ? Não tem custo adicional de estorno. A tarifa que você já pagou no recebimento inclui também eventuais estornos.

Avatar discord do usuario startasolutions

startasolutions

Ver Respostas

Estou tomando esse erro. O que pode ser ? Warning: curl_setopt_array(): Cannot represent a stream of type Output as a STDIO FILE in C:\xampp\htdocs\Logos CRM\vendor\guzzlehttp\guzzle\src\Handler\CurlFactory.php on line 70
cURL error 0: The cURL request was retried 3 times and did not succeed. The most likely reason for the failure is that cURL was unable to rewind the body of the request and subsequent retries resulted in the same error. Turn on the debug option to see what went wrong. See https://bugs.php.net/bug.php?id=47204 for more information. (see https://curl.haxx.se/libcurl/c/libcurl-errors.html) for https://pix-h.api.efipay.com.br/oauth/token