Nombre del complemento: pasarela de pago simple de WooCommerce
Descripción: una pasarela básica de pago personalizado para WooCommerce
Versión: 1.0
Autor: Tu nombre
*/
if (! definido (‘abspath’)) {
salida; // Salir si se accede directamente
}
add_action (‘plugins_loaded’, ‘init_simple_payment_gateway’);
función init_simple_payment_gateway () {
if (! class_exists (‘wc_payment_gateway’)) {
devolver; // wooCommerce no está instalado
}
La clase wc_simple_payment_gateway extiende wc_payment_gateway {
función pública __construct () {
$ this-> id = ‘simple_payment_gateway’;
$ this-> método_title = __ (‘Pague de pago simple’, ‘wooCommerce’);
$ this-> método_description = __ (‘una pasarela de pago personalizada simple’, ‘wooCommerce’);
$ this-> has_fields = true;
$ this-> init_form_fields ();
$ this-> init_settings ();
$ this-> title = $ this-> get_option (‘título’);
$ this-> descripción = $ this-> get_option (‘descripción’);
$ this-> habilitado = $ this-> get_option (‘habilitado’);
add_action (‘wooCommerce_update_options_payment_gateways_’. $ this-> id, array ($ this, ‘process_admin_options’));
}
función pública init_form_fields () {
$ this-> form_fields = array (
‘habilitado’ => array (
‘Title’ => __ (‘enable/desactivar’, ‘wooCommerce’),
‘type’ => ‘Checkbox’,
‘Etiqueta’ => __ (‘Habilitar la pasarela de pago simple’, ‘wooCommerce’),
‘predeterminado’ => ‘sí’
),
‘Título’ => Array (
‘Title’ => __ (‘Title’, ‘WooCommerce’),
‘type’ => ‘text’,
‘Descripción’ => __ (‘Esto controla el título que el usuario ve durante el pago’, ‘WooCommerce’),
‘predeterminado’ => __ (‘pago simple’, ‘wooCommerce’),
‘desc_tip’ => verdadero,
),
‘Descripción’ => Array (
‘Title’ => __ (‘Descripción’, ‘WooCommerce’),
‘type’ => ‘textarea’,
‘Descripción’ => __ (‘Esto controla la descripción que el usuario ve durante el pago’, ‘wooCommerce’),
‘predeterminado’ => __ (‘Pagar usando nuestra pasarela de pago simple’, ‘wooCommerce’),
‘desc_tip’ => verdadero,
)
);
}
Función pública PAGET_FIELDS () {
hacer eco
‘. $ this-> Descripción. ‘
‘;
echo »;
}
Función pública Process_payment ($ Order_id) {
Global $ WooCommerce;
$ orden = wc_get_order ($ orden_id);
// Aquí normalmente procesaría el pago con su procesador de pago
// Para este ejemplo, simplemente marcaremos el pedido como completado
$ orden-> pagos_complete ();
$ wooCommerce-> car-> vacía_cart ();
Array de retorno (
‘resultado’ => ‘éxito’,
‘Redirect’ => $ this-> get_return_url ($ orden)
);
}
}
}
add_filter (‘wooCommerce_payment_gateways’, ‘add_simple_payment_gateway’);
función add_simple_payment_gateway ($ métodos) {
$ Métodos[] = ‘Wc_simple_payment_gateway’;
devolver $ métodos;
}