Jump to content

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


Recommended Posts

Olá Pessoal,

Alguém sabe se existe ou pode indicar módulo addon ou hook para definir, remover ou adicionar forma de pagamento de acordo com o valor da fatura. Ex; Faturas abaixo de 20,00 não deve ficar disponível boleto,  apenas pix etc;

Link to comment
Share on other sites

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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...

Important Information

Do you agree with our terms?