Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| bb53031bc7 | |||
| 6a753591e1 | |||
| 698fc6b77b |
|
Before Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 49 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
@@ -0,0 +1,105 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* The class to handle the payment gateway 1Pay https://1pay.vn/home/
|
||||
*
|
||||
*
|
||||
* @author htdat
|
||||
* @since 1.3
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
class WooViet_1Pay_Bank extends WC_Payment_Gateway {
|
||||
|
||||
/**
|
||||
* Constructor for the gateway.
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = 'wooviet_1pay_bank';
|
||||
$this->has_fields = false;
|
||||
$this->order_button_text = __( 'Proceed to 1Pay', 'woo-viet' );
|
||||
$this->method_title = __( '1Pay Bank (by Woo Viet)', 'woo-viet' );
|
||||
|
||||
// @todo - check the method description
|
||||
$this->method_description = __( '1Pay Bank supports all local banks in Vietnam.', 'woo-viet' );
|
||||
$this->supports = array(
|
||||
'products',
|
||||
);
|
||||
|
||||
// Load the settings.
|
||||
$this->init_form_fields();
|
||||
$this->init_settings();
|
||||
|
||||
// Define user set variables.
|
||||
$this->title = $this->get_option( 'title' );
|
||||
$this->description = $this->get_option( 'description' );
|
||||
$this->access_key = $this->get_option( 'access_key' );
|
||||
$this->secret = $this->get_option( 'secret' );
|
||||
|
||||
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) );
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Initialise Gateway Settings Form Fields.
|
||||
*/
|
||||
public function init_form_fields() {
|
||||
$this->form_fields = include( 'wooviet-1pay/settings.php' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the payment.
|
||||
*/
|
||||
public function process_payment( $order_id ) {
|
||||
|
||||
$order = wc_get_order( $order_id );
|
||||
|
||||
return array(
|
||||
'result' => 'success',
|
||||
'redirect' => $this->get_pay_url( $order )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the 1Pay pay_url for an order.
|
||||
* @param WC_Order $order
|
||||
* @return string
|
||||
*/
|
||||
public function get_pay_url ( $order ) {
|
||||
|
||||
|
||||
$access_key = $this->access_key;
|
||||
$secret = $this->secret; // require your secret key from 1pay
|
||||
$return_url = $this->get_1pay_return_url();
|
||||
|
||||
$command = 'request_transaction';
|
||||
$amount = $order->get_total(); // >10000
|
||||
$order_id = $order->id;
|
||||
$order_info = sprintf( 'The payment for the order number %1$s on the site: %2$s', $order->id, get_home_url());
|
||||
|
||||
$data = "access_key=".$access_key."&amount=".$amount."&command=".$command."&order_id=".$order_id."&order_info=".$order_info."&return_url=".$return_url;
|
||||
$signature = hash_hmac("sha256", $data, $secret);
|
||||
$data.= "&signature=".$signature;
|
||||
|
||||
// @todo: make the POST request to get pay_url
|
||||
/*
|
||||
$json_bankCharging = execPostRequest('http://api.1pay.vn/bank-charging/service', $data);
|
||||
//Ex: {"pay_url":"http://api.1pay.vn/bank-charging/sml/nd/order?token=LuNIFOeClp9d8SI7XWNG7O%2BvM8GsLAO%2BAHWJVsaF0%3D", "status":"init", "trans_ref":"16aa72d82f1940144b533e788a6bcb6"}
|
||||
$decode_bankCharging=json_decode($json_bankCharging,true); // decode json
|
||||
$pay_url = $decode_bankCharging["pay_url"];
|
||||
header("Location: $pay_url");
|
||||
*/
|
||||
}
|
||||
|
||||
public function get_1pay_return_url(){
|
||||
return WC()->api_request_url( __CLASS__ );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -88,34 +88,6 @@ class WooViet_Admin_Page {
|
||||
value="<?php echo wp_create_nonce( 'wooviet_save_settings' ) ?>">
|
||||
<table class="form-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Add the OnePay Domestic Gateway', 'woo-viet' ) ?></th>
|
||||
<td>
|
||||
<input name="settings[add_onepay_domestic][enabled]" type="hidden" value="no">
|
||||
<input name="settings[add_onepay_domestic][enabled]" type="checkbox"
|
||||
id="add_onepay_domestic" value="yes"
|
||||
<?php if ( 'yes' == $settings['add_onepay_domestic']['enabled'] )
|
||||
echo 'checked="checked"' ?>>
|
||||
<label for="add_onepay_domestic"><?php _e( 'Enabled', 'woo-viet' ) ?></label>
|
||||
<br/>
|
||||
<br/>
|
||||
<label for="">
|
||||
<?php
|
||||
echo sprintf( __( 'Your store currency is <code>%s</code>. ', 'woo-viet' ), get_woocommerce_currency() );
|
||||
// Handle whether or not the store current is VND
|
||||
if ( 'VND' == get_woocommerce_currency() ) {
|
||||
_e( 'OnePay can work on your site.', 'woo-viet' );
|
||||
echo '<br/>';
|
||||
echo sprintf( __( 'Please configure this gateway under <a href="%s">WooCommerce -> Settings -> Checkout</a>.', 'woo-viet' ), admin_url( 'admin.php?page=wc-settings&tab=checkout§ion=wooviet_onepay_domestic' ) );
|
||||
} else {
|
||||
_e( '<span style="color: red" ">This gateway is not active on your site. Because OnePay supports VND only.</span>', 'woo-viet' );
|
||||
}
|
||||
|
||||
?>
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Add provinces for Vietnam', 'woo-viet' ) ?></th>
|
||||
<td>
|
||||
@@ -127,14 +99,14 @@ class WooViet_Admin_Page {
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php _e( 'Add districts for Vietnam', 'woo-viet' ) ?><br/>
|
||||
<th scope="row"><?php _e( 'Add districts for Vietnam', 'woo-viet' ) ?><br />
|
||||
<i><?php _e( 'Require "Add provinces for Vietnam" active', 'woo-viet' ) ?></i>
|
||||
</th>
|
||||
<td>
|
||||
<input name="settings[add_city][enabled]" type="hidden" value="no">
|
||||
<input name="settings[add_city][enabled]" type="checkbox" id="add_city" value="yes"
|
||||
<?php if ( 'yes' == $settings['add_city']['enabled'] )
|
||||
echo 'checked="checked"' ?>>
|
||||
<?php if ( 'yes' == $settings['add_city']['enabled'] )
|
||||
echo 'checked="checked"' ?>>
|
||||
<label for="add_city"><?php _e( 'Enabled', 'woo-viet' ) ?></label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
<?php
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Manage the notices of the plugin
|
||||
*
|
||||
* @author htdat
|
||||
* @since 1.3.1
|
||||
*
|
||||
*/
|
||||
class WooViet_Notices {
|
||||
|
||||
var $settings = '';
|
||||
|
||||
static $default_settings = array(
|
||||
'installation_time' => 0,
|
||||
'displaying_survey_after_4_weeks' => 'not_yet',
|
||||
);
|
||||
|
||||
/**
|
||||
* WooViet_Notices constructor.
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->settings = self::get_settings();
|
||||
$this->set_installation_time();
|
||||
$this->manage_displaying_survey_after_4_weeks();
|
||||
|
||||
}
|
||||
|
||||
public function get_settings() {
|
||||
$settings = get_option( 'woo-viet_notices', self::$default_settings );
|
||||
$settings = wp_parse_args( $settings, self::$default_settings );
|
||||
|
||||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the installation time
|
||||
*/
|
||||
public function set_installation_time() {
|
||||
if ( ! $this->settings['installation_time'] ) {
|
||||
$this->settings['installation_time'] = time();
|
||||
$this->save_settings();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save settings for this classe
|
||||
*/
|
||||
public function save_settings() {
|
||||
update_option( 'woo-viet_notices', $this->settings );
|
||||
}
|
||||
|
||||
/**
|
||||
* Manage the notice 'displaying_survey_after_4_weeks'
|
||||
*/
|
||||
public function manage_displaying_survey_after_4_weeks() {
|
||||
$display_time = $this->settings['installation_time'] + ( 4 * 7 * 24 * 60 * 60 ); // 4 weeks; 7 days; 24 hours; 60 mins; 60 secs
|
||||
|
||||
// Manage the dismiss action
|
||||
if ( isset( $_GET['wooviet_dismiss'] )
|
||||
&&
|
||||
( 'displaying_survey_after_4_weeks' == $_GET['wooviet_dismiss'] )
|
||||
) {
|
||||
$this->settings['displaying_survey_after_4_weeks'] = 'done';
|
||||
$this->save_settings();
|
||||
}
|
||||
|
||||
// Display the message
|
||||
if ( $display_time < time() &&
|
||||
'not_yet' == $this->settings['displaying_survey_after_4_weeks']
|
||||
) {
|
||||
|
||||
add_action( 'admin_notices', array( $this, 'add_displaying_survey_after_4_weeks' ) );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* The HTML code to display in the admin notice
|
||||
*/
|
||||
public function add_displaying_survey_after_4_weeks() {
|
||||
|
||||
$line1 = __( 'Please help us to improve Woo Viet.', 'woo-viet' );
|
||||
$line2 = __( 'Rate us!', 'woo-viet' );
|
||||
$line3 = __( 'Or run a short survery:', 'woo-viet' );
|
||||
$line4 = '<a href="https://goo.gl/forms/QIMkNrRIxgERBBcm2" target="_blank">tiếng Việt</a> - <a href="https://goo.gl/forms/N4GxvBtaIg6iryx43" target="_blank">English</a>';
|
||||
$line5 = __( 'Dismiss this notice', 'woo-viet' );
|
||||
$link = admin_url( 'admin.php?page=woo-viet&wooviet_dismiss=displaying_survey_after_4_weeks' );
|
||||
|
||||
printf( '
|
||||
<div class="notice notice-success">
|
||||
<p><strong>%1$s</strong></p>
|
||||
<p><strong>
|
||||
<a href="https://wordpress.org/support/plugin/woo-viet/reviews/?filter=5#new-post" target="_blank">%2$s</a> %3$s %4$s
|
||||
</strong></p>
|
||||
<p>
|
||||
<a href="%6$s">%5$s</a>
|
||||
</p>
|
||||
</div>
|
||||
', $line1, $line2, $line3, $line4, $line5, $link );
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,441 +0,0 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* The class to handle the domestic OnePay gateway https://mtf.onepay.vn/developer/?page=modul_noidia
|
||||
*
|
||||
*
|
||||
* @author htdat
|
||||
* @since 1.3
|
||||
*
|
||||
*/
|
||||
class WooViet_OnePay_Domestic extends WC_Payment_Gateway {
|
||||
/** @var bool Whether or not logging is enabled */
|
||||
public static $log_enabled = false;
|
||||
|
||||
/** @var WC_Logger Logger instance */
|
||||
public static $log = false;
|
||||
|
||||
/**
|
||||
* Constructor for the gateway.
|
||||
*/
|
||||
public function __construct() {
|
||||
$this->id = strtolower( __CLASS__ );
|
||||
$this->has_fields = false;
|
||||
$this->order_button_text = __( 'Proceed to OnePay', 'woo-viet' );
|
||||
$this->method_title = __( 'OnePay Domestic Gateway (by Woo Viet)', 'woo-viet' );
|
||||
$this->method_description = __( 'OnePay supports all major bank ATMs in Vietnam.', 'woo-viet' );
|
||||
$this->supports = array(
|
||||
'products',
|
||||
);
|
||||
|
||||
// Load the settings.
|
||||
$this->init_form_fields();
|
||||
$this->init_settings();
|
||||
|
||||
// Define user set variables.
|
||||
$this->title = $this->get_option( 'title' );
|
||||
$this->description = $this->get_option( 'description' ) . sprintf( '<br/><div align="center"><img src="%s"></div>', WOO_VIET_URL . 'assets/onepay_domestic.png' );
|
||||
|
||||
$this->testmode = 'yes' === $this->get_option( 'testmode', 'no' );
|
||||
$this->merchant_id = $this->get_option( 'merchant_id' );
|
||||
$this->access_code = $this->get_option( 'access_code' );
|
||||
$this->secure_secret = $this->get_option( 'secure_secret' );
|
||||
$this->user = $this->get_option( 'user' );
|
||||
$this->password = $this->get_option( 'password' );
|
||||
$this->debug = 'yes' === $this->get_option( 'debug', 'no' );
|
||||
|
||||
self::$log_enabled = $this->debug;
|
||||
|
||||
// Process the admin options
|
||||
add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array(
|
||||
$this,
|
||||
'process_admin_options'
|
||||
) );
|
||||
|
||||
add_action( 'woocommerce_thankyou_' . $this->id, array( $this, 'handle_onepay_return_url' ) );
|
||||
|
||||
add_action( 'woocommerce_api_' . strtolower( __CLASS__ ), array( $this, 'handle_onepay_ipn' ) );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialise Gateway Settings Form Fields.
|
||||
*/
|
||||
public function init_form_fields() {
|
||||
$this->form_fields = include( 'onepay/domestic-settings.php' );
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the IPN URL for OnePay
|
||||
* Format: http://my-site.com/wc-api/WooViet_OnePay_Domestic/
|
||||
*/
|
||||
static function get_onepay_ipn_url() {
|
||||
return WC()->api_request_url( __CLASS__ );
|
||||
}
|
||||
|
||||
/**
|
||||
* Process the payment
|
||||
*
|
||||
* @param int $order_id
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function process_payment( $order_id ) {
|
||||
$order = wc_get_order( $order_id );
|
||||
|
||||
return array(
|
||||
'result' => 'success',
|
||||
'redirect' => $this->get_pay_url( $order )
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the OnePay pay URL for an order
|
||||
* AND set the queryDR cron for this transaction
|
||||
*
|
||||
* @param WC_Order $order
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function get_pay_url( $order ) {
|
||||
$args = array(
|
||||
'Title' => __( 'OnePay Payment Title', 'woo-viet' ),
|
||||
'vpc_Merchant' => $this->merchant_id,
|
||||
'vpc_AccessCode' => $this->access_code,
|
||||
'vpc_MerchTxnRef' => sprintf( '%1$s_%2$s', $order->get_id(), date( 'YmdHis' ) ),
|
||||
'vpc_OrderInfo' => substr(
|
||||
sprintf( 'Order #%1$s - %2$s', $order->get_id(), get_home_url() ),
|
||||
0,
|
||||
32 ), // Limit 32 characters
|
||||
'vpc_Amount' => $order->get_total() * 100, // Multiplying 100 is a requirement from OnePay
|
||||
'vpc_ReturnURL' => $this->get_return_url( $order ),
|
||||
'vpc_Version' => '2',
|
||||
'vpc_Command' => 'pay',
|
||||
'vpc_Locale' => ( 'vi' == get_locale() ) ? 'vn' : 'en',
|
||||
'vpc_Currency' => 'VND',
|
||||
'vpc_TicketNo' => $_SERVER['REMOTE_ADDR'],
|
||||
);
|
||||
|
||||
// Set the queryDR cron for this transaction
|
||||
$this->set_onepay_querydr_cron( $args['vpc_MerchTxnRef'] );
|
||||
|
||||
// Get the secure hash
|
||||
$vpc_SecureHash = $this->create_vpc_SecureHash( $args );
|
||||
|
||||
// Add the secure hash to the args
|
||||
$args['vpc_SecureHash'] = $vpc_SecureHash;
|
||||
$http_args = http_build_query( $args, '', '&' );
|
||||
|
||||
// Log data
|
||||
$message_log = sprintf('get_pay_url - Order ID: %1$s - http_args: %2$s', $order->get_id(), print_r($args, true) );
|
||||
self::log( $message_log);
|
||||
|
||||
if ( $this->testmode ) {
|
||||
return 'https://mtf.onepay.vn/onecomm-pay/vpc.op?' . $http_args;
|
||||
} else {
|
||||
return 'https://onepay.vn/onecomm-pay/vpc.op?' . $http_args;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the cron job running queryDR in 20 mintues
|
||||
* Because the OnePay payment timeout is 15 minutes
|
||||
*
|
||||
* @param string $vpc_MerchTxnRef
|
||||
*/
|
||||
public function set_onepay_querydr_cron( $vpc_MerchTxnRef ) {
|
||||
|
||||
wp_schedule_single_event(
|
||||
time() + 20 * 60,
|
||||
'wooviet_handle_onepay_querydr',
|
||||
array( $vpc_MerchTxnRef )
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the vpc_SecureHash value.
|
||||
* @see https://mtf.onepay.vn/developer/?page=modul_noidia_php
|
||||
*
|
||||
* @param array $args
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function create_vpc_SecureHash( $args ) {
|
||||
$stringHashData = "";
|
||||
|
||||
// arrange array data a-z before make a hash
|
||||
ksort( $args );
|
||||
|
||||
foreach ( $args as $key => $value ) {
|
||||
|
||||
if ( strlen( $value ) > 0 ) {
|
||||
if ( ( strlen( $value ) > 0 ) && ( ( substr( $key, 0, 4 ) == "vpc_" ) || ( substr( $key, 0, 5 ) == "user_" ) ) ) {
|
||||
$stringHashData .= $key . "=" . $value . "&";
|
||||
}
|
||||
}
|
||||
}
|
||||
//Remove the last character "&"
|
||||
$stringHashData = rtrim( $stringHashData, "&" );
|
||||
|
||||
return strtoupper( hash_hmac( 'SHA256', $stringHashData, pack( 'H*', $this->secure_secret ) ) );
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the return URL - GET request from OnePay
|
||||
*/
|
||||
public function handle_onepay_return_url() {
|
||||
|
||||
if ( isset( $_GET['vpc_SecureHash'] ) ) {
|
||||
|
||||
$this->process_onepay_response_data( $_GET, 'return' );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the repsonse data from OnePay
|
||||
*
|
||||
* @param string $args the response data from OnePay
|
||||
* @param string $type
|
||||
*/
|
||||
public function process_onepay_response_data( $args, $type ) {
|
||||
$types_accepted = array(
|
||||
'return',
|
||||
'ipn',
|
||||
'querydr',
|
||||
);
|
||||
|
||||
// Do nothing if the type is wrong
|
||||
if ( ! in_array( $type, $types_accepted ) ) {
|
||||
return;
|
||||
}
|
||||
|
||||
$is_secure = false;
|
||||
$is_querydr_exists = false;
|
||||
|
||||
if ( 'return' == $type OR 'ipn' == $type ) {
|
||||
$vpc_SecureHash = $args['vpc_SecureHash'];
|
||||
|
||||
// Remove the parameter "vpc_SecureHash" for validating SecureHash
|
||||
unset( $args['vpc_SecureHash'] );
|
||||
|
||||
$is_secure = $this->check_vpc_SecureHash( $args, $vpc_SecureHash );
|
||||
|
||||
} elseif ( 'querydr' == $type ) {
|
||||
$is_querydr_exists = ( 'Y' == $args['vpc_DRExists'] );
|
||||
|
||||
}
|
||||
|
||||
// Process the data
|
||||
if ( $is_secure OR $is_querydr_exists ) {
|
||||
/**
|
||||
* $vpc_MerchTxnRef looks like this "139_20170418101843" or {order_id}_{date_time}
|
||||
* @see $this->get_pay_url();
|
||||
*/
|
||||
$vpc_MerchTxnRef = $args['vpc_MerchTxnRef'];
|
||||
$vpc_TxnResponseCode = $args['vpc_TxnResponseCode'];
|
||||
|
||||
// Get the order_id part only
|
||||
$order_id = substr( $vpc_MerchTxnRef, 0, strrpos( $vpc_MerchTxnRef, '_' ) );
|
||||
|
||||
$order = wc_get_order( $order_id );
|
||||
|
||||
// Add the order note for the reference
|
||||
$order_note = sprintf(
|
||||
__( 'OnePay Domestic Gateway Info | Code: %1$s | Message: %2$s | MerchantTxnRef: %3$s | Type: %4$s', 'woo-viet' ),
|
||||
$vpc_TxnResponseCode,
|
||||
$this->OnePay_getResponseDescription( $vpc_TxnResponseCode ),
|
||||
$vpc_MerchTxnRef,
|
||||
$type
|
||||
);
|
||||
$order->add_order_note( $order_note );
|
||||
|
||||
// If the payment is successful, update the order
|
||||
if ( "0" == $vpc_TxnResponseCode ) {
|
||||
$order->payment_complete();
|
||||
}
|
||||
// Log data
|
||||
$message_log = sprintf('process_onepay_response_data - Order ID: %1$s - Order Note: %2$s - http_args: %3$s', $order_id, $order_note, print_r($args, true) );
|
||||
self::log( $message_log);
|
||||
|
||||
// Return the info
|
||||
switch ( $type ) {
|
||||
|
||||
case 'return':
|
||||
wp_redirect( $this->get_return_url( $order ) );
|
||||
break;
|
||||
|
||||
case 'ipn':
|
||||
exit( 'responsecode=1&desc=confirm-success' );
|
||||
break;
|
||||
|
||||
case 'querydr':
|
||||
// Do nothing
|
||||
break;
|
||||
}
|
||||
|
||||
} else {
|
||||
if ( 'ipn' == $type ) {
|
||||
exit( 'responsecode=0&desc=confirm-success' );
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether or not the arguments and a provided $vpc_SecureHash are the same
|
||||
*
|
||||
* @see https://mtf.onepay.vn/developer/?page=modul_noidia_php
|
||||
*
|
||||
* @param $args
|
||||
* @param $vpc_SecureHash
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function check_vpc_SecureHash( $args, $vpc_SecureHash ) {
|
||||
// Generate the "vpc_SecureHash" value from $args
|
||||
$vpc_SecureHash_from_args = $this->create_vpc_SecureHash( $args );
|
||||
|
||||
if ( $vpc_SecureHash_from_args == $vpc_SecureHash ) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the response description based on the response code
|
||||
* This is code is from OnePay
|
||||
*
|
||||
* @param string $responseCode
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function OnePay_getResponseDescription( $responseCode ) {
|
||||
|
||||
switch ( $responseCode ) {
|
||||
case "0" :
|
||||
$result = "Giao dịch thành công - Approved";
|
||||
break;
|
||||
case "1" :
|
||||
$result = "Ngân hàng từ chối giao dịch - Bank Declined";
|
||||
break;
|
||||
case "3" :
|
||||
$result = "Mã đơn vị không tồn tại - Merchant not exist";
|
||||
break;
|
||||
case "4" :
|
||||
$result = "Không đúng access code - Invalid access code";
|
||||
break;
|
||||
case "5" :
|
||||
$result = "Số tiền không hợp lệ - Invalid amount";
|
||||
break;
|
||||
case "6" :
|
||||
$result = "Mã tiền tệ không tồn tại - Invalid currency code";
|
||||
break;
|
||||
case "7" :
|
||||
$result = "Lỗi không xác định - Unspecified Failure ";
|
||||
break;
|
||||
case "8" :
|
||||
$result = "Số thẻ không đúng - Invalid card Number";
|
||||
break;
|
||||
case "9" :
|
||||
$result = "Tên chủ thẻ không đúng - Invalid card name";
|
||||
break;
|
||||
case "10" :
|
||||
$result = "Thẻ hết hạn/Thẻ bị khóa - Expired Card";
|
||||
break;
|
||||
case "11" :
|
||||
$result = "Thẻ chưa đăng ký sử dụng dịch vụ - Card Not Registed Service(internet banking)";
|
||||
break;
|
||||
case "12" :
|
||||
$result = "Ngày phát hành/Hết hạn không đúng - Invalid card date";
|
||||
break;
|
||||
case "13" :
|
||||
$result = "Vượt quá hạn mức thanh toán - Exist Amount";
|
||||
break;
|
||||
case "21" :
|
||||
$result = "Số tiền không đủ để thanh toán - Insufficient fund";
|
||||
break;
|
||||
case "99" :
|
||||
$result = "Người sủ dụng hủy giao dịch - User cancel";
|
||||
break;
|
||||
default :
|
||||
$result = "Giao dịch thất bại - Failured";
|
||||
}
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the IPN POST request from OnePay
|
||||
*/
|
||||
public function handle_onepay_ipn() {
|
||||
|
||||
if ( isset( $_REQUEST['vpc_SecureHash'] ) ) {
|
||||
|
||||
$this->process_onepay_response_data( $_REQUEST, 'ipn' );
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle the queryDR request
|
||||
*
|
||||
* @param string $vpc_MerchTxnRef
|
||||
*/
|
||||
public function handle_onepay_querydr( $vpc_MerchTxnRef ) {
|
||||
// Build the queryDR link
|
||||
$args = array(
|
||||
'vpc_Command' => 'queryDR',
|
||||
'vpc_Version' => '1',
|
||||
'vpc_MerchTxnRef' => $vpc_MerchTxnRef,
|
||||
'vpc_Merchant' => $this->merchant_id,
|
||||
'vpc_AccessCode' => $this->access_code,
|
||||
'vpc_User' => $this->user,
|
||||
'vpc_Password' => $this->password,
|
||||
);
|
||||
|
||||
$http_args = http_build_query( $args, '', '&' );
|
||||
|
||||
if ( $this->testmode ) {
|
||||
$http_link = 'https://mtf.onepay.vn/onecomm-pay/Vpcdps.op?' . $http_args;
|
||||
} else {
|
||||
$http_link = 'https://onepay.vn/onecomm-pay/Vpcdps.op?' . $http_args;
|
||||
}
|
||||
|
||||
// Log data
|
||||
$message_log = sprintf('handle_onepay_querydr - http_link: %1$s - http_args: %2$s', $http_link, print_r($args, true) );
|
||||
self::log( $message_log);
|
||||
|
||||
// Connect to OnePay to get the queryDR info
|
||||
$http_response = wp_remote_get( $http_link );
|
||||
parse_str( wp_remote_retrieve_body( $http_response ), $args_response );
|
||||
|
||||
// Process the data
|
||||
$this->process_onepay_response_data( $args_response, 'querydr' );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Logging method. - Copied from the WC_Gateway_Paypal Class
|
||||
*
|
||||
* @since 1.3.1
|
||||
* @param string $message Log message.
|
||||
* @param string $level Optional. Default 'info'.
|
||||
* emergency|alert|critical|error|warning|notice|info|debug
|
||||
*/
|
||||
public static function log( $message, $level = 'info' ) {
|
||||
if ( self::$log_enabled ) {
|
||||
if ( empty( self::$log ) ) {
|
||||
self::$log = wc_get_logger();
|
||||
}
|
||||
self::$log->log( $level, $message, array( 'source' => __CLASS__ ) );
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
<?php
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Settings for 1Pay Gateway.
|
||||
* @since 1.3
|
||||
*/
|
||||
return array(
|
||||
'enabled' => array(
|
||||
'title' => __( 'Enable/Disable', 'woo-viet' ),
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'OnePay Domestic Gateway (by Woo Viet)', 'woo-viet' ),
|
||||
'default' => 'no'
|
||||
),
|
||||
'testmode' => array(
|
||||
'title' => __( 'OnePay Sandbox', 'woocommerce' ),
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Enable OnePay sandbox (testing)', 'woocommerce' ),
|
||||
'default' => 'no',
|
||||
'description' => sprintf( __( 'OnePay sandbox can be used to test payments. See <a href="%s">the testing info</a>.', 'woocommerce' ), 'https://mtf.onepay.vn/developer/?page=modul_noidia' ),
|
||||
//@todo: add the logo https://mtf.onepay.vn/developer/?page=logo
|
||||
),
|
||||
'title' => array(
|
||||
'title' => __( 'Title', 'woo-viet' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'This controls the title which the user sees during checkout.', 'woo-viet' ),
|
||||
'default' => __( 'OnePay Domestic Gateway', 'woo-viet' ),
|
||||
'desc_tip' => true,
|
||||
),
|
||||
'description' => array(
|
||||
'title' => __( 'Description', 'woo-viet' ),
|
||||
'type' => 'textarea',
|
||||
'desc_tip' => true,
|
||||
'description' => __( 'This controls the description which the user sees during checkout.', 'woo-viet' ),
|
||||
'default' => __( 'With OnePay, you can make payment by using any local Vietnam ATM card.', 'woo-viet' )
|
||||
),
|
||||
'api_details' => array(
|
||||
'title' => __( 'API Credentials', 'woo-viet' ),
|
||||
'type' => 'title',
|
||||
'description' => sprintf( __( 'Enter your OnePay API credentials. Contact OnePay to have your credentials %shere%s.', 'woo-viet' ), '<a href="http://onepay.com.vn/home/en/contact-us.html">', '</a>' ),
|
||||
),
|
||||
'merchant_id' => array(
|
||||
'title' => __( 'Merchant ID', 'woo-viet' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your Merchant ID from OnePay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required. Provided by OnePay.', 'woo-viet' )
|
||||
),
|
||||
'access_code' => array(
|
||||
'title' => __( 'Access Code', 'woocommerce' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your Access Code from OnePay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required. Provided by OnePay.', 'woo-viet' )
|
||||
),
|
||||
'secure_secret' => array(
|
||||
'title' => __( 'Secure Secret', 'woocommerce' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your Secure Secret from OnePay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required. Provided by OnePay.', 'woo-viet' )
|
||||
),
|
||||
'user' => array(
|
||||
'title' => __( 'User for queryDR. Test value: op01', 'woocommerce' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your user info from OnePay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required. Provided by OnePay', 'woo-viet' )
|
||||
),
|
||||
'password' => array(
|
||||
'title' => __( 'Password for queryDR. Test value: op123456', 'woocommerce' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your password info from OnePay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required. Provided by OnePay.', 'woo-viet' )
|
||||
),
|
||||
'more_info' => array(
|
||||
'title' => __( 'Instant Payment Notification (IPN)', 'woo-viet' ),
|
||||
'type' => 'title',
|
||||
'description' =>
|
||||
sprintf( 'URL: <code>%s</code>', WooViet_OnePay_Domestic::get_onepay_ipn_url() ) . '<p/>' .
|
||||
sprintf( __( '%sContact OnePay%s to configure this URL on its site. <strong>This is required based on its guidelines.</strong>', 'woo-viet' ), '<a href="http://onepay.com.vn/home/en/contact-us.html">', '</a>' ),
|
||||
),
|
||||
/**
|
||||
* @since 1.3.1
|
||||
*/
|
||||
'debug' => array(
|
||||
'title' => __( 'Debug log', 'woo-viet' ),
|
||||
'type' => 'checkbox',
|
||||
'label' => __( 'Enable logging', 'woo-viet' ),
|
||||
'default' => 'no',
|
||||
'description' => sprintf( __( 'Log events, such as IPN requests, inside %s', 'woo-viet' ), '<code>' . WC_Log_Handler_File::get_log_file_path( 'WooViet_OnePay_Domestic' ) . '</code>' ),
|
||||
),
|
||||
|
||||
);
|
||||
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
// @todo - ver 1.3 - check all texts
|
||||
/**
|
||||
* Settings for 1Pay Gateway.
|
||||
*/
|
||||
return array(
|
||||
'enabled' => array(
|
||||
'title' => __( 'Enable/Disable', 'woo-viet' ),
|
||||
'type' => 'checkbox',
|
||||
'label' => __( '1Pay Bank (by Woo Viet)', 'woo-viet' ),
|
||||
'default' => 'yes'
|
||||
),
|
||||
'title' => array(
|
||||
'title' => __( 'Title', 'woo-viet' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'This controls the title which the user sees during checkout.', 'woo-viet' ),
|
||||
'default' => __( '1Pay Bank', 'woo-viet' ),
|
||||
'desc_tip' => true,
|
||||
),
|
||||
'description' => array(
|
||||
'title' => __( 'Description', 'woo-viet' ),
|
||||
'type' => 'text',
|
||||
'desc_tip' => true,
|
||||
'description' => __( 'This controls the description which the user sees during checkout.', 'woo-viet' ),
|
||||
'default' => __( 'With 1Pay Bank, you can make payment by using any local Vietnam ATM card.', 'woo-viet' )
|
||||
),
|
||||
'api_details' => array(
|
||||
'title' => __( 'API Credentials', 'woo-viet' ),
|
||||
'type' => 'title',
|
||||
'description' => sprintf( __( 'Enter your 1Pay API credentials. Contact 1Pay to have your credentials %shere%s.', 'woo-viet' ), '<a href="https://1pay.vn/home/contact.html">', '</a>' ),
|
||||
),
|
||||
'access_key' => array(
|
||||
'title' => __( 'Access key', 'woo-viet' ),
|
||||
'type' => 'text',
|
||||
'description' => __( 'Get your access key from 1Pay.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required', 'woocommerce' )
|
||||
),
|
||||
'secret' => array(
|
||||
'title' => __( 'Secret', 'woocommerce' ),
|
||||
'type' => 'password',
|
||||
'description' => __( 'Get your 1Pay Secret info.', 'woo-viet' ),
|
||||
'default' => '',
|
||||
'desc_tip' => true,
|
||||
'placeholder' => __( 'Required', 'woo-viet' )
|
||||
),
|
||||
|
||||
/*
|
||||
// @todo: Add more help info later
|
||||
|
||||
'help_title' => array(
|
||||
'title' => __( 'More info about 1Pay', 'woo-viet' ),
|
||||
'type' => 'title',
|
||||
'description' => __( 'You can see more info at this link.', 'woo-viet' )
|
||||
),
|
||||
*/
|
||||
|
||||
);
|
||||
@@ -5,8 +5,8 @@
|
||||
| Contributors | htdat |
|
||||
|Tags| WooCommerce Vietnam, vietnam, vietnamese, vietnam provinces, paypal for vietnam dong, vnd, vietnam dong, vietnam currency, vietnam customization |
|
||||
| Requires at least | 4.3 |
|
||||
| Tested up to | 4.8 |
|
||||
| Stable tag | 1.3 |
|
||||
| Tested up to | 4.7 |
|
||||
| Stable tag | 1.2 |
|
||||
| License | GPLv2 or later |
|
||||
| License URI | https://www.gnu.org/licenses/gpl-2.0.html |
|
||||
|
||||
@@ -22,10 +22,8 @@ Xem phiên bản tiếng Việt tại đây https://vi.wordpress.org/plugins/woo
|
||||
|
||||
* Change the VND currency symbol `đ` to anything, e.g: `VND`, `VNĐ`, `đồng`, etc.
|
||||
* Add provinces for Vietnam when visitors select Vietnam as a country of the shipping (billing) address. This is not available in WooCommerce by default.
|
||||
* Add districts to Vietnam provinces.
|
||||
* Convert `000` of prices to `K` (or anything). E.g: `50000` (VND) will be `50K` (VND), or `50 thousand` (VND).
|
||||
* Support `VND` for [the PayPal Standard gateway](https://docs.woocommerce.com/document/paypal-standard/). Convert `VND` prices to any PayPal supported currency before sending visitors to the PayPal pages.
|
||||
* Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
|
||||
## ROAD MAP
|
||||
|
||||
@@ -74,17 +72,6 @@ Follow these steps to install and use the plugin:
|
||||
|
||||
## Changelog
|
||||
|
||||
### 1.3.1 - 2017.07.09
|
||||
* Improve the OnePay domestic gateway.
|
||||
* Add the plugin icon and banner.
|
||||
* Add the questionnaire after 4 weeks of installation.
|
||||
|
||||
### 1.3 - 2017.04.22
|
||||
* Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/)
|
||||
|
||||
### 1.2 - 2017.03.03
|
||||
* Integrate all districts to Vietnam provinces. Credits: [WC City Select by 8manos](https://github.com/8manos/wc-city-select) and [the Vietnam district data by 10h30](https://github.com/htdat/woo-viet/issues/4#issuecomment-277449462)
|
||||
|
||||
### 1.1
|
||||
* Replace all “WooCommerce for Vietnam” to “Woo Viet”
|
||||
* Replace all “woocomerce-for-vietnam” to “woo-viet”
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
=== Woo Viet - WooCommerce for Vietnam ===
|
||||
Contributors: htdat
|
||||
Tags: OnePay WooCommerce, OnePay Vietnam, WooCommerce Vietnam, vietnam, vietnamese, vietnam provinces, paypal for vietnam dong, vnd, vietnam dong, vietnam currency, vietnam customization
|
||||
Tags: WooCommerce Vietnam, vietnam, vietnamese, vietnam provinces, paypal for vietnam dong, vnd, vietnam dong, vietnam currency, vietnam customization
|
||||
Requires at least: 4.3
|
||||
Tested up to: 4.8
|
||||
Stable tag: 1.3.1
|
||||
Tested up to: 4.7.2
|
||||
Stable tag: 1.2
|
||||
License: GPLv2 or later
|
||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@@ -13,10 +13,7 @@ Add features to WooCommerce stores having anything related to Vietnam: currency,
|
||||
|
||||
**"Woo Viet - WooCommerce for Vietnam" brings the features that help to run WooCommerce stores and customize them for Vietnam much easier.**
|
||||
|
||||
Xem phiên bản tiếng Việt tại đây [https://vi.wordpress.org/plugins/woo-viet/](https://vi.wordpress.org/plugins/woo-viet/)
|
||||
|
||||
**NEW FEATURE**:
|
||||
Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
Xem phiên bản tiếng Việt tại đây https://vi.wordpress.org/plugins/woo-viet/
|
||||
|
||||
= FEATURES =
|
||||
|
||||
@@ -25,7 +22,6 @@ Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
* Add districts to Vietnam provinces.
|
||||
* Convert `000` of prices to `K` (or anything). E.g: `50000` (VND) will be `50K` (VND), or `50 thousand` (VND).
|
||||
* Support `VND` for [the PayPal Standard gateway](https://docs.woocommerce.com/document/paypal-standard/). Convert `VND` prices to any PayPal supported currency before sending visitors to the PayPal pages.
|
||||
* Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/). Implement all methods in [the official documents](https://mtf.onepay.vn/developer/?page=modul_noidia_php): QueryDR, IPN, and Return URL.
|
||||
|
||||
= ROAD MAP =
|
||||
|
||||
@@ -69,20 +65,11 @@ Follow these steps to install and use the plugin:
|
||||
|
||||
1. The settings page under WooCommerce -> Woo Viet.
|
||||
2. Prices are changed to "K", and the symbol is now "VND".
|
||||
3. List provinces and districts when selecting Vietnam.
|
||||
3. List provinces when selecting Vietnam.
|
||||
4. Let clients know about the currency conversion before switching to the PayPal pages.
|
||||
5. OnePay domestic (local ATM cards) gateway.
|
||||
|
||||
== Changelog ==
|
||||
|
||||
= 1.3.1 - 2017.07.092 =
|
||||
* Improve the OnePay domestic gateway.
|
||||
* Add the plugin icon and banner.
|
||||
* Add the questionnaire after 4 weeks of installation.
|
||||
|
||||
= 1.3 - 2017.04.22 =
|
||||
* Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
|
||||
= 1.2 - 2017.03.03 =
|
||||
* Integrate all districts to Vietnam provinces. Credits: [WC City Select by 8manos](https://github.com/8manos/wc-city-select) and [the Vietnam district data by 10h30](https://github.com/htdat/woo-viet/issues/4#issuecomment-277449462)
|
||||
|
||||
@@ -97,8 +84,5 @@ Follow these steps to install and use the plugin:
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 1.3 =
|
||||
The new version 1.2 comes with the feature "Add the OnePay domestic (local ATM cards) gateway]"
|
||||
|
||||
= 1.2 =
|
||||
The new version 1.2 comes with the feature "Add districts to Vietnam provinces".
|
||||
|
||||
|
Before Width: | Height: | Size: 43 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 58 KiB |
@@ -7,7 +7,7 @@
|
||||
* Author URI: https://profiles.wordpress.org/htdat
|
||||
* Text Domain: woo-viet
|
||||
* Domain Path: /languages
|
||||
* Version: 1.3.1
|
||||
* Version: 1.2
|
||||
* License: GPLv2+
|
||||
*/
|
||||
|
||||
@@ -16,7 +16,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
}
|
||||
|
||||
define( 'WOO_VIET_DIR', plugin_dir_path( __FILE__ ) );
|
||||
define( 'WOO_VIET_URL', plugins_url( '/', __FILE__ ) );
|
||||
// define( 'WOO_VIET_URL', plugins_url( '/', __FILE__ ) );
|
||||
|
||||
/**
|
||||
* Start the instance
|
||||
@@ -40,7 +40,7 @@ class WooViet {
|
||||
array(
|
||||
'enabled' => 'yes',
|
||||
),
|
||||
'add_city' =>
|
||||
'add_city' =>
|
||||
array(
|
||||
'enabled' => 'yes',
|
||||
),
|
||||
@@ -60,10 +60,6 @@ class WooViet {
|
||||
'currency' => 'USD',
|
||||
'rate' => '22770',
|
||||
),
|
||||
'add_onepay_domestic' =>
|
||||
array(
|
||||
'enabled' => 'yes',
|
||||
),
|
||||
);
|
||||
/**
|
||||
* The properties to manage all classes under the "inc/" folder
|
||||
@@ -92,7 +88,7 @@ class WooViet {
|
||||
public function notice_if_not_woocommerce() {
|
||||
$class = 'notice notice-error';
|
||||
|
||||
$message = __( 'Woo Viet is not running because WooCommerce is not active. Please activate both plugins.',
|
||||
$message = __( 'Woo Viet is not running because WooCommerce is not active. Please activate both plugins',
|
||||
'woo-viet' );
|
||||
|
||||
printf( '<div class="%1$s"><p><strong>%2$s</strong></p></div>', $class, $message );
|
||||
@@ -123,44 +119,33 @@ class WooViet {
|
||||
load_plugin_textdomain( 'woo-viet', false, basename( dirname( __FILE__ ) ) . '/languages/' );
|
||||
}
|
||||
|
||||
|
||||
public function add_gateway_class( $methods ) {
|
||||
$methods[] = 'WooViet_1Pay_Bank';
|
||||
return $methods;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* The main method to load the components
|
||||
*/
|
||||
public function main() {
|
||||
|
||||
// @todo: ver 1.3 check this
|
||||
add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateway_class' ) );
|
||||
|
||||
include( 'inc/class-wooviet-1pay-bank.php');
|
||||
|
||||
|
||||
if ( is_admin() ) {
|
||||
// Add the admin setting page
|
||||
include( WOO_VIET_DIR . 'inc/class-wooviet-admin-page.php' );
|
||||
$this->Admin_Page = new WooViet_Admin_Page();
|
||||
|
||||
// Add the notices class
|
||||
include( WOO_VIET_DIR . 'inc/class-wooviet-notices.php' );
|
||||
new WooViet_Notices();
|
||||
|
||||
}
|
||||
|
||||
$settings = self::get_settings();
|
||||
|
||||
// Check if "Add the OnePay Domestic Gateway" is enabled
|
||||
if ( 'yes' == $settings['add_onepay_domestic']['enabled']
|
||||
AND 'VND' == get_woocommerce_currency()
|
||||
) {
|
||||
include( 'inc/class-wooviet-onepay-domestic.php' );
|
||||
|
||||
add_filter( 'woocommerce_payment_gateways', array( $this, 'add_gateway_class' ) );
|
||||
|
||||
// Add the action to check the cron job for handling queryDR
|
||||
// It's not possible to add in the class "WooViet_OnePay_Domestic_Hook" because it's NOT always loadded
|
||||
if ( defined( 'DOING_CRON' ) and DOING_CRON ) {
|
||||
$this->WooViet_OnePay_Domestic_Hook = new WooViet_OnePay_Domestic();
|
||||
add_action( 'wooviet_handle_onepay_querydr', array(
|
||||
$this->WooViet_OnePay_Domestic_Hook,
|
||||
'handle_onepay_querydr'
|
||||
), 10, 1 );
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Check if "Add provinces for Vietnam " is enabled.
|
||||
if ( 'yes' == $settings['add_province']['enabled'] ) {
|
||||
include( WOO_VIET_DIR . 'inc/class-wooviet-provinces.php' );
|
||||
@@ -205,23 +190,7 @@ class WooViet {
|
||||
static function get_settings() {
|
||||
$settings = get_option( 'woo-viet', self::$default_settings );
|
||||
$settings = wp_parse_args( $settings, self::$default_settings );
|
||||
|
||||
return $settings;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the gateways to WooCommerce
|
||||
*
|
||||
* @param array $methods
|
||||
*
|
||||
* @since 1.3
|
||||
* @return array
|
||||
*/
|
||||
public function add_gateway_class( $methods ) {
|
||||
$methods[] = 'WooViet_OnePay_Domestic';
|
||||
|
||||
return $methods;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||