Histórico de mensagens sobre Secret id

EXIBINDO CONVERSAS RECENTES:

Texto: Secret id
# pix
Avatar discord do usuario logaaaa

logaaaa

Ver Respostas

Boa tarde, estou usando o código de exemplo em PHP para cobrança imediata do PIX...
Me atentei ao card que explica sobre a inserção do Client_id e Client_Secret, Sandbox e a pasta e a conversão do certificado, no entanto, quanto rodo esse exemplo nos seguintes cenários, tenho retornos inesperados:

Produção: Ocorreu um erro - Mensagem: 401invalid_client - Credenciais inválidas ou inativas
Homologação : Gerou o QRCode e Chave Copia e Cola normalmente.

Servidor: Apache
Linguagem: PHP
BD: MySQL
SDK Composer Instalado
imagem enviada na mensagem pelo usuario logaaaa

# 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

# pix
Avatar discord do usuario aleque0169

aleque0169

Ver Respostas

Boa noite, pessoal.

Ao realizar a seguinte requisição: https://pix-h.api.efipay.com.br/oauth/token, utilizando meu Client_Id, Client_Secret e o certificado p12 de homologação. Nesse ambiente, consigo obter o token corretamente.

No entanto, ao tentar realizar a requisição utilizando o domínio https://pix.api.efipay.com.br/oauth/token com o Client_Id, Client_Secret e certificado p12 de produção, recebo a seguinte resposta de erro: "socket hang up".

O que devo fazer para resolver esse problema?
imagem enviada na mensagem pelo usuario aleque0169

# 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) . '
';