Histórico de mensagens sobre sandbox

EXIBINDO CONVERSAS RECENTES:

Texto: sandbox
# pix
Avatar discord do usuario alissonmaciel_32335

alissonmaciel_32335

$config = [
"certificado" => ($sandbox) ? $pathCertificateHomolog : $pathCertificateProd,
"client_id" => ($sandbox) ? $clientIdHomolog : $clientIdProd,
"client_secret" => ($sandbox) ? $clientSecretHomolog : $clientSecretProd,
"rotas" => ($sandbox) ? $rotasHomolog : $rotasProd
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();
$fp = fopen($_SERVER['DOCUMENT_ROOT'] . '/errorlog.txt', 'w');

curl_setopt_array($curl, array(
CURLOPT_VERBOSE => true,
CURLOPT_STDERR => $fp,
CURLOPT_URL => $config['rotas'] . "/oauth/token", // Rota base, homologação ou produção
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
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"
),
));

$response = curl_exec($curl);

echo '

';
var_dump($config, $response);
echo '
';

curl_close($curl);

# cartões
Avatar discord do usuario joaolucas_efi

joaolucas_efi

Bom dia @jamersonbernardo, tudo bem?

Você pode utilizar o seguinte exemplo para gerar o payment token com React.

Exemplo alternativo para gerar payment_token react:

js
"use client"
import { useEffect, useState } from 'react';

const App = () => {
const [message, setMessage] = useState('Hello React!');

useEffect(() => {
const script = document.createElement('script');
script.type = 'module';
script.src = 'https://cdn.jsdelivr.net/gh/efipay/js-payment-token-efi/dist/payment-token-efi.min.js';
script.onload = runEfiJsCode;
document.head.appendChild(script);
}, []);

const runEfiJsCode = async () => {
try {
EfiJs.CreditCard
.debugger(false)
.setAccount('')
.setEnvironment('') // 'production' or 'sandbox'
.setCreditCardData({
brand: '',
number: '',
cvv: '',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
})
.getPaymentToken()
.then(data => {
const payment_token = data.payment_token;
const card_mask = data.card_mask;

setMessage(Payment_token: ${payment_token} | Card_mask: ${card_mask})
console.log('payment_token', payment_token);
console.log('card_mask', card_mask);
})
.catch(err => {
console.log('Código: ', err.code);
console.log('Nome: ', err.error);
console.log('Mensagem: ', err.error_description);
});
} catch (error) {
console.log('Código: ', error.code);
console.log('Nome: ', error.error);
console.log('Mensagem: ', error.error_description);
}
};

return (

{message}

);
};

export default function Home() {
return (



);
}

# devs
Avatar discord do usuario pedrinne

pedrinne

sandbox: false,
client_id: 'seu_client_id',
client_secret: 'seu_client_secret',
certificate: 'caminho/ate/seu/certificado.p12', onde eu pego meu id e o secret

# pix
Avatar discord do usuario joao_efi

joao_efi

@blini369 Em homologação o atributo sandbox precisa estar como true

# pix
Avatar discord do usuario blini369

blini369

module.exports = {
// PRODUÇÃO = false
// HOMOLOGAÇÃO = true,
sandbox: false,
client_id: "Client_Id........",
client_secret: "Client_Secret........",
certificate: "./certificados/homologacao-506459.p12",
};

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

@guilherme_efi Por favor me tire mais uma duvida.
Fiz a assinatura em sandbox com cartão fake, e aparentemente deu tudo certo.

Porem observando via painel na minha conta efi, a cobrança está como aguardando, ou seja, nao deveria ficar como paid, uma vez que foi feita com cartão. Tem alguma forma de passar para paid para que consiga testar o recebimento dessa notificação a fim de tratar isso no meu sistema?

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

Vou fazer mais uns teste, mas acho que era isso mesmo, ou seja, meu frontend estava como prod e backend como sandbox.
Valeu amigo, muito obrigado!

# assinaturas
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Isso, nesse script que gera o payment_token no frontend tem a definição do ambiente 'production' ou 'sandbox'. O ambiente deve ser o mesmo que o do backend.

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

Meu objeto de configuracao contem mais ou menos os seguinte dados:

js
options {
sandbox: true,
client_id: 'Client_Id_a34467b0898cbbf...',
client_secret: 'Client_Secret_1a7450d8d5c0b...',
pix_cert: '0�\n' +
'm\x02\x01\x030�\n' + ...
}
Vale salientar que o método abaixo esta funcionando normal
js
const signature = await this.gn.createSubscription(
paramsSignature,
bodySubscriptionSignature,
);
porem o metodo paySubscription é que está gerando o erro:
js
this.gerencianet.paySubscription(params, body);

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

@guilherme_efi Bom ia amigo. Tinha feito uma integração (Testada em sandbox) que estava funcionando e ja validado certinho meu fluxo. Agora voltei a testar e estou recebendo um erro:
Minha integração de assinatura tem mais ou menos o seguinte código:

js


const bodySubscriptionSignature = {
items: [
{
name: Assinatura: ${plan.title},
value: parseInt(convertPriceGateway(plan.price)),
amount: 1,
},
],
metadata: {
custom_id: ${companyId} - ${Date.now()},
notification_url: process.env.GN_NOTIFICATION_URL,
},
};

const paramsSignature = {
id: plan.planId,
};

const signature = await this.gn.createSubscription(
paramsSignature,
bodySubscriptionSignature,
);

const paramsPayment = {
id: signature.subscription_id,
};

const bodyPayment = {
payment: {
credit_card: {
payment_token: paymentToken,
billing_address: {
street: user.company.address.street,
number: user.company.address.streetNumber,
neighborhood: user.company.address.district,
zipcode: cep,
city: user.company.address.city,
state: user.company.address.state,
},
customer: {
name: ${user.firstName} ${user.lastName},
email: user.email,
cpf: cpf,
birth: birthDate,
phone_number: phone,
},
},
},
};

const associatePayment = await this.gn.paySubscription(
paramsPayment,
bodyPayment,
);

return { associatePayment };



E estou recebendo o seguinte erro:
js
{
"code": 3500010,
"error": "property_does_not_exists",
"error_description": {
"property": "payment_token",
"message": "A propriedade [payment_token] informada não existe."
}
}
Mudou alguma coisa?

# assinaturas
Avatar discord do usuario antoniofernandes

antoniofernandes

Ver Respostas

@Efí vc poderiam me informar o numero de um cartão de teste para que possa testar minha integração de assinatura em sandbox?

# pix
Avatar discord do usuario jessica_efi

jessica_efi

Ver Respostas

Boa tarde @berserk9864 . A falha 401 está relacionada às credenciais inseridas e o ambiente selecionado. Você deve inserir credenciais e certificado de produção com o sandbox false ou certificado e credenciais de homologação com sandbox true.

# devs
Avatar discord do usuario cwichoski

cwichoski

Ver Respostas

Boa tarde, estou assumindo o desenvolvimento de uma aplicação que tem integração com o GerenciaNet, que utiliza pelo modelo um Script embutido no site, seguind esse modelo de código:

if (sandbox === true) {
s.src = 'https://sandbox.gerencianet.com.br/v1/cdn/' + identificador_conta + '/' + v;
} else {
s.src = 'https://api.gerencianet.com.br/v1/cdn/' + identificador_conta + '/' + v;
}

Como estou começando agora entender o GerenciaNet, esse é o mesmo modelo de API encontrado no site, ou alguem tem algum detalhe de como isso funciona? Como o desenvolvedor antigo não deixou muitas informações, descobri por exemplo que o código identificador_conta está fixo no código fonte, e não vem por variavel de ambiente, e salvo no momento é um codigo que parece ser de sandbox. Ai preciso entender melhor esse modelo de integração pra poder fazer as correções.

# pix
Avatar discord do usuario guilherme_efi

guilherme_efi

Ver Respostas

Oi, bom dia! Você está utilizando uma de nossas SDKs? Se sim, verifique qual valor está atribuído no parâmetro sandbox. Se for true indica o ambiente de homologação, se false será o de produção.

# dúvidas
Avatar discord do usuario rafaelsantosferraz

rafaelsantosferraz

Ver Respostas

Terminei de abrir a conta. Já consegui acessar. Tudo certo. Como faço pra ter acesso ao meu token, Sandbox, API?
Obrigado

# dúvidas
Avatar discord do usuario rafaelsantosferraz

rafaelsantosferraz

Ver Respostas

Olá, gostaria de saber se existe alguma forma de utilizar um 'sandbox' de vocês antes de necessariamente abrir uma conta. Quero testar a API de vocês para um aplicativo de um cliente. Claro que uma fez válidada a API, o seguinte passo seria a abertura da conta. Obrigado

# pix
Avatar discord do usuario richaardev

richaardev

Ver Respostas

Eu queria receber o webhook com a confirmação do pagamento da https://dev.efipay.com.br/docs/api-pix/cobrancas-imediatas#criar-cobran%C3%A7a-imediata-sem-txid>">cobrança, porém eu estava em duvida mesmo como simular o pagamento do sandbox, já que por exemplo no mercado pago, já é tudo manual, ou seja, só recebo o webhook depois de acessar a url de pagamento de sandbox e confirmar o pagamento

# pix
Avatar discord do usuario bgeneto

bgeneto

Ver Respostas

Então realmente não estou entendendo mais nada... peço desculpas pela insistência, mas não mudamos nada em nossa produção e simplesmente começou a apresentar o erro mencionado (além da exceção que mudou de nome de EfiPayException para EfiException). Além disso, o arquivo de exemplo efipay\sdk-php-apis-efi\examples\credentials\options.php está assim (sem cache):

$options = [
"client_id" => ($sandbox) ? $clientIdHomolog : $clientIdProd,
"client_secret" => ($sandbox) ? $clientSecretHomolog : $clientSecretProd,
"certificate" => ($sandbox) ? $pathCertificateHomolog : $pathCertificateProd,
"sandbox" => $sandbox,
"debug" => false,
"timeout" => 30
];
Então vou insistir em que olhem com carinho... Thx!!!

# módulos-plugins
Avatar discord do usuario vinidade

vinidade

Ver Respostas

Outra dúvida: gerei um boleto na Sandbox. Como faço pra alterar o status dele pra pago pra disparar a notificação pro meu site?

# pix
Avatar discord do usuario giulianojordao

giulianojordao

Estou enviando os dados de options... let options = {
sandbox: (process.env.API_MODE !== 'PROD') ? true : false,
client_id: (process.env.API_MODE === 'PROD') ? process.env.EFI_PROD_CLIENT_ID : process.env.EFI_HOMOL_CLIENT_ID,
client_secret: (process.env.API_MODE === 'PROD') ? process.env.EFI_PROD_SECRET : process.env.EFI_HOMOL_SECRET,
certificate: certificado,
validateMtls: false,
};