Histórico

EXIBINDO CONVERSAS RECENTES:

Texto: Product
# pix
Avatar discord do usuario andersonhsilva

andersonhsilva

Ver no Discord

Efi\EfiPay {#348 ▼ // routes/web.php:39
-requester: null
-endpoints: array:5 [▼
"CHARGES" => array:2 [▶]
"PIX" => array:2 [▼
"URL" => array:2 [▼
"production" => "https://pix.api.efipay.com.br"
"sandbox" => "https://pix-h.api.efipay.com.br"
]
"ENDPOINTS" => array:48 [▶]
]
"OPEN-FINANCE" => array:2 [▶]
"PAYMENTS" => array:2 [▶]
"OPENING-ACCOUNTS" => array:2 [▶]
]
-methods: null
-options: array:12 [▼
"sandbox" => true
"debug" => false
"cache" => true
"timeout" => 60
"clientId" => "xxxxxxxxx"
"clientSecret" => "xxxxxxxx"
"partnerToken" => null
"headers" => null
"baseUri" => null
"api" => null
"certificate" => false
"pwdCertificate" => ""
]
}

este é o retorno que estou tendo quando instacio a class EfiPay, acredito que deu certo, mas vou fazer mais testes

# pix
Avatar discord do usuario matheuzin6375

matheuzin6375

Ver no Discord

então, eu ja baixei o arquivo até no diretorio e passei o caminho relativo: show\producao-550582-AC7PRODUCTION_cert.pem, mas também deu o mesmo erro

# assinaturas
Avatar discord do usuario vitorsenna

vitorsenna

Ver no Discord

A partir desse método, que recebe como body:
{
"plan_id": 3,
"customer": {
"email": "[email protected]",
"phone_number": "31123456789"
},
"items": [{
"name": "Product 1",
"value": 1000,
"amount": 1
}],
"shippings": [{
"name": "frete",
"value": 1800
}]
}

# bolix
Avatar discord do usuario rafael_13315

rafael_13315

Ver RespostasVer no Discord

Boa tarde, estou tentando gerar um boleto em homologaçao

POST
Endereço: https://cobrancas-h.api.efipay.com.br/v1/charge/one-step

no campo body -> raw informo ex:

{
"items": [
{
"name": "Product 1",
"value": 1000,
"amount": 1
}
],
"payment": {
"banking_billet": {
"expire_at": "2019-10-16",
"customer": {
"name": "Gorbadoc Oldbuck",
"email": "[email protected]",
"cpf": "14014603059",
"birth": "1977-01-15",
"phone_number": "62986070247"
}
}
}
}

no header informo

Authorization: "meu token gerado"
Content-Type: application/json

ao executar, recebo o erro "Bad Request 400"

alguem consegue me informar o que poderia estar errado ?

# cartões
Avatar discord do usuario allisson4027

allisson4027

Ver RespostasVer no Discord

Bom dia pessoal, estou fazendo a integração da api de cobrança do cartão e usei o SDK pois o procedimento de geração do payment_token no back-end foi descontinuado.

Estou realizando o procedimento correto de todas as etapas para obter o payment_token, porém não estou conseguindo ver o pagamento realizado depois de obter o payment_token,

algumas duvidas:

1 - Depois gerar o payment_token preciso utiliza-lo em algum lugar?
2 - Onde passo o installments para número da parcela no SDK?

EfiJs.CreditCard
.setAccount('Identificador_de_conta_aqui')
.setEnvironment('production') // 'production' or 'sandbox'
.setCreditCardData({
brand: 'visa',
number: '4485785674290087',
cvv: '123',
expirationMonth: '05',
expirationYear: '2029',
reuse: false
})
.getPaymentToken()


Ainda estou com debbuger ligado:

Environment production
salt: success
publicKey: success
creditCardData success
cardDataEncripted: success
Application_type: Node
getFingerPrint: success
paymentTokenData: success

# bolix
Avatar discord do usuario rafaelogliari

rafaelogliari

Ver RespostasVer no Discord

Bom dia!

Estou com dificuldades de gerar boleto com PHP Curl. Sempre retorna: Unauthorized.
Utilizei credencias de Homologação.

Estou utilizando esse modelo:
$config = [
"client_id" => "Client_Id_....",
"client_secret" => "Client_Secret_...."
];
$autorizacao = base64_encode($config["client_id"] . ":" . $config["client_secret"]);

$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://cobrancas-h.api.efipay.com.br/v1/charge/one-step',
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 =>'{
"items": [{
"name": "Product 1",
"value": 500,
"amount": 1
}],
"shippings": [{
"name": "Default Shipping Cost",
"value": 100
}],
"payment": {
"banking_billet": {
"expire_at": "2024-04-16",
"customer": {
"name": "Gorbadoc Oldbuck",
"email": "[email protected]",
"cpf": "10617184682",
"birth": "1977-01-15",
"phone_number": "62986070247"

}
}
}
}',
CURLOPT_HTTPHEADER => array(
"Authorization: Basic $autorizacao",
"Content-Type: application/json"
),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

# pix
Avatar discord do usuario lidiamariano

lidiamariano

Ver RespostasVer no Discord

essas são todas as variáveis de ambiente que uso. elas estão preenchidas mas mandem vazias por questão de segurançaEFI_CLIENT_ID =""
EFI_CLIENT_SECRET =""
EFI_ENDPOINT = "https://pix.api.efipay.com.br"
NODE_ENV = "production"
EFI_CERT = ""

# cartões
Avatar discord do usuario rodolphot

rodolphot

Ver RespostasVer no Discord

TL;DR: Webhook sendo bloqueada pelo Bot Fight Mode do Cloudflare
----
Boa tarde, pessoal. Desculpe se esse não é o melhor local para enviar minha mensagem mas não encontrei um que tratasse apenas de webhooks.

Vamos lá: Quando faço uma chamada na API da Efí solicitando o pagamento tudo funciona corretamente, o problema não está aí. Acontece que estou informando uma 'notification_url' que usa o Cloudflare (tanto o WAF como o 'Bot Fight Mode' do Cloudflare).

No WAF tenho regras para liberar qualquer requisição no caminho que informei lá na 'notification_url', digamos, "dominio.com.br/webhooks/efi". A regra do WAF funciona (Recebo outros webhooks similares sem problema)... porém as requisições vindas da Efí são sempre identificadas/filtradas no "Bot Fight Mode", o que ocorre antes de sequer chegarem aos meus filtros do WAF... e, sendo assim, as requisições estão sendo sempre descartadas.

Note que não uso o "Super Bot Fight Mode" que, nesse caso, seria sim possível criar uma regra no WAF que pule o "Super Bot Fight Mode", mas não do "Bot Fight Mode". (Há, inclusive, um aviso em destaque no local onde você habilita o Bot Fight Mode: "Note: Other security products cannot be used to skip Bot Fight Mode.") (Pelo que li isso pode mudar no futuro.... mas infelizmente tenho esse problema hoje).

Uma "solução" que encontrei (mas sequer testei pois não é possível pra mim) é desabilitar o Bot Fight Mode.... infelizmente isso não é uma solução.

Parece existir meios de mitigar isso, inclusive a Efí cadastrando o bot com a Cloudflare deve ser o bastante (https://radar.cloudflare.com/traffic/verified-bots). Vocês podem pensar nisso?

Eu que estou fazendo algo errado? Não devo ser o único passando por isso mas não encontrei nada a respeito..

# pix
Avatar discord do usuario _josemax

_josemax

Ver RespostasVer no Discord

if(EFI_API_MOD =='sanbox'){
$sandbox = true; // false = Production | true = Homologation
}elseif(EFI_API_MOD =='production'){
$sandbox = false; // false = Production | true = Homologation
}

# pix
Avatar discord do usuario disneyjj

disneyjj

Ver RespostasVer no Discord

Boa tarde pessoal, estou usando o método CreateOneStepLink na SDK .net core.

Estou recebendo esse seguinte erro:{"code":3500034,"error":"validation_error","error_description":"A propriedade [request_delivery_address] é obrigatória."}

Estou enviando o body disponibilizado na SDK.

var body = new
{
items = new[] {
new {
name = "Product 1",
value = 590,
amount = 2
}
},
settings = new
{
payment_method = "all",
expire_at = "2022-12-15",
request_delivery_address = false
}
};

# pix
Avatar discord do usuario peterfritz

peterfritz

Ver no Discord

Algo assim funcionaria:

js
import axios from "axios";
import https from "https";

const subdomain = process.env.NODE_ENV === "production" ? "pix" : "pix-h";

const clientCreds = clientId + ":" + clientSecret;
const authorization = Basic ${Buffer.from(clientCreds).toString("base64")};

const certificate = Buffer.from(certificateBase64Encoded, "base64");

const httpsAgent = new https.Agent({
pfx: certificate,
passphrase: "",
});

const oAuthResponse = await axios.post(
https://$" class="link-msg" >https://${subdomain}.api.efipay.com.br/oauth/token,
{
grant_type: "client_credentials",
},
{
headers: {
Authorization: authorization,
"Content-Type": "application/json",
},
httpsAgent,
}
);

const token = oAuthResponse.data.access_token;

const efiApi = axios.create({
baseURL: https://${subdomain}.api.efipay.com.br,
headers: {
Authorization: Bearer ${token},
"Content-Type": "application/json",
},
httpsAgent,
});

await efiApi.put(
/v2/webhook/${process.env.PIX_KEY},
{
webhookUrl:
${process.env.WEBHOOK_BASE_URL}/api/webhook/efi?secret=${process.env.WEBHOOK_SECRET}&ignore=.replace(
"//api",
"/api"
),
},
{
headers: {
"x-skip-mtls-checking": "true",
},
}
);