Cómo añadir el SDI en WooCommerce

A continuación, se incluye un fragmento de código que puedes utilizar para añadir fácilmente la integración con SDI (Sistema di Interscambio) en WooCommerce, el plugin de WordPress.

Programmazione WordPress
Programmazione WordPress

A continuación, se incluye un fragmento de código que puedes utilizar para agregar fácilmente la integración con SDI (Sistema di Interscambio) en WooCommerce, el plugin de WordPress.

/**
 * Aggiungi lo SDI come metodo di pagamento in WooCommerce
 */
function aggiungi_sdi_metodo_pagamento($gateways) {
    $gateways['sdi_gateway'] = 'WC_Gateway_SDI';
    return $gateways;
}
add_filter('woocommerce_payment_gateways', 'aggiungi_sdi_metodo_pagamento');

/**
 * Classe del gateway di pagamento SDI
 */
class WC_Gateway_SDI extends WC_Payment_Gateway {
    /**
     * Costruttore del gateway
     */
    public function __construct() {
        $this->id = 'sdi_gateway';
        $this->icon = ''; // Inserisci l'URL dell'icona se necessario
        $this->method_title = 'SDI';
        $this->method_description = 'Pagamento tramite SDI';
        $this->supports = array('products');

        $this->init_form_fields();
        $this->init_settings();

        $this->title = $this->get_option('title');
        $this->description = $this->get_option('description');

        add_action('woocommerce_update_options_payment_gateways_' . $this->id, array($this, 'process_admin_options'));
    }

    /**
     * Inizializza i campi di configurazione del gateway
     */
    public function init_form_fields() {
        $this->form_fields = array(
            'enabled' => array(
                'title' => 'Abilita/Disabilita',
                'type' => 'checkbox',
                'label' => 'Abilita pagamento tramite SDI',
                'default' => 'yes',
            ),
            'title' => array(
                'title' => 'Titolo',
                'type' => 'text',
                'description' => 'Titolo del metodo di pagamento visualizzato durante il checkout',
                'default' => 'SDI',
                'desc_tip' => true,
            ),
            'description' => array(
                'title' => 'Descrizione',
                'type' => 'textarea',
                'description' => 'Descrizione del metodo di pagamento visualizzata durante il checkout',
                'default' => 'Effettua il pagamento tramite SDI',
            ),
        );
    }

    /**
     * Processa il pagamento
     */
    public function process_payment($order_id) {
        $order = wc_get_order($order_id);
        $order->update_status('on-hold', 'In attesa di pagamento tramite SDI');
        $order->reduce_order_stock();
        WC()->cart->empty_cart();

        return array(
            'result' => 'success',
            'redirect' => $this->get_return_url($order),
        );
    }
}

Asegúrate de insertar este código en el archivo functions.php de tu tema o en un plugin personalizado. Además, deberás configurar los ajustes de la pasarela SDI a través de la administración de WooCommerce.

Nota: Este código solo proporciona una base para la integración de SDI en WooCommerce. Es posible que debas realizar modificaciones para adaptarlo a tus necesidades específicas, como el manejo de las respuestas de SDI y la adición de campos personalizados en el proceso de pago.

Pubblicato in

Se vuoi rimanere aggiornato su Cómo añadir el SDI en WooCommerce iscriviti alla nostra newsletter settimanale

Sé el primero en comentar

Deja una respuesta

Tu dirección de correo no será publicada.


*