Ir para conteúdo
  • Cadastre-se

Addon ou Hook WHMCS para definir forma de pagamento de acordo com valor da fatura


Posts Recomendados

Veja se esse hook criado pelo ChatGPT pode funcionar

 

<?php

use WHMCS\Payment\PaymentGateway;
use WHMCS\Database\Capsule;

add_hook('ClientAreaPage', 1, function($vars) {
    $invoice_id = $_GET['invoiceid'] ?? null;
    if ($invoice_id) {
        // Recuperar o valor da fatura
        $invoice = Capsule::table('tblinvoices')->where('id', $invoice_id)->first();
        
        if ($invoice) {
            $total = $invoice->total;
            $available_gateways = PaymentGateway::getAvailableGateways();
            
            // Se o total for menor que 20, remover o boleto da lista de gateways
            if ($total < 20) {
                unset($available_gateways['boleto']); // 'boleto' é o identificador do método de pagamento
            }
            
            // Aqui você pode personalizar a lógica para outros gateways conforme necessário
            // Exemplo: Adicionar lógica para mostrar ou ocultar Pix ou outros métodos
        }
    }
});

2. Explicação do Código:

  • add_hook('ClientAreaPage', 1, ...): Este hook é executado ao carregar a página do cliente. Você pode mudar para outro hook dependendo da sua necessidade (exemplo: InvoicePaid ou InvoiceCreation).
  • $invoice_id: Obtém o ID da fatura a partir da URL.
  • $invoice->total: Recupera o valor total da fatura.
  • PaymentGateway::getAvailableGateways(): Recupera todos os métodos de pagamento disponíveis no WHMCS.
  • unset($available_gateways['boleto']): Remove o método de pagamento boleto (substitua 'boleto' pelo identificador correto do método de pagamento, caso seja outro).

3. Verifique os Identificadores de Métodos de Pagamento:

O WHMCS usa identificadores específicos para os gateways de pagamento, como 'bacs' para transferência bancária, 'paypal' para PayPal, etc. Você pode verificar os identificadores exatos desses gateways diretamente na tabela tblpaymentgateways ou pela interface administrativa do WHMCS.

4. Outros Métodos de Personalização:

Se você precisar de uma solução mais robusta ou visual, você pode procurar por módulos específicos que implementem restrições de pagamento condicional no WHMCS, como o Payment Gateway Restrictions. Esses módulos geralmente fornecem interfaces gráficas para você definir as regras sem a necessidade de codificação.

Link para o comentário
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.
Nota: Sua postagem exigirá aprovação do moderador antes de ficar visível.

Visitante
Infelizmente, seu conteúdo contém termos que não são permitimos. Edite seu conteúdo para remover as palavras destacadas abaixo.
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?