1. Home
  2.  
  3. Blog
  4.  
  5. Ecommerce
  6.  
  7. Come creare un modulo di pagamento personalizzato in PrestaShop

Come creare un modulo di pagamento personalizzato in PrestaShop

Come creare un modulo di pagamento personalizzato in PrestaShop
Getting your Trinity Audio player ready...


Uno degli aspetti più importanti di un e-commerce è offrire ai clienti metodi di pagamento flessibili e sicuri. PrestaShop mette a disposizione diversi gateway già pronti (PayPal, Stripe, bonifico, contrassegno), ma in alcuni casi può essere necessario sviluppare un modulo di pagamento personalizzato.

In questa guida vedremo come creare un modulo di pagamento su misura per PrestaShop, utile ad esempio quando vuoi integrare un gateway locale, un sistema di rateizzazione o un metodo di pagamento alternativo non supportato nativamente.


1. Perché creare un modulo di pagamento personalizzato

I motivi possono essere diversi:

  • Integrare un sistema di pagamento usato solo in un mercato specifico.
  • Collegare PrestaShop con API di banche o provider finanziari.
  • Aggiungere condizioni particolari (es. pagamento disponibile solo sopra una certa soglia di ordine).
  • Personalizzare la logica di validazione e conferma degli ordini.

2. Struttura di base di un modulo PrestaShop

Ogni modulo PrestaShop ha una struttura standard:

  • Una cartella con il nome del modulo.
  • Un file principale PHP con la classe del modulo.
  • I template per la visualizzazione lato frontend.
  • Eventuali file CSS/JS e configurazioni.

Per un modulo di pagamento, la classe deve estendere PaymentModule.

if (!defined('_PS_VERSION_')) {
    exit;
}
class MyPayment extends PaymentModule
{
    public function __construct()
    {
        $this->name = 'mypayment';
        $this->tab = 'payments_gateways';
        $this->version = '1.0.0';
        $this->author = 'Tuo Nome';
        parent::__construct();
        $this->displayName = $this->l('Il mio metodo di pagamento');
        $this->description = $this->l('Modulo di pagamento personalizzato per PrestaShop');
    }
}

3. Registrare il modulo nei metodi di pagamento

Per rendere disponibile il nuovo metodo nel checkout, il modulo deve agganciarsi agli hook:

  • paymentOptions (per PrestaShop 1.7 e superiori)

  • paymentReturn (per la pagina di conferma ordine)

Esempio di hook paymentOptions:

public function hookPaymentOptions($params)
{
    if (!$this->active) {
        return;
    }
    $newOption = new PrestaShop\PrestaShop\Core\Payment\PaymentOption();
    $newOption->setCallToActionText($this->l('Paga con il mio metodo personalizzato'))
              ->setAction($this->context->link->getModuleLink($this->name, 'payment', array(), true));
    return [$newOption];
}

4. Creare il controller per il processo di pagamento

Il modulo deve includere un controller front-end che gestisce il processo di pagamento:

  • Validazione dei dati.

  • Comunicazione con l’API del provider (se presente).

  • Conferma o annullamento dell’ordine.

Esempio controller:

class MyPaymentPaymentModuleFrontController extends ModuleFrontController
{
    public function postProcess()
    {
        // Qui inserisci la logica di pagamento
        $this->module->validateOrder(
            (int)$this->context->cart->id,
            Configuration::get('PS_OS_PAYMENT'),
            $this->context->cart->getOrderTotal(true, Cart::BOTH),
            $this->module->displayName,
            null,
            array(),
            (int)$this->context->currency->id,
            false,
            $this->context->customer->secure_key
        );
        Tools::redirect('index.php?controller=order-confirmation&id_cart='.(int)$this->context->cart->id);
    }
}

5. Test e debug del modulo

Prima di usarlo in produzione:

  • Attiva la modalità debug in PrestaShop.

  • Verifica il corretto funzionamento con ordini di prova.

  • Controlla i log (var/logs/) per eventuali errori.


Conclusione

Creare un modulo di pagamento personalizzato in PrestaShop ti permette di offrire più scelta ai clienti e di adattare il negozio alle esigenze del mercato. Conoscere la struttura di un modulo e gli hook principali è il primo passo per integrare sistemi di pagamento alternativi in modo sicuro ed efficace.

Vuoi che sviluppiamo per te un modulo di pagamento personalizzato per PrestaShop, ottimizzato e sicuro? Richiedi una consulenza gratuita

Se ti è piaciuto questo articolo riguardo Come creare un modulo di pagamento personalizzato in PrestaShop condividilo sui social:
Dal 2010 supportiamo le aziende nella pianificazione e nello sviluppo di strategie mirate per una presenza efficace e professionale sul web e sui social media. Ecco tutto quello che possiamo fare per la tua attività.

Articoli correlati