Histórico de mensagens sobre Client_ID em pix

EXIBINDO CONVERSAS RECENTES:

Texto: Client_ID
Canal: pix
Avatar discord do usuario gabdarkness

gabdarkness

Bom dia, existe alguma chave especifica para o pix, além do client_id e do client_secret?

Avatar discord do usuario luantrindny

luantrindny

entendi, tinham me mandando somente 1 client id e secret, mas 2 certificados

Avatar discord do usuario joao_efi

joao_efi

Ambos mudam, se está com o client_id e client_secret de produção, o certificado também precisa ser do mesmo ambiente

Avatar discord do usuario dauid64

dauid64

No momento estou fazendo da primeira forma

py
class PaymentService:
def __init__(self):
certificado_path = os.path.join(settings.BASE_DIR, os.getenv('EFI_CERTIFICADO'))
env = os.getenv('ENV_TYPE') if os.getenv('ENV_TYPE') else 'dev'
sandbox = False if env == 'prod' else True

options = {
"client_id": os.getenv('EFI_CLIENT_ID'),
"client_secret": os.getenv('EFI_CLIENT_SECRET'),
"sandbox": sandbox,
"certificate": certificado_path,
}

self.sdk = EfiPay(options)

e na minha view eu faço

py
@method_decorator(csrf_exempt, name='dispatch')
class ProcessPayment(generic.View):
def post(self, request, args, kwargs):
payment_service = PaymentService()

Avatar discord do usuario mreisme

mreisme

Ver Respostas

Tive um problema parecido e resolvi dessa forma no nestjs

import EfiPay from 'sdk-typescript-apis-efi';
import dotenv from 'dotenv';
dotenv.config();

const options = {
sandbox: true, // false = PRODUÇÃO, true = HOMOLOGAÇÃO,
client_id: process.env.EFI_CLIENT_ID!,
client_secret: process.env.EFI_CLIENT_SECRET!,
certificate: process.env.EFI_CERT!,
validate_mtls: false
};

const efipay = new EfiPay(options)

export default efipay;

Avatar discord do usuario _paocareca

_paocareca

credentials = {
"client_id": "Client_Id_0000",
"client_secret": "Client_Secret_0000",
"sandbox": False,
}

certificado = r'C:\Users\User\Downloads\conversor-p12-efi-main\conversor-p12-efi-main\producao-552927-Bot_dominus_cert.pem'

auth = base64.b64encode(
(f"{credentials['client_id']}:{credentials['client_secret']}"
).encode()).decode()

url = "https://pix.api.efipay.com.br/oauth/token"

payload="{\r\n \"grant_type\": \"client_credentials\"\r\n}"
headers = {
'Authorization': f"Basic {auth}",
'Content-Type': 'application/json'
}

response = requests.request("POST",
url,
headers=headers,
data=payload,
cert=certificado)

print(response.text)

Avatar discord do usuario shoutonplay

shoutonplay

Ver Respostas

Bom dia, estou tentando integrar utilizando nestjs com a lib sdk-node-apis-efi

import EfiPay from 'sdk-node-apis-efi';

export const efiPay = new EfiPay({
sandbox: process.env.NODE_ENV !== 'production',
client_id: process.env.EFI_CLIENT_ID,
client_secret: process.env.EFI_CLIENT_SECRET,
pix_cert: process.env.EFI_PIX_CERTIFICATE,
certificate: process.env.EFI_CERTIFICATE,
cert_base64: true,
});

porém estou tendo este erro:

TypeError: sdk_node_apis_efi_1.default is not a constructor

Avatar discord do usuario desistenao

desistenao

Ver Respostas

eu já configurei o client id e client secret e certificado

Avatar discord do usuario kevencampos

kevencampos

Ver Respostas

alguem sabe se é possível eu verificar se o client secret e o client id é valido sem usar o certificado ?

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Obrigado pela resposta, mas por favor você me mostrar como configurar meu credentials corretamente, para que meu servidor possa ignorar o TLS, no momento ele está dessa forma:

credentials = {
sandbox: false,
client_id: clientId,
client_secret: clientSecret,
certificate: cert.toString("base64"),
validate_mtls: false,
cert_base64: true,
};

Avatar discord do usuario rogerio_itu2044

rogerio_itu2044

Ver Respostas

Boa noite!
Já se foram 3 longos dias tentando configurar meu webhook com Skip-mTLS em NodeJs Typescript, usando o sdk-node-apis-efi, por favor poderiam me ajudar, estou recebendo o seguinte erro:

{
nome: 'webhook_invalido',
mensagem: 'A URL informada respondeu com o código HTTP 403'
}

Sei que existem vários pedidos de ajuda relacionados a esse caso, mas nenhum é relacionado ao webhook do tipo Skip-mTLS, que é meu caso, porque estou usando servidor compartilhado.
A principio quero ressaltar um erro nos exemplos do github:
credentials.js
module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true
sandbox: false,
client_id: 'seu_client_id',
client_secret: 'seu_client_secret',
certificate: 'caminho/ate/seu/certificado.p12',
}
sendo que no SDK mostra diferente:
{
sandbox: boolean;
client_id: string;
client_secret: string;
partner_token?: string | undefined;
certificate?: string | undefined;
cert_base64?: boolean | undefined;
pix_cert?: string | undefined;
pemKey?: string | undefined;
}
E também tem um erro no exemplo no git para configuração do webhook, de onde venho esse tal de options['validateMtls'], sendo que ele não existe nas credenciais do SDK:
const EfiPay = require('sdk-node-apis-efi')
let options = require('../../credentials')

options['validateMtls'] = false

let body = {
webhookUrl: 'https://exemplo-pix/webhook',
}

let params = {
chave: 'SUACHAVEPIX',
}

const efipay = new EfiPay(options)

efipay.pixConfigWebhook(params, body)
.then((resposta) => {
console.log(resposta)
})
.catch((error) => {
console.log(error)
})
O arquivo anexo contém meu exemplo de configuração de webhook, mas gostaria muito que vocês fornecessem um exemplo atualizado em typescript.
Muito obrigado!

Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Bom dia, @srbatista_! Tudo bem?
Você comentou que conseguiu gerar o QR Code e a chave copia e cola, mas deu erro na hora de pagar. Isso acontece porque o Pix estava sendo gerado no ambiente de homologação, ou seja, era apenas um Pix de teste.

Tente mudar as credenciais Client_ID, Client_Secret e o certificado para os de produção. Depois, conta pra gente o que aconteceu!

Avatar discord do usuario washington_00111

washington_00111

Ver Respostas

Olá, gente!
Abri um ticket no site da EFI para buscar ajuda quanto à configuração em meu site de Gateway de Pagamento. Recebi de retorno sugestão para ver vídeo explicativo com o passo-a-passo, o que me foi muito útil. Porém, mesmo tendo aplicada as informações de Client ID:, Client Secret: e Chave Aleatória:, assim como também tendo feito o upload do certificado com o nome "pagamentos.pem" no diretório principal do site, ainda sim não estou conseguindo concluir o processo de compra, aparecendo a mensagem "An error occured.", seguindo de:
Deprecated: preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /home4/washin79/amorifa.com.br/config.php on line 113
() -

Podem me ajudar?

Avatar discord do usuario ruan_20764

ruan_20764

Ver Respostas

boa tarde, como eu faço para acessar minha chave client id?

Avatar discord do usuario _mannerlyman_

_mannerlyman_

Ver Respostas

Alguma ideia?

Estou querendo skippar o mtls

PS: Estou passando o client id e client secret de homologação bem como certificado (testado e funcionando em outros endpoints)
imagem enviada na mensagem pelo usuario _mannerlyman_

Avatar discord do usuario bras6379_26227

bras6379_26227

Ver Respostas

Pessoal, outra duvida por favor. Estou tentando pegar a imagem do pix qrcode mas esta dando {'error': 'insufficient_scope', 'error_description': 'Access token has insufficient scope'}

No entanto todos os escopos do Pix estao habilitados na minha API (imagem anexada). Qual scopo esse endpoint para detalhar o pix se refere?

credentials = {
'client_id': '',
'client_secret': '
',
'sandbox': False,
'certificate': ''
}

efi = EfiPay(credentials)

body = {
"pixCopiaECola": "
"
}

response = efi.pix_qrcode_detail(body=body)
imagem enviada na mensagem pelo usuario bras6379_26227

Avatar discord do usuario oliveira9384

oliveira9384

Ver Respostas

opa bom dia, estou tendo problemas ao usar o sdk em php não ta lendo o certificado
cURL error 60: SSL certificate problem: self signed certificate in certificate chain

[
"clientId" => env("EFI_BANK_CLIENT_ID"),
"clientSecret" => env("EFI_BANK_CLIENT_SECRET"),
"certificate" => "C:\Devs\x-pro-desp\storage\app\certificado_prod_cert.pem",
"pwdCertificate" => "",
"sandbox" => false,
"debug" => false,
"timeout" => 30,
"responseHeaders" => true,
]

Avatar discord do usuario smoretti

smoretti

passei o client id, client secret, o certificado.p12 e dá o erro

json
cause: Error: socket hang up
at TLSSocket.socketOnEnd (node:_http_client:535:25)
at TLSSocket.emit (node:events:531:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
code: 'ECONNRESET'
}

Avatar discord do usuario rubenskuhl

rubenskuhl

Ver Respostas

Sim, seus clientes precisarão te passar client ID, client secret e certificado para você operar os recebimentos para eles.

Avatar discord do usuario rafaaoki

rafaaoki

Ver Respostas


Credentials credentials = new Credentials();

HashMap options = new HashMap();
options.put("client_id", credentials.getClientId());
options.put("client_secret", credentials.getClientSecret());
options.put("certificate", credentials.getCertificate());
options.put("sandbox", credentials.isSandbox());

HashMap params = new HashMap();
params.put("idEnvio", "12453567890123456789");

Map body = new HashMap();
body.put("valor", "99.99");

Map pagador = new HashMap();
pagador.put("chave", "Insira_aqui_sua_chave");
body.put("pagador", pagador);

Map favorecido = new HashMap();
favorecido.put("chave", "joã[email protected]");
body.put("favorecido", favorecido);

try {
EfiPay efi= new EfiPay(options);

Map response = efi.call("pixSend", params, body);
System.out.println(response);
}catch (EfiPayException e){
System.out.println(e.getError());
System.out.println(e.getErrorDescription());
}
catch (Exception e) {
System.out.println(e.getMessage());
}
}
este seria de envio entao?