Files
vietnam-payment-gateways/vietnam-payment-gateways.php
T

77 lines
2.5 KiB
PHP

<?php
/*
* Plugin Name: Vietnam Payment Gateways for Woocommerce
* Plugin URI: https://thuanbui.me
* Description: Vietnam Payment Gateways for Woocommerce
* Author: Thuan Bui
* Author URI: https://thuanbui.me
* Text Domain: vnpg
* Domain Path: /languages
* Version: 2.1.1
* Tested up to: 6.0
* License: GNU General Public License v3.0
*/
/*
* This action hook registers our PHP class as a WooCommerce payment gateway
*/
add_filter( 'woocommerce_payment_gateways', 'vnpg_add_gateway_class' );
function vnpg_add_gateway_class( $gateways ) {
$gateways[] = 'WC_VNPG_YCB'; // your class name is here
return $gateways;
}
/*
* The class itself, please note that it is inside plugins_loaded action hook
*/
add_action( 'plugins_loaded', 'vnpg_init_gateway_class' );
function vnpg_init_gateway_class() {
class WC_VNPG_YCB extends WC_Payment_Gateway {
public function __construct() {
$this->id = 'vnpg';
$this->icon = apply_filters( 'woocommerce_vnpg_icon', '' );
$this->has_fields = false;
$this->method_title = __( 'Vietnam Bank Transfer (VietQR)', 'vnpg' );
$this->method_description = __( 'Take payments by scanning QR code with Vietnamese banking App.', 'vnpg' );
// Load the settings.
$this->init_form_fields();
$this->init_settings();
// Actions.
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );
//add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'save_account_details' ) );
add_action( 'woocommerce_thankyou_' . $this->id, array( $this, 'thankyou_page' ) );
// Customer Emails.
add_action( 'woocommerce_email_before_order_table', array( $this, 'email_instructions' ), 10, 3 );
}
/**
* Initialise Gateway Settings Form Fields.
*/
public function init_form_fields(){
}
/**
* Output for the order received page.
*
* @param int $order_id Order ID.
*/
public function thankyou_page( $order_id ) {
}
/**
* Add content to the WC emails.
*
* @param WC_Order $order Order object.
* @param bool $sent_to_admin Sent to admin.
* @param bool $plain_text Email format: plain text or HTML.
*/
public function email_instructions( $order, $sent_to_admin, $plain_text = false ) {
}
}
}