Histórico de mensagens sobre js em pix

EXIBINDO CONVERSAS RECENTES:

Texto: js
Canal: pix
Avatar discord do usuario ronierys2

ronierys2

Ver Respostas

---------------------------
Error
---------------------------
Erro ao Criar Cobrança
{"nome":"json_invalido","mensagem":"Valores ou tipos de campo inv?lidos","erros":[{"chave":"required","caminho":"","mensagem":"deve ter a propriedade obrigat?ria body"}]}
---------------------------
OK
---------------------------
estou tendo o seguinte erro acima sabem me dizer o que pode ser a causa ?

Avatar discord do usuario yasmin_efi

yasmin_efi

Ver Respostas

Boa tarde @carlosbrighenti! Tudo bem? Esse desconto entra em um campo chamado conditional_discount, que pode ser encontrado em "Consultar atributos" no botão ao lado do exemplo da requisição em json na doc: https://dev.efipay.com.br/docs/api-cobrancas/boleto

Avatar discord do usuario carlosbrighenti

carlosbrighenti

Ver Respostas

onde posso encontrar um exemplo de json bolix que possua desconto em percentual para pagamento antecipado?

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Como é o JSON que você está enviando ?

Avatar discord do usuario rubenskuhl

rubenskuhl

{
"valor": "12.34",
"pagador": {
"chave": "19974764017",
"infoPagador": "Segue o pagamento da conta"
},
"favorecido": {
"contaBanco": {
"nome": "JOSE CARVALHO",
"cpf": "10519952057",
"codigoBanco": "09089356",
"agencia": "1",
"conta": "123453",
"tipoConta": "cacc"
}
}
}

Pede só nome, CPF, agência, conta e se é conta bancária/pagamento ou poupança. O codigoBanco é o ISPB (não é o código COMPE de 3 CNPJs, é o CNPJ do banco sem código de filial ou check digits).

Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @renato_95656 ! A nossa sdk ja faz a autenticação de forma automaticamente. Nesses exemplos você não precisa se preocupar com esse token. E no exemplo de criar cobrança sem informar o txid, seria omitir esse parâmetro e o método também altera, informando o txid é PUT e sem o txid é POST . Temos um exemplo ja implementado também - https://github.com/efipay/sdk-java-examples-apis-efi/blob/main/src/main/java/br/com/efi/pix/cob/json/PixCreateImmediateCharge.java

Avatar discord do usuario _josemax

_josemax

Ver Respostas

Tentando 54.242.231.66:443... Conectado ao pix-h.api.efipay.com.br (54.242.231.66) porta 443 (#0) ALPN, oferecendo http/1.1 CAfile: /etc/ssl/ certs/ca-certificates.crt CApath: /etc/ssl/certs Conexão SSL usando TLSv1.3 / TLS_AES_256_GCM_SHA384 ALPN, servidor aceito para usar http/1.1 Certificado do servidor: subject: C=BR; ST=MINAS GERAIS; L=OURO PRETO; O=EFI SA - INSTITUIÇÃO DE PAGAMENTO; CN=.api.efipay.com.br data de início: 17 de maio 19:31:27 2023 GMT data de expiração: 17 de junho 19:31:26 2024 GMT subjectAltName: host "pix-h.api.efipay. com.br" certificado correspondente ".api.efipay.com.br" emissor: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 Certificado SSL verificado ok. > PUT /v2/webhook/9f86e12a-370d-44dd-bd47-4b6a0b17bae5 HTTP/1.1 Host: pix-h.api.efipay.com.br User-Agent: GuzzleHttp/7 Content-Type: application/json Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9 ..VrAQ4hHRYVRvl9dzWsvX79j_VvtOcz-fSvo0LxuaQgY api-sdk: efi-php-1.6.1 x-skip-mtls-checking: false Content-Length: 51 ID de sessão SSL antigo está obsoleto, removendo Marcar pacote como não compatível com multiuso < HTTP/1.1 400 Solicitação incorreta Conexão #0 ao host pix-h.api.efipay.com.br deixada intacta 400
webhook_invalido Uma URL informada respondeu com o código HTTP 400

Avatar discord do usuario iberemendes

iberemendes

array(3) { ["nome"]=> string(13) "json_invalido" ["mensagem"]=> string(36) "Valores ou tipos de campo inválidos" ["erros"]=> array(1) { [0]=> array(3) { ["chave"]=> string(20) "additionalProperties" ["caminho"]=> string(5) ".body" ["mensagem"]=> string(44) "não são permitidas propriedades adicionais" } } }

Avatar discord do usuario cutegothvampire1

cutegothvampire1

def donate_value(message):
try:
valor = float(message.text.replace(',', '.'))
access_token = get_access_token()

body = {
'calendario': {
'expiracao': 3600
},
'devedor': {
'cpf': '12345678909',
'nome': 'Zhou Xinyu'
},
'valor': {
'original': f'{valor:.2f}'
},
'chave': '472d809f-633a',
'solicitacaoPagador': 'Cobrança dos serviços prestados.'
}

response = efi.pix_create_immediate_charge(body=body, access_token=access_token)
print(response)

if 'loc' in response and 'id' in response['loc']:
loc_id = response['loc']['id']

qrcode_response = requests.get(f'host/v2/loc/{loc_id}/qrcode', headers={'Authorization': f'Bearer {access_token}'}).json()
print(qrcode_response)

if 'qrcode' in qrcode_response and 'imagemQrcode' in qrcode_response:
# Enviar o código do QR no chat
client.send_message(cid, f'Código PIX: {qrcode_response["qrcode"]}')

image_data = base64.b64decode(qrcode_response['imagemQrcode'].replace('data:image/png;base64,', ''))
img = Image.open(BytesIO(image_data))
img_path = 'qrCodeImage.png'
img.save(img_path, 'PNG')

with open(img_path, 'rb') as photo:
client.send_photo(cid, photo)

except Exception as e:
print(f'Erro: {str(e)}')

Avatar discord do usuario _josemax

_josemax

Trying 54.242.231.66:443... Connected to pix-h.api.efipay.com.br (54.242.231.66) port 443 (#0) ALPN, offering http/1.1 CAfile: /etc/ssl/certs/ca-certificates.crt CApath: /etc/ssl/certs SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384 ALPN, server accepted to use http/1.1 Server certificate: subject: C=BR; ST=MINAS GERAIS; L=OURO PRETO; O=EFI S.A. - INSTITUICAO DE PAGAMENTO; CN=.api.efipay.com.br start date: May 17 19:31:27 2023 GMT expire date: Jun 17 19:31:26 2024 GMT subjectAltName: host "pix-h.api.efipay.com.br" matched cert's ".api.efipay.com.br" issuer: C=BE; O=GlobalSign nv-sa; CN=GlobalSign RSA OV SSL CA 2018 SSL certificate verify ok. > POST /oauth/token HTTP/1.1 Host: pix-h.api.efipay.com.br api-sdk: efi-php-1.6.1 User-Agent: GuzzleHttp/7 Content-Type: application/json Authorization: Basic Q2xpZW50X0lkXzlmMzFlNDA2MTE5MzkzZGJhYWRkMmEyN2FhOGM4YTVlYTdjZWY1ZTM6Q2xpZW50X1NlY3JldF83ZmM0MmU3NTMxNDgxY2UzYjcwNDg2NGIyZTJiZWI3YTQ5NGQyYjI5 Content-Length: 35 old SSL session ID is stale, removing Mark bundle as not supporting multiuse < HTTP/1.1 401 Unauthorized < Server: nginx < Date: Wed, 10 Jan 2024 16:00:20 GMT < Content-Type: application/json; charset=utf-8 < Content-Length: 80 < Connection: keep-alive < x-request-id: 411782c3-632f-4de9-9dda-b8f4231547f4 < vary: Origin < access-control-allow-credentials: true < cache-control: no-store < pragma: no-cache < www-authenticate: Basic realm="Efi",error:"invalid_client",error_description:"Invalid or inactive credentials" < etag: W/"50-mYFuecoP6wm/sG/LkLliU5qp17I" < Connection #0 to host pix-h.api.efipay.com.br left intact 401
invalid_client
Invalid or inactive credentials

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Dentro do arquivo request.json coloque somente [], para que o PHP entenda que é um json e consiga escrever.
E certifique de sua aplicação ter permissão de escrita no arquivo.

Avatar discord do usuario m.h1604

m.h1604

Ver Respostas

Vou mostrar como estou fazendo.

Parâmetros passados para criação do webhook:

$this->options["headers"] = [
"x-skip-mtls-checking" => "true",
];

$params = [
"chave" => $this->pix_key
];

$body = [
"webhookUrl" => "https://contratos.onlinedobrasil.com/webhook?ignorar="
];

Rota que está recebendo as notificações:
Routes::map('/webhook', function() {
if (isset($_POST)):
file_put_contents(__DIR__ . "/request.json", json_encode($_POST));
endif;

wp_send_json(200);
});

Estou salvando em um arquivo teste para ver o retorno das notificações, mas a única coisa que é gravado é um json vazio.

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Os callbacks são enviados pela Efí via POST para url-webhook-cadastrada​/pix. Você deve capturar as iinformação passadar em json.

Avatar discord do usuario theboss8142

theboss8142

Só de lembrar que passei a noite toda estudando pra nada praticamente é fogo kkkk, vou estudar esse next.js citado

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

O que já foi citado aqui como funcionando para consultas é o next.js ... inclusive tem um pull-request de um usuário de lá para o SDK Node.

Avatar discord do usuario theboss8142

theboss8142

Está funcionando no postman ou localhost, estou usando nodejs

Avatar discord do usuario coxinha_noob

coxinha_noob

Ver Respostas

unica coisa que mudei foi a parte onde recebo o json com a confirmação de pagamento para salvar no banco, mas ja voltei da forma original e ainda assim continua com esse erro

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Tem que ser algo de back-end. Flutter só para front-end de cartão de crédito. NodeJS é uma das opções, mas não é a única... tem vários SDKs:
https://dev.efipay.com.br/docs/sdk/introducao

Avatar discord do usuario theboss8142

theboss8142

Ver Respostas

Caraca ter que escrever na mão mesmo kkkk, usando Dart com o framework flutter rola ou só nodejs

Avatar discord do usuario igorpnh

igorpnh

Bom dia, tudo certo?

Estou com um outro projeto usando api pix de vcs e ao gerar o token, estou tendo esse erro como retorno:

Erro de geração token: Error: not enough data

este é minha requisição para obter o token:
method: "POST",
url: https://pix.api.efipay.com.br/oauth/token,
headers: {
Authorization: Basic ${credentials},
"Content-Type": "application/json"
},
httpsAgent: agent,
data: {
grant_type: "client_credentials"
}

já verifiquei para ver se era problemas na variável credentials ou no meu agent mas ambos estão ok, lendo certificado e criando a credentials corretamente, conseguem me dar um norte de como resolver isso?