Histórico de mensagens

EXIBINDO CONVERSAS RECENTES:

Data: 06/08/2024
# cartões
Avatar discord do usuario kayandesouza

kayandesouza

No momento a ideia e implementar uma pagina basica em um Webview com o processo de coleta dessas informações dentro do componente responsável pelos dados de cartão e passar esses dados por ele para chamar a requisição que faz a cobrança do cartão pelo backend

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

mas qual foi a solução? Compartilhe coma a gente aqui kkkkk

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

entendi

# cartões
Avatar discord do usuario kayandesouza

kayandesouza

Ver Respostas

Aparentemente o problema estava na falta de um contexto de navegador para a requisição e por isso este parametro não existia no meu processo.

Obrigado @marcelo_efi pela ajuda.

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "../../../../../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => ""
];

$body = [
"webhookUrl" => ""
];


try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

no caso, eu tenho que colocar o diretorio do certificado nessa variavel $option?

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

"Não foi possível ler o arquivo de certificado"
Provavelmente você colocou o path errado do certificado na variavel $options

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas

consegui achar o diretorio, agora me apresentou o seguinte erro:

403
forbidden
Não foi possível ler o arquivo de certificado
{
"headers": []
}

# pix
Avatar discord do usuario igor_efi

igor_efi

Ver Respostas

Boa tarde, @felipenunes0714!
A falha esta ocorrendo devido ao fato de não esta sendo possivel localizar o seu arquivo autoload.php "DIR . "/../../../vendor/autoload.php""

php
$autoload = realpath(DIR . "/../../../vendor/autoload.php");
if (!fileexists($autoload)) {
die("Autoload file not found or on path $autoload.");
}

Você verificou se este arquivo foi gerado?

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

e esse é o erro:

Autoload file not found or on path .

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

esse é o código

# pix
Avatar discord do usuario felipenunes0714

felipenunes0714

Ver Respostas


/
Detailed endpoint documentation
https://dev.efipay.com.br/docs/api-pix/webhooks#configurar-o-webhook-pix
/

$autoload = realpath(__DIR__ . "/../../../vendor/autoload.php");
if (!file_exists($autoload)) {
die("Autoload file not found or on path $autoload.");
}
require_once $autoload;

use Efi\Exception\EfiException;
use Efi\EfiPay;

$optionsFile = __DIR__ . "/../../credentials/options.php";
if (!file_exists($optionsFile)) {
die("Options file not found or on path $options.");
}
$options = include $optionsFile;

$options["headers"] = [
"x-skip-mtls-checking" => false
];

$params = [
"chave" => "12345"
];

$body = [
"webhookUrl" => "www.meulink.com"
];

try {
$api = new EfiPay($options);
$response = $api->pixConfigWebhook($params, $body);

if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("

" . json_encode($response->body, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
print_r("
" . json_encode($response->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
} else {
print_r("
" . json_encode($response, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (EfiException $e) {
print_r($e->code . "
");
print_r($e->error . "
");
print_r($e->errorDescription) . "
";
if (isset($options["responseHeaders"]) && $options["responseHeaders"]) {
print_r("
" . json_encode($e->headers, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . "
");
}
} catch (Exception $e) {
print_r($e->getMessage());
}

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

vc tá retornando os dados na função?

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

pq quer acessar isso?

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

Ver Respostas

mas eu acho que vc nao precisa tentar acessar o .document

# cartões
Avatar discord do usuario kayandesouza

kayandesouza

Ver Respostas

Essa e a questão que não consegui definir. Parece um elemento faltando, porém não vi nada disso nem no git exemplo e nem na documentação

# cartões
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Vou iniciar um atendimento privado com você

# cartões
Avatar discord do usuario marcelo_efi

marcelo_efi

Ver Respostas

Respondido no chat privado

# cartões
Avatar discord do usuario aguiar.dev

aguiar.dev

eu faço assim:

ts
import as EfiPay from "payment-token-efi"

export type CreditCardProps = {
brand: string
cardNumber: string
cvv: string
expirationMonth: string
expirationYear: string
}

interface PaymentTokenResponse {
card_mask: string
payment_token: string
}

export const getPaymentToken = async (card: CreditCardProps): Promise => {
try {
const creditCard = EfiPay.default.CreditCard
.setAccount(import.meta.env.VITE_EFI_BANK_PAYEE_CODE)
.setEnvironment(import.meta.env.VITE_EFI_BANK_ENVIRONMEN)
.setCreditCardData({
brand: card.brand,
number: card.cardNumber,
cvv: card.cvv,
expirationMonth: card.expirationMonth,
expirationYear: card.expirationYear,
reuse: false
})

return await creditCard.getPaymentToken() as PaymentTokenResponse
} catch (error: any) {
console.log('Código: ', error.code);
console.log('Nome: ', error.error);
console.log('Mensagem: ', error.error_description);
}
}