![Avatar discord do usuario harukisatoh](https://cdn.discordapp.com/avatars/276511680392069122/9371900401e006c3ccc96edbb534f668.webp)
certo, mas ai o cliente receberia duas cobranças no primeiro mês?
Na primeira sugestão, você criaria sim duas assinaturas pro cliente. Mas acredito que no seu caso, seria melhor cria rum boleto avulso com o desconto e criar a assinatura para os próximos meses.
Você emite via API ou pela Conta digital?
mas como funcionaria isso? no checkout eu teria que inscrever o usuário em duas assinaturas?
Boa tarde @harukisatoh ! As configurações são aplicadas para todas as recorrências. O que você pode fazer é criar uma assinatura com uma configuração de desconto, definindo para ocorre apenas 1 vez e criar outra assinatura com a nova configuração, sem desconto que se aplicará para os próximos meses. Ou apenas criar um boleto (título avulso) no primeiro mês e para os próximos, cria a assinatura normalmente.
Boa tarde, estou fazendo uma integração com o Efipay e gostaria de saber se consigo oferecer desconto na minha assinatura somente no primeiro mês?
Que bom que deu certo, @leandro535!
$dataVencimento = $_POST['data'];
$plano = $_POST['plano'];
$valorTotal = floatval(str_replace(',', '.', str_replace('.', '', $_POST['valorInteiro'])));
$numeroParcelas = intval($_POST['num_parcelas']);
if (!is_numeric($valorTotal) || $valorTotal <= 0) {
die("Valor total inválido. Por favor, insira um valor numérico positivo.");
}
$documento = preg_replace('/\D/', '', $_POST['cpf']); // Remove caracteres não numéricos
// Verifica se é um CPF (11 dígitos) ou CNPJ (14 dígitos)
if (strlen($documento) == 11) {
$customer = [
"name" => $_POST['nome'],
"email" => $_POST['email'],
"cpf" => str_pad($documento, 11, '0', STR_PAD_LEFT)
];
} elseif (strlen($documento) == 14) {
$customer = [
"name" => $_POST['nome'],
"email" => $_POST['email'],
"juridical_person" => [
"corporate_name" => $_POST['corporate_name'],
"cnpj" => str_pad($documento, 14, '0', STR_PAD_LEFT)
]
];
} else {
die("Documento inválido. Por favor, insira um CPF ou CNPJ válido.");
}
consegui:
conforme o erro retornado
Pelo código você está passando o cnpj no campo cpf
// Construindo o array customer
$customer = [
"name" => $_POST['nome'],
"email" => $_POST['email'],
];
// Verifica se é uma pessoa física (CPF) ou pessoa jurídica (CNPJ)
if (!empty($_POST['cpf'])) {
$customer["cpf"] = str_pad($cpf, 11, '0', STR_PAD_LEFT); // Garante que o CPF tenha 11 caracteres
} elseif (!empty($_POST['cnpj'])) {
$customer["cpf"] = str_pad($cnpj, 11, '0', STR_PAD_LEFT); // Envia o CNPJ no campo de CPF
$customer["juridical_person"] = [
"corporate_name" => $_POST['corporate_name'],
"cnpj" => str_pad($cnpj, 14, '0', STR_PAD_LEFT), // Garante que o CNPJ tenha 14 caracteres
];
}
no meu código esta assim:
vou ter que alterar de novo o arquivo 'create'
Esses detalhes e mais informações constam na nossa [documentação técnica sobre criação de carnês via API](https://dev.efipay.com.br/docs/api-cobrancas/carne#criando-carn%C3%AAs)
Boa tarde, @leandro535!
Pela mensagem confere por gentileza se não está passando o CNPJ no campo CPF, existe um campo próprio para CNPJ que é no atributo "juridical_person", conforme imagem a seguir
Poderia me encaminhar um print da tela que esta os boletos por gentileza ?
3500034validation_errorArray ( [property] => /customer/cpf [message] => A string é muito longa (14 caracteres), máximo 11. )
e esta dando esse erro:
agora estou tentando gerar carne