Histórico

EXIBINDO CONVERSAS RECENTES:

Texto: n
Data: 27/03/2024
Canal: dúvidas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

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

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

@guilherme_efi Estou achando que preciso colocar o "$dados" dentro de colchetes [], porque o webhook está entregando sem esses colchetes, os dados estão vindo dentro de chaves. Vou fazer isso e volto já.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver no Discord

Na imagem que mandou anteriormente, faça da seguinte forma:

php
$data = json_decode($dados);
var_dump($data);
exit();
coloquei um exit() no final para interronper a execução dos códigos seguintes. Depois ele deve ser removido.
imagem enviada na mensagem pelo usuario guilherme_efi

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

Não é possível atribuir um var_dump a uma variável, @tarcizio5821.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

usei o var_dump($data) e deu esse erro:
Notice: Array to string conversion in linha 47.

imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

@tarcizio5821, se foi feito o json_decode o valor em $data será um array.
Sugiro debugar, colocar um var_dump($data); na linha 40 para visualizar o array completo.

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

- json_decode() expects parameter 1 to be string, array given on line 33.
- Invalid argument supplied for foreach() on line 35.

imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

me confundi, não é essa

imagem enviada na mensagem pelo usuario tarcizio5821

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

- 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 guilherme_efi

guilherme_efi

Ver RespostasVer no Discord

@tarcizio5821, na parte que mencionou que deu certo a captura do txid, quando coloca no arquivo de "index.php" dentro da função "salvar($dados)" do webhook, quais erros são apresentados?

Avatar discord do usuario tarcizio5821

tarcizio5821

Ver RespostasVer no Discord

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 carlossulzer

carlossulzer

Ver no Discord

Entendi. Essa era realmente uma dúvida

Avatar discord do usuario igor_efi

igor_efi

Ver RespostasVer no Discord

Não, os dados do cartão não podem ser trafegados na rede, é por este motivo que a geração do payment_token precisa ser realizado no front end e você trafegar somente o payment_token para o seu backend.
Você pode trafegar as demais informações do cliente, mas as informações do cartão de credito não

Avatar discord do usuario carlossulzer

carlossulzer

Ver RespostasVer no Discord

Então o ideal seria gerar o token no app/front enviar para back-end juntamente com os dados do cartão e gerar a cobrança, seria isso?

Avatar discord do usuario igor_efi

igor_efi

Ver RespostasVer no Discord

O objetivo dos exemplos são para o uso no backend usando o framework Flutter.
Em breve estas funcionalidades da SDK vão sair da versão mobile e frontend do framework

Avatar discord do usuario carlossulzer

carlossulzer

Ver RespostasVer no Discord

No exemplo que existe no github é tudo feito no front. Não funcionaria assim?

Avatar discord do usuario igor_efi

igor_efi

Ver RespostasVer no Discord

Recomendamos que o procedimento de criação da cobrança seja feito no backend do seu projeto.
No aplicativo Flutter você gera o payment token, envia esta informação para o seu backend e o seu backend realiza a comunicação para criação da cobrança em nossa API.
Qual linguagem o seu backend foi desenvolvido?

Avatar discord do usuario carlossulzer

carlossulzer

Ver RespostasVer no Discord

Consegui fazer parte da integração funcionar. Chamei o método abaixo e consegui obter o token:
paymentToken = await efi.call("paymentToken", body: card);

Passo o token na chamada do proximo método e recebo o seguinte erro:

efi.call("createOneStepCharge", body: body);

Já validei no ambiente de homologação, as chaves estão corretas e as opções habilitadas para cartão de crédito. O que poderia ser?

imagem enviada na mensagem pelo usuario carlossulzer

Avatar discord do usuario carlossulzer

carlossulzer

Ver RespostasVer no Discord

Boa noite. sim