Histórico de mensagens sobre App

EXIBINDO CONVERSAS RECENTES:

Texto: App
Data: 27/08/2024
# cartões
Avatar discord do usuario gabriel_efi

gabriel_efi

Ver Respostas

Olá, @wevertondumont!
As cobranças de cartão, caso não haja impedimentos, passarão pelos seguintes fluxos até o pagamento:
new -> caso seja criada em dois-passos (two-steps);
waiting -> quando o vínculo de cobrança e cliente é estabelecido ou quando criada em um-passo (one-step);
approved -> quando a operadora de cartão do cliente aprova o pagamento mas o crédito ainda não foi creditado na conta;
paid -> pagamento confirmado.

# cartões
Avatar discord do usuario wevertondumont

wevertondumont

Ver Respostas

Pessoal, atualmente acontece da Efi ao processar pagamento por cartão, ela já retornar como "paid" ou "approved" ou sempre o retorno será "waiting" e só depois que vão realmente processar?

# dúvidas
Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

recebi esse erro com o arquivo .p12:
Exception: could not load PEM client certificate from /projeto_maquina_api/storage/app/Certificados/certificate12.p12, OpenSSL error error:0480006C:PEM routines::no start line, (no key found, wrong pass phrase, in file /projeto_maquina_api/app/Services/Efi/AuthService.php on line 62

# dúvidas
Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

Agora o erro retornado é esse:
Exception: unable to set private key file: '/projeto_maquina_api/storage/app/Certificados/certificate12.pem' type PEM in file /projeto_maquina_api/app/Services/Efi/AuthService.php on line 59

# pix
Avatar discord do usuario edsonpinheiro_

edsonpinheiro_

Ver Respostas

curl --location 'https://pix.api.efipay.com.br/v2/cob' \
--header 'Authorization: Bearer Token {token aqui} \
--header 'Content-Type: application/json' \
--data '{
"calendario": {
"expiracao": 3600
},
"valor": {
"original": "124.45"
},
"chave": "61982030380",
"solicitacaoPagador": "Informe o número ou identificador do pedido."
}'

# dúvidas
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Ver Respostas

@luizfeleal existem algumas falha em como você montou a requisição, segue um exemplo de como fazer a autenticação:

php
//Desenvolvido pela Consultoria Técnica da Efí
$config = [
"certificado" => "./certificado.pem",
"client_id" => "YOUR-CLIENT-ID",
"client_secret" => "YOUR-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 "
";
?>

# dúvidas
Avatar discord do usuario luizfeleal

luizfeleal

Ver Respostas

$credenciaisBase64 = base64_encode($cliente_id . ":" . $client_secret);

$url = env('URL_EFI') . "/oauth/token";

// Inicializa a sessão cURL
$ch = curl_init();


curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true); // Verifica o certificado do servidor
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); // Verifica o host do certificado
curl_setopt($ch, CURLOPT_SSLCERT, $certificado); // Define o certificado a ser usado


// Adiciona os dados do cliente como autenticação básica
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/x-www-form-urlencoded',
"Authorization: Basic " . $credenciaisBase64

]);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'grant_type' => 'client_credentials',
]));

// Executa a requisição e obtém a resposta
$resposta = curl_exec($ch);