Tutorial: Adicionar configurações customizadas ao Módulo Gerencianet Boleto para WHMCS
A partir da versão 2.2.1 do módulo Gerencianet Boleto para WHMCS, é possível, com conhecimento básico em php, incluir, funções e alterar o funcionamento do gateway, sem editar diretamente o código original.
Para funcionar, as customizações só precisam ser salvas em pastas específicas do módulo, como explicarei a seguir. Dessa forma é possível atualizar o módulo no futuro sem perder as personalizações.
Como demonstração do funcionamento das opções personalizadas, oferecemos duas customizações “bônus” cedidas generosamente pela Go Suite, que só precisam ser instaladas para serem utilizadas, caso sejam úteis para o seu modelo de negócio.
Opção Customizada 1: Desativar criação do boleto ao gerar a fatura, apenas para clientes específicos, via campo do perfil (custom field yes/no).
- Crie um campo personalizado de cliente do tipo “Caixa de Opções”, com algo como “Não gerar boleto ao gerar a fatura” no título e marque “Apenas Admin” nas permissões.
Depois disso você pode acessar o perfil de cada cliente, que deve gerar o boleto apenas ao acessar a fatura e marcar a nova opção:
- Salve o arquivo custom_field_to_ignore.php na pasta
/includes/customconfig/
do módulo, o arquivo não deve ser renomeado e o caminho completo em relação à instalação do WHMCS deve ser:/modules/gateways/gofasgerencianetboleto/includes/customconfig/custom_field_to_ignore.php;
- Salve este outro arquivo custom_field_to_ignore.php na pasta
/params/customparams/
do módulo, o caminho completo em relação à instalação do WHMCS deve ser:
/modules/gateways/gofasgerencianetboleto/params/customparams/custom_field_to_ignore.php;
- Após concluir as etapas 2 e 3, acesse as configurações do módulo, ‘desça’ até a nova sessão do módulo que surgirá e selecione no menu suspenso, o campo personalizado que você criou no passo 1:
Opção Customizada 2: Desativar criação do boleto ao gerar a fatura apenas para grupos de produtos específicos
- Salve o arquivo product_groups_to_ignore.php na pasta
/includes/customconfig/
do módulo, o arquivo não deve ser renomeado e o caminho completo em relação à instalação do WHMCS deve ser:/modules/gateways/gofasgerencianetboleto/includes/customconfig/product_groups_to_ignore.php;
- Salve este outro arquivo product_groups_to_ignore.php na pasta
/params/customparams/
do módulo, o caminho completo em relação à instalação do WHMCS deve ser:
/modules/gateways/gofasgerencianetboleto/params/customparams/product_groups_to_ignore.php;
- Nas configurações do módulo, na sessão dedicada às configurações adicionais, adicione os IDs dos grupos de produtos, separados por vírgula, para que ao gerar uma fatura, caso haja cobrança de algum produto desse(s) grupos nessa fatura, o boleto seja gerado apenas quando o cliente acessa-la:
Criando suas próprias configurações personalizadas
- Crie um arquivo PHP na pasta
/includes/customconfig/
do módulo, com o nome que será utilizado para identificar a configuração quando os parâmetros do módulo forem invocados, exemplo:
configuracao_adicional.php
Neste arquivo, crie uma variável com o nome exatamente igual ao do arquivo (sem .php) onde o valor atribuído à ela deve ser um
array
com o formato a seguir:
Nesse exemplo criamos um campo de texto. A variável $opt_num++ serve para numerar as configurações;
Exemplo do caminho completo em relação à instalação do WHMCS:/modules/gateways/gofasgerencianetboleto/includes/customconfig/configuracao_adicional.php
- Para invocar o valor dessa configuração e repassa-lo como variável quando o módulo for executado, crie um arquivo (com qualquer nome, mas de preferência o mesmo nome da configuração para melhor organização e entendimento) na pasta
/params/customparams/
. Todas as variáveis definidas neste arquivo serão carregadas após as variáveis originais do módulo, dessa forma, copiando as variáveis do módulo para este arquivo, é possível atribuir um novo valor a cada variável, antes dos dados serem repassados às funções do módulo.
No exemplo a seguir, utilizamos o valor da opção criada anteriormente (caso tenha sido definida nas configurações do módulo), para adicionar dias a mais à data de vencimento do boleto, para que os boletos sempre sejam gerados com por exemplo, 2 dias a mais à data de vencimento da fatura.
- Crie um arquivo PHP na pasta
- Uma aplicação útil para este caso é quando há uma contratação no WHMCS e o boleto é gerado com a data de vencimento para o mesmo dia, como citado neste tópico do fórum.