Termos mais procurados:
Termos mais procurados:
olá, gostari de tirar dúvidas sobre estorno de pix via api sdk php
No meu arquivo webhook.php eu coloquei pra criar um TXT do que é recebido e recebo isto:
{
"evento": "teste_webhook",
"data_criacao": "2024-05-09T15:13:32.178Z"
}
Ok, no $body insira o ?ignorar=
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php?ignorar="
}';
E no arquivo "/webhook.php" inseira o exemplo de código abaixo:
' . json_encode($resposta, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES) . '';
Meu Webhook: public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Basic ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/json';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo '
';';
var_dump($this->config['chave_pix'], $this->config['client_id'], $this->config['client_secret'], $result);
echo '
';';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
Estou executando este método:
public function webhook() {
$body = '{
"webhookUrl": "https://julioerp.agenciaweblab.com.br/webhook.php"
}';
try {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $this->config['rotas'] . '/v2/webhook/' . $this->config['chave_pix']);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_SSLCERT, $this->config["certificado"]);
curl_setopt($ch, CURLOPT_SSLCERTPASSWD, '');
$headers = array();
$headers[] = 'Authorization: Bearer ' . $this->access_token;
$headers[] = 'X-Skip-Mtls-Checking: true';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo '
';';
var_dump($this->config['chave_pix'], $result);
echo '
';';
var_dump($e->getCode(), $e->getFile(), $e->getMessage());
echo '
nesse caso terei que criar um arquivo webhook.php
Oi, @alissonmaciel_32335. Bom dia!
Você precisa enviar o certificado em todas as requisições, não apenas na autenticação.
Adicione o código com o caminho do certificado.
Você pode utilizar como base este exemplo aqui e adaptar para retornar somente os dados que deseja.
.
No lugar desse modelo aqui:
https://www.goopzer.com/pix/efipay.php
Poderia me mandar um modelo php simplificado da pagina da geração do Pix,
mas só com o pix colapega na pagina em branco, sem codigo QR, link e qq outra coisa
to usando o codigo da própria documentação para tratar o JSON de notificação, imagino eu que essa linha seja a responsável por colher o json
Um detalhe que você precisa conferir, é se você registrar a URL assim http://urldosite.com.br/notifications.php, ao acionar o webhook, será acrescentado um /pix na URL. Portanto, deve-se ser tratado a adição do /pix na URL.
Para solucionar isso, cadastre seu webhook URL com a query param ?ignorar=. Assim, quando o webhook for acionado, o /pix será tratado como um parâmetro e você receberá o JSON no arquivo notifications.php, conforme a seguinte URL: http://urldosite.com.b/notifications.php?ignorar=/pix.
boa tarde. Como faço para cadastrar o webhook do pix? Eu fiz o htaccess e o php do exemplo da documentação, coloquei lá o index.php no diretório webhook como a documentação recomenda... mas e agora? Como posso testar o funcionamento? Estou meio perdido quanto a isso, poderiam me ajudar pfv
processing: https://pix.api.efipay.com.br/oauth/token
Trying 52.3.67.197:443...
Connected to pix.api.efipay.com.br (52.3.67.197) port 443
CAfile: none
CApath: none
ALPN: offers http/1.1
NSS: client certificate from file
subject: C=BR,CN=301970
start date: May 19 20:28:50 2021 GMT
expire date: May 19 20:28:50 2024 GMT
common name: 301970
issuer: [email protected],CN=api-pix.gerencianet.com.br,OU=Infraestrutura,O=Gerencianet Pagamentos do Brasil Ltda,ST=Minas Gerais,C=BR
ALPN: server accepted http/1.1
SSL connection using TLS_AES_256_GCM_SHA384
Server certificate:
subject: CN=.api.efipay.com.br,O=EFI S.A. - INSTITUICAO DE PAGAMENTO,L=OURO PRETO,ST=MINAS GERAIS,C=BR
start date: May 17 19:31:27 2023 GMT
expire date: Jun 17 19:31:26 2024 GMT
common name: .api.efipay.com.br
issuer: CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE
using HTTP/1.1
> POST /oauth/token HTTP/1.1
Host: pix.api.efipay.com.br
api-sdk: efi-php-1.8.0
User-Agent: GuzzleHttp/7
Content-Type: application/json
Authorization: Basic Q2xpZW50X0lkXzcwMWE0OGU2ZWExMDM0ODk5NjAxNTIzY2VmZjY5ZTZlM2M4OGVjMDA6Q2xpZW50X1NlY3JldF9hMDYyZmU5OWE0NjhmYjViZjIzZmE0YzgwMTUyZDFlM2RhNWIzNjFj
Content-Length: 35
Empty reply from server
Closing connection
Qual a versão do php utilizado?
Agora estou recebendo a seguinte mensagem:
processing: https://pix.api.efipay.com.br/oauth/token
Trying 35.170.124.249:443...
Connected to pix.api.efipay.com.br (35.170.124.249) port 443
CAfile: none
CApath: none
ALPN: offers http/1.1
NSS: client certificate from file
subject: C=BR,CN=301970
start date: May 02 14:50:05 2024 GMT
expire date: May 02 14:50:05 2027 GMT
common name: 301970
issuer: [email protected],CN=apis.efipay.com.br,OU=Infraestrutura,O=Efi S.A. - Instituicao de Pagamento,ST=Minas Gerais,C=BR
ALPN: server accepted http/1.1
SSL connection using TLS_AES_256_GCM_SHA384
Server certificate:
subject: CN=.api.efipay.com.br,O=EFI S.A. - INSTITUICAO DE PAGAMENTO,L=OURO PRETO,ST=MINAS GERAIS,C=BR
start date: May 17 19:31:27 2023 GMT
expire date: Jun 17 19:31:26 2024 GMT
common name: .api.efipay.com.br
issuer: CN=GlobalSign RSA OV SSL CA 2018,O=GlobalSign nv-sa,C=BE
using HTTP/1.1
> POST /oauth/token HTTP/1.1
Host: pix.api.efipay.com.br
api-sdk: efi-php-1.8.0
User-Agent: GuzzleHttp/7
Content-Type: application/json
Authorization: Basic Q2xpZW50X0lkXzcwMWE0OGU2ZWExMDM0ODk5NjAxNTIzY2VmZjY5ZTZlM2M4OGVjMDA6Q2xpZW50X1NlY3JldF9hMDYyZmU5OWE0NjhmYjViZjIzZmE0YzgwMTUyZDFlM2RhNWIzNjFj
Content-Length: 35
Empty reply from server
Closing connection
No exemplo que você informou ficaria https://www.faciltaxi.com.br/pagamentos/consulta_pagamento.php/pix, mas eu recomendo mudar a rota uma vez que estamos em um canal público.
Na verdade estou usando esse link
https://www.faciltaxi.com.br/pagamentos/consulta_pagamento.php