Author Image

leandro_24465

Oct 12, 2024

Erro SSL e Conversão de Certificados P12 para PEM

SSLcertificadoAPIPython.p12.pemerroEfiPay

esse meu código deu o seguinte erro "Erro durante o processamento: HTTPSConnectionPool(host='pix-h.api.efipay.com.br', port=443): Max retries exceeded with url: /oauth/token (Caused by SSLError(SSLError(524297, '[SSL] PEM lib (_ssl.c:3845)')))" alguem como resolver isso?

import json
from efipay import EfiPay

# Carrega as credenciais do arquivo JSON
with open('C:\\Users\\LANAS\\OneDrive\\Documents\\Nova pasta\\venv\\Scripts\\credentials.json') as file:
options = json.load(file)

# Dados da cobrança
body = {
"calendario": {
"expiracao": 3600 # Tempo para expirar em segundos
},
"devedor": {
"cpf": "12345678909", # CPF do pagador
"nome": "Nome do Cliente"
},
"valor": {
"original": "0.01" # Valor do pagamento
},
"chave": "46aadfb3-50d6-4fa4-ae00-e6b8813b0dbe", # Chave Pix da conta Efí do recebedor
"infoAdicionais": [
{
"nome": "Produto/Serviço",
"valor": "Descrição do produto/serviço"
}
]
}

try:
# Instancia a API com as credenciais carregadas
api = EfiPay(options)

# Cria a cobrança Pix imediata
pix = api.pix_create_immediate_charge(params={}, body=body)

if 'txid' in pix:
# Se a cobrança foi criada com sucesso, gera o QR Code
params = {
'id': pix['loc']['id']
}
qrcode = api.pix_generate_qr_code(params)

# Exibe os dados do Pix e do QR Code no console
print("Cobrança Pix criada com sucesso!")
print("TXID:", pix['txid'])
print("QR Code gerado:", qrcode['imagemQrcode'])
print("Código Pix (copia e cola):", qrcode['qrcode'])

else:
print("Erro ao criar a cobrança Pix:", pix)

except Exception as e:
# Trata qualquer outro erro de forma genérica
print(f"Erro durante o processamento: {str(e)}")


Respostas (4):
Avatar discord do usuario rubenskuhl

rubenskuhl

12/10/2024

Está faltando o certificado.

Avatar discord do usuario leandro_24465

leandro_24465

13/10/2024

o certificado está no arquivo de credenciais. o formato do certificado é p12. como estou utilizando python, o certificado precisaria estrar em outro formato?

Avatar discord do usuario rubenskuhl

rubenskuhl

13/10/2024

As requisições feitas às APIs da Efí, utilizando a sdk de Python precisam do certificado gerado em sua conta Efí no formato .pem.

Confira aqui o passo a passo para converter seu certificado P12 para o formato PEM.


https://dev.efipay.com.br/docs/api-pix/credenciais/#convers%C3%A3o-de-certificado-p12-para-o-formato-pem

Avatar discord do usuario guilherme_efi

guilherme_efi

14/10/2024

Bom dia, @leandro_24465! Você pode usar também nosso conversor online: https://efipay.github.io/encode-credentials/certificado.html