mirror of
https://github.com/10h30/woo-viet.git
synced 2026-06-05 15:09:49 +09:00
@@ -6,3 +6,7 @@ Thumbs.db
|
||||
|
||||
# Temporary folders
|
||||
/_temp
|
||||
|
||||
# PHPStorm
|
||||
|
||||
/.idea
|
||||
@@ -0,0 +1,48 @@
|
||||
.woocommerce-billing-fields__field-wrapper.active {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
#billing_first_name_field {
|
||||
order: 1;
|
||||
}
|
||||
|
||||
#billing_last_name_field {
|
||||
order: 2;
|
||||
}
|
||||
|
||||
#billing_company_field {
|
||||
order: 3;
|
||||
}
|
||||
|
||||
#billing_country_field {
|
||||
order: 4;
|
||||
}
|
||||
|
||||
#billing_state_field {
|
||||
order: 5;
|
||||
}
|
||||
|
||||
#billing_city_field {
|
||||
order: 6;
|
||||
}
|
||||
|
||||
#billing_address_1_field {
|
||||
order: 7;
|
||||
}
|
||||
|
||||
#billing_address_2_field {
|
||||
order: 8;
|
||||
}
|
||||
|
||||
#billing_postcode_field {
|
||||
order: 9;
|
||||
}
|
||||
|
||||
#billing_phone_field {
|
||||
order: 10;
|
||||
}
|
||||
|
||||
#billing_email_field {
|
||||
order: 11;
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
(function($) {
|
||||
$('#billing_country_field').on('change', function() {
|
||||
|
||||
// Get country code
|
||||
var country_code = $(this).find('#billing_country').val();
|
||||
|
||||
// Match country code with Vietnam
|
||||
if(country_code == 'VN') {
|
||||
$('.woocommerce-billing-fields__field-wrapper').addClass('active');
|
||||
} else {
|
||||
$('.woocommerce-billing-fields__field-wrapper').removeClass('active');
|
||||
}
|
||||
})
|
||||
})(jQuery)
|
||||
@@ -239,6 +239,42 @@ class WooViet_Admin_Page {
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><?php printf( __( 'Support VND for <a href="%s">the PayPal Express Checkout gateway</a>', 'woo-viet' ), 'https://docs.woocommerce.com/document/paypal-express-checkout/' ) ?></th>
|
||||
<td>
|
||||
<input name="settings[vnd_paypal_express_checkout][enabled]" type="hidden" value="no">
|
||||
<input name="settings[vnd_paypal_express_checkout][enabled]" type="checkbox"
|
||||
id="vnd_paypal_express_checkout" value="yes"
|
||||
<?php if ( 'yes' == $settings['vnd_paypal_express_checkout']['enabled'] )
|
||||
echo 'checked="checked"' ?>>
|
||||
<label for="vnd_paypal_express_checkout"><?php _e( 'Enabled', 'woo-viet' ) ?></label>
|
||||
|
||||
<fieldset><br/>
|
||||
<select name="settings[vnd_paypal_express_checkout][currency]"
|
||||
id="vnd_paypal_express_checkout_currency">
|
||||
<?php
|
||||
foreach ( $paypal_supported_currencies as $currency ) {
|
||||
|
||||
if ( strtoupper( $currency ) == $settings['vnd_paypal_express_checkout']['currency'] ) {
|
||||
printf( '<option selected="selected" value="%1$s">%1$s</option>', $currency );
|
||||
} else {
|
||||
printf( '<option value="%1$s">%1$s</option>', $currency );
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<label for="vnd_paypal_express_checkout_currency"><?php _e( 'Select a PayPal supported currency (like USD, EUR, etc), which is used to convert VND prices', 'woo-viet' ) ?></label>
|
||||
<br/>
|
||||
<br/>
|
||||
|
||||
<input name="settings[vnd_paypal_express_checkout][rate]" type="number" step="1" min="100"
|
||||
id="vnd_paypal_express_checkout_rate" style="width: 70px;"
|
||||
value="<?php echo $settings['vnd_paypal_express_checkout']['rate'] ?>"
|
||||
<label for="vnd_paypal_express_checkout_rate"><?php _e( 'Insert the exchange rate of this currency to VND', 'woo-viet' ) ?></label>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@ class WooViet_Notices {
|
||||
|
||||
$line1 = __( 'Please help us to improve Woo Viet.', 'woo-viet' );
|
||||
$line2 = __( 'Rate us!', 'woo-viet' );
|
||||
$line3 = __( 'Or run a short survery:', 'woo-viet' );
|
||||
$line3 = __( 'Or run a short survey:', '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' );
|
||||
|
||||
@@ -255,22 +255,54 @@ class WooViet_OnePay_Domestic extends WC_Payment_Gateway {
|
||||
);
|
||||
$order->add_order_note( $order_note );
|
||||
|
||||
// If the payment is successful, update the order
|
||||
if ( "0" == $vpc_TxnResponseCode ) {
|
||||
$order->payment_complete();
|
||||
|
||||
// Do action for the order based on the response code from OnePay
|
||||
// This is an intentional DRY switch - refer to #DRY_vpc_TxnResponseCode below
|
||||
switch ( $vpc_TxnResponseCode ) {
|
||||
case '0':
|
||||
// If the payment is successful, update the order
|
||||
$order->payment_complete();
|
||||
break;
|
||||
case '99':
|
||||
// If the user cancels payment, cancel the order
|
||||
$order->cancel_order();
|
||||
break;
|
||||
default:
|
||||
// For other cases, do nothing. By default, the order status is still "Pending Payment"
|
||||
break;
|
||||
}
|
||||
|
||||
// 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
|
||||
// Do the last actions based on $type
|
||||
switch ( $type ) {
|
||||
|
||||
case 'return':
|
||||
wp_redirect( $this->get_return_url( $order ) );
|
||||
case 'return': // Add info from OnePay and redirect to the appropriate URLs
|
||||
|
||||
wc_add_notice( __( 'OnePay info: ', 'woo-viet') . $this->OnePay_getResponseDescription( $vpc_TxnResponseCode ), 'notice' );
|
||||
|
||||
// This is an intentional DRY switch - refer to #DRY_vpc_TxnResponseCode above
|
||||
// I need to make sure that `ipn` case below and message_log can be executed as well.
|
||||
switch ( $vpc_TxnResponseCode ) {
|
||||
case '0':
|
||||
// If the payment is successful, redirect to the order page
|
||||
wp_redirect( $this->get_return_url( $order ) );
|
||||
break;
|
||||
case '99':
|
||||
// If the user cancels payment, redirect to the canceled cart page
|
||||
wp_redirect( $order->get_cancel_order_url_raw() );
|
||||
break;
|
||||
default:
|
||||
// For other cases, redirect to the payment page
|
||||
wp_redirect( $order->get_checkout_payment_url () );
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
|
||||
case 'ipn':
|
||||
case 'ipn': // Output the data to the page content
|
||||
exit( 'responsecode=1&desc=confirm-success' );
|
||||
break;
|
||||
|
||||
|
||||
@@ -6,8 +6,6 @@ if ( ! defined( 'ABSPATH' ) ) {
|
||||
/**
|
||||
* The class to handle Vietnam Provinces
|
||||
*
|
||||
* @todo Arrange the orders of fields displaying in the checkout page: Country - Province - District - Address
|
||||
*
|
||||
* @author htdat
|
||||
* @since 1.0
|
||||
*
|
||||
@@ -21,6 +19,9 @@ class WooViet_Provinces {
|
||||
add_filter( 'woocommerce_states', array( $this, 'add_provinces' ) );
|
||||
add_filter( 'woocommerce_get_country_locale', array( $this, 'edit_vn_locale' ) );
|
||||
add_filter( 'woocommerce_localisation_address_formats', array( $this, 'edit_vn_address_formats' ) );
|
||||
|
||||
// Enqueue province scripts
|
||||
add_action( 'wp_enqueue_scripts', array( $this, 'load_provinces_scripts' ) );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -136,4 +137,19 @@ class WooViet_Provinces {
|
||||
return $states;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Enqueue provinces scripts
|
||||
*
|
||||
* Arrange the address field orders to the Vietnam standard in the checkout page: Country - Province - District - Address
|
||||
* @author Longkt
|
||||
* @since 1.4
|
||||
*/
|
||||
public function load_provinces_scripts() {
|
||||
// Enqueue province style
|
||||
wp_enqueue_style( 'woo-viet-provinces-style', WOO_VIET_URL . 'assets/provinces.css' );
|
||||
|
||||
// Enqueue province script
|
||||
wp_enqueue_script( 'woo-viet-provinces-script', WOO_VIET_URL . 'assets/provinces.js', array( 'jquery' ), '1.0', true );
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,180 @@
|
||||
<?php
|
||||
if ( ! defined( 'ABSPATH' ) ) {
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
* The class to add the support for VND when using the WooCommerce PayPal Express Checkout gateway
|
||||
*
|
||||
* @see https://docs.woocommerce.com/document/paypal-express-checkout/
|
||||
*
|
||||
* @author Longkt
|
||||
* @since 1.4
|
||||
*
|
||||
*/
|
||||
class WooViet_VND_PayPal_Express_Checkout {
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
protected $ppec_exchange_rate;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $ppec_currency;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
protected $ppec_description;
|
||||
|
||||
/**
|
||||
* WooViet_VND_PayPal_Express_Checkout constructor
|
||||
*
|
||||
* @param int $ppec_exchange_rate
|
||||
* @param string $ppec_currency
|
||||
*/
|
||||
public function __construct( $ppec_exchange_rate = 22770, $ppec_currency = 'USD' ) {
|
||||
|
||||
$this->ppec_exchange_rate = (int) $ppec_exchange_rate;
|
||||
$this->ppec_currency = $ppec_currency;
|
||||
|
||||
$this->ppec_description = sprintf( __( 'The prices will be converted to %1$s in the PayPal Express Checkout pages with the exchange rate %2$s.', 'woo-viet' ),
|
||||
"<span style='color:red'> $this->ppec_currency</span>",
|
||||
"<span style='color:red'> $this->ppec_currency / VND = $this->ppec_exchange_rate</span>"
|
||||
);
|
||||
|
||||
// Match response currency of PayPal with local order
|
||||
add_action( 'woocommerce_paypal_express_checkout_valid_ipn_request', array( $this, 'ppec_match_currency_order' ) );
|
||||
|
||||
// Add exchange rate before send request to PayPal
|
||||
add_filter( 'woocommerce_paypal_express_checkout_request_body', array( $this, 'ppec_convert_prices' ) );
|
||||
|
||||
// Load the method to add the exchange rate info for this gateway
|
||||
$this->ppec_exchange_rate_info();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Match response currency from PayPal with the order
|
||||
*
|
||||
* @param $posted_data
|
||||
*/
|
||||
public function ppec_match_currency_order( $posted_data ) {
|
||||
|
||||
if( $posted_data['mc_currency'] ) {
|
||||
$posted_data['mc_currency'] = $order->get_currency();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $params
|
||||
* @return mixed
|
||||
*/
|
||||
public function ppec_convert_prices( $params ) {
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_CURRENCYCODE'] ) ) {
|
||||
|
||||
$params['PAYMENTREQUEST_0_CURRENCYCODE'] = $this->ppec_currency;
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_AMT'] ) ) {
|
||||
$params['PAYMENTREQUEST_0_AMT'] = round( $params['PAYMENTREQUEST_0_AMT'] / $this->ppec_exchange_rate, 2 );
|
||||
}
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_ITEMAMT'] ) ) {
|
||||
$params['PAYMENTREQUEST_0_ITEMAMT'] = round( $params['PAYMENTREQUEST_0_ITEMAMT'] / $this->ppec_exchange_rate, 2 );
|
||||
}
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_SHIPPINGAMT'] ) ) {
|
||||
$params['PAYMENTREQUEST_0_SHIPPINGAMT'] = round( $params['PAYMENTREQUEST_0_SHIPPINGAMT'] / $this->ppec_exchange_rate, 2 );
|
||||
}
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_TAXAMT'] ) ) {
|
||||
$params['PAYMENTREQUEST_0_TAXAMT'] = round( $params['PAYMENTREQUEST_0_TAXAMT'] / $this->ppec_exchange_rate, 2 );
|
||||
}
|
||||
|
||||
if( isset( $params['PAYMENTREQUEST_0_SHIPDISCAMT'] ) ) {
|
||||
$params['PAYMENTREQUEST_0_SHIPDISCAMT'] = round( $params['PAYMENTREQUEST_0_SHIPDISCAMT'] / $this->ppec_exchange_rate, 2 );
|
||||
}
|
||||
|
||||
$count = 0;
|
||||
|
||||
while( isset( $params['L_PAYMENTREQUEST_0_AMT' . $count] ) ) {
|
||||
$params['L_PAYMENTREQUEST_0_AMT' . $count] = round( $params['L_PAYMENTREQUEST_0_AMT' . $count] / $this->ppec_exchange_rate, 2 );
|
||||
$count++;
|
||||
}
|
||||
}
|
||||
|
||||
return $params;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the exchange rate info in the suitable locations before proceeding in the PayPal pages
|
||||
*/
|
||||
public function ppec_exchange_rate_info() {
|
||||
|
||||
// Check if "Checkout on cart page" is enabled.
|
||||
if( 'yes' === wc_gateway_ppec()->settings->cart_checkout_enabled ) {
|
||||
add_action( 'woocommerce_proceed_to_checkout', array( $this, 'add_ppec_button_exchange_rate_info' ), 30 );
|
||||
}
|
||||
|
||||
// Check if "Checkout on Single Product" is enabled.
|
||||
if( 'yes' === wc_gateway_ppec()->settings->checkout_on_single_product_enabled ) {
|
||||
add_action( 'woocommerce_after_add_to_cart_form', array( $this, 'add_ppec_button_exchange_rate_info' ), 30 );
|
||||
}
|
||||
|
||||
// Check if "Enable PayPal Credit" is enabled.
|
||||
if( 'yes' === wc_gateway_ppec()->settings->credit_enabled ) {
|
||||
add_filter( 'woocommerce_paypal_express_checkout_settings', array( $this, 'add_paypal_credit_exchange_rate_info' ), 11 );
|
||||
}
|
||||
|
||||
// Add the exchange rate info for PPEC in Checkout page
|
||||
add_filter( 'option_woocommerce_ppec_paypal_settings', array( $this, 'add_ppec_checkout_exchange_rate_info' ), 11 );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the exchange rate info of PPEC in Cart and Single Product page
|
||||
*/
|
||||
public function add_ppec_button_exchange_rate_info() {
|
||||
|
||||
echo '<p class="ppec-exchange-rate-info">' . $this->ppec_description . '</p>';
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the exchange rate info of PP Credit in Checkout page
|
||||
*
|
||||
* @param $value
|
||||
* @return mixed
|
||||
*/
|
||||
public function add_paypal_credit_exchange_rate_info( $value ) {
|
||||
|
||||
if ( ! is_admin() ) {
|
||||
$value['description']['default'] .= '<br />';
|
||||
$value['description']['default'] .= $this->ppec_description;
|
||||
}
|
||||
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the exchange rate info of PPEC in Checkout page
|
||||
*
|
||||
* @param $value
|
||||
* @return mixed
|
||||
*/
|
||||
public function add_ppec_checkout_exchange_rate_info( $value ) {
|
||||
|
||||
if ( ! is_admin() ) {
|
||||
$value['description'] .= '<br />';
|
||||
$value['description'] .= $this->ppec_description;
|
||||
}
|
||||
return $value;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -43,6 +43,9 @@ class WooViet_VND_PayPal_Standard {
|
||||
|
||||
// Add the exchange rate info for this gateway in the checkout page before proceeding in the PayPal pages
|
||||
add_filter( 'option_woocommerce_paypal_settings', array( $this, 'add_exchange_rate_info' ), 11 );
|
||||
|
||||
// Match currency of Paypal with local order
|
||||
add_action( 'valid-paypal-standard-ipn-request', array( $this, 'match_currency_order' ), 10 );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -107,4 +110,18 @@ class WooViet_VND_PayPal_Standard {
|
||||
return $value;
|
||||
}
|
||||
|
||||
/*
|
||||
* Match response currency from Paypal IPN with the order
|
||||
*
|
||||
* Topic https://wordpress.org/support/topic/loi-order-bi-on-hold/
|
||||
*
|
||||
* @author Longkt
|
||||
* @since 1.4
|
||||
*/
|
||||
public function match_currency_order($posted) {
|
||||
if($posted['mc_currency']) {
|
||||
$posted['mc_currency'] = $order->get_currency();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,80 +1,23 @@
|
||||
# Woo Viet - WooCommerce for Vietnam
|
||||
|
||||
| Name | Value |
|
||||
|:---|:---|
|
||||
| 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 |
|
||||
| License | GPLv2 or later |
|
||||
| License URI | https://www.gnu.org/licenses/gpl-2.0.html |
|
||||
|
||||
Add features to WooCommerce stores having anything related to Vietnam: currency, shipping address, PayPal and more.
|
||||
|
||||
## Description
|
||||
|
||||
**"Woo Viet - WooCommerce for Vietnam" brings the features that help to run WooCommerce stores and customize them for Vietnam much easier.**
|
||||
|
||||
See here https://wordpress.org/plugins/woo-viet/
|
||||
|
||||
Xem phiên bản tiếng Việt tại đây https://vi.wordpress.org/plugins/woo-viet/
|
||||
|
||||
## FEATURES
|
||||
|
||||
* 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
|
||||
|
||||
In the future, this plugin will add more and more features for the Vietnam market:
|
||||
|
||||
* Integrate all districts to Vietnam provinces.
|
||||
* Integrate at least one solution for collecting money by phone cards.
|
||||
* Integrate the Vietnam payment gateways like 1Pay, OnePay, BaoKim, Ngan Luong, etc.
|
||||
* Integrate the Vietnam shipping solutions like ShipChung, Giaohangnhanh, ViettelPost, etc.
|
||||
|
||||
## WHERE CAN I CONTRIBUTE MY CODE OR IDEA?
|
||||
|
||||
* You can report bugs or contribute code on [this GitHub repo](https://github.com/htdat/woo-viet).
|
||||
* Please also do let us know if the "bug" is just a grammar/spelling error in both English and Vietnamese. We try to make our products as perfect as possible.
|
||||
|
||||
## INSTALLATION
|
||||
|
||||
Follow these steps to install and use the plugin:
|
||||
|
||||
1. Upload the plugin files to the `/wp-content/plugins/woo-viet` directory, or install the plugin through the WordPress plugins screen directly.
|
||||
1. Activate the plugin through the `Plugins` screen in WordPress.
|
||||
1. Go to the `WooCommerce -> Woo Viet` screen and configure the plugin.
|
||||
|
||||
## Installation
|
||||
|
||||
Follow these steps to install and use the plugin:
|
||||
|
||||
1. Upload the plugin files to the `/wp-content/plugins/woo-viet` directory, or install the plugin through the WordPress plugins screen directly.
|
||||
1. Activate the plugin through the 'Plugins' screen in WordPress.
|
||||
1. Go to the `WooCommerce -> Woo Viet` screen and configure the plugin.
|
||||
|
||||
|
||||
## Frequently Asked Questions
|
||||
|
||||
### WHERE CAN I CONTRIBUTE MY CODE OR IDEA?
|
||||
|
||||
* You can report bugs or contribute code on [this GitHub repo](https://github.com/htdat/woo-viet).
|
||||
* Please also do let us know if the "bug" is just a grammar/spelling error in both English and Vietnamese. We try to make our products as perfect as possible.
|
||||
|
||||
## Screenshots
|
||||
|
||||
1. The settings page under WooCommerce -> Woo Viet.
|
||||
2. Prices are changed to "K", and the symbol is now "VND".
|
||||
3. List provinces when selecting Vietnam.
|
||||
4. Let clients know about the currency conversion before switching to the PayPal pages.
|
||||
|
||||
## Changelog
|
||||
|
||||
### 1.4 - 2018.04.24
|
||||
|
||||
* Fix the on-hold order issue with PayPal Standard.
|
||||
* Fix the issue in OnePay Domestic gateway when users cancel payment.
|
||||
* Add enhancement: arrange the address fields to the Vietnam standard: Country - Province - District - Address.
|
||||
* Add supporting VND for [the PayPal Express Checkout gateway](https://docs.woocommerce.com/document/paypal-express-checkout/).
|
||||
* Add "Settings" link in the Plugins list page when the plugin is active.
|
||||
|
||||
### 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.
|
||||
|
||||
+18
-23
@@ -1,9 +1,10 @@
|
||||
=== Woo Viet - WooCommerce for Vietnam ===
|
||||
Contributors: htdat, thup90
|
||||
Contributors: htdat, thup90, longnguyen
|
||||
Tags: OnePay WooCommerce, OnePay Vietnam, 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.9.5
|
||||
Requires PHP: 5.6
|
||||
Stable tag: 1.4
|
||||
License: GPLv2 or later
|
||||
License URI: https://www.gnu.org/licenses/gpl-2.0.html
|
||||
|
||||
@@ -21,17 +22,17 @@ Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
= FEATURES =
|
||||
|
||||
* 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 provinces for Vietnam when visitors select Vietnam as a country of the shipping (billing) address. Arrange the address fields to the Vietnam standard: Country - Province - District - Address.
|
||||
* 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.
|
||||
* Support `VND` for [the PayPal Express Checkout gateway](https://docs.woocommerce.com/document/paypal-express-checkout/)
|
||||
* 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 =
|
||||
|
||||
In the future, this plugin will add more and more features for the Vietnam market:
|
||||
|
||||
* Integrate all districts to Vietnam provinces. (available since 1.2)
|
||||
* Integrate at least one solution for collecting money by phone cards.
|
||||
* Integrate the Vietnam payment gateways like 1Pay, OnePay, BaoKim, Ngan Luong, etc.
|
||||
* Integrate the Vietnam shipping solutions like ShipChung, Giaohangnhanh, ViettelPost, etc.
|
||||
@@ -75,30 +76,24 @@ 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.4 - 2018.04.24 =
|
||||
|
||||
= 1.3 - 2017.04.22 =
|
||||
* Add [the OnePay domestic (local ATM cards) gateway](http://onepay.com.vn/).
|
||||
* Fix the on-hold order issue with PayPal Standard.
|
||||
* Fix the issue in OnePay Domestic gateway when users cancel payment.
|
||||
* Add enhancement: arrange the address fields to the Vietnam standard: Country - Province - District - Address.
|
||||
* Add supporting VND for [the PayPal Express Checkout gateway](https://docs.woocommerce.com/document/paypal-express-checkout/).
|
||||
* Add "Settings" link in the Plugins list page when the plugin is active.
|
||||
|
||||
= 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”
|
||||
* Re-upload to WordPress.org
|
||||
|
||||
= 1.0 =
|
||||
* First release.
|
||||
* Upload to WordPress.org
|
||||
See all change logs on [GitHub repo](https://github.com/htdat/woo-viet#changelog).
|
||||
|
||||
== Upgrade Notice ==
|
||||
|
||||
= 1.4 =
|
||||
|
||||
Version 1.4 arranges the address fields to the Vietnam standard (Country - Province - District - Address), supports VND for PayPal Express Checkout, and fixes issues on PayPal Standard and OnePay Domestic gateways.
|
||||
|
||||
= 1.3 =
|
||||
The new version 1.2 comes with the feature "Add the OnePay domestic (local ATM cards) gateway]"
|
||||
The new version 1.3 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".
|
||||
|
||||
+38
-2
@@ -7,7 +7,11 @@
|
||||
* Author URI: https://profiles.wordpress.org/htdat
|
||||
* Text Domain: woo-viet
|
||||
* Domain Path: /languages
|
||||
* Version: 1.3.1
|
||||
* Version: 1.4
|
||||
*
|
||||
* WC requires at least: 2.6
|
||||
* WC tested up to: 2.3
|
||||
*
|
||||
* License: GPLv2+
|
||||
*/
|
||||
|
||||
@@ -64,6 +68,12 @@ class WooViet {
|
||||
array(
|
||||
'enabled' => 'yes',
|
||||
),
|
||||
'vnd_paypal_express_checkout' =>
|
||||
array(
|
||||
'enabled' => 'yes',
|
||||
'currency' => 'USD',
|
||||
'rate' => '22770',
|
||||
),
|
||||
);
|
||||
/**
|
||||
* The properties to manage all classes under the "inc/" folder
|
||||
@@ -76,6 +86,7 @@ class WooViet {
|
||||
protected $Currency;
|
||||
protected $VND_PayPal_Standard;
|
||||
protected $Admin_Page;
|
||||
protected $VND_PayPal_Express_Checkout;
|
||||
|
||||
/**
|
||||
* Setup class.
|
||||
@@ -90,7 +101,7 @@ class WooViet {
|
||||
* Throw a notice if WooCommerce is NOT active
|
||||
*/
|
||||
public function notice_if_not_woocommerce() {
|
||||
$class = 'notice notice-error';
|
||||
$class = 'notice notice-warning';
|
||||
|
||||
$message = __( 'Woo Viet is not running because WooCommerce is not active. Please activate both plugins.',
|
||||
'woo-viet' );
|
||||
@@ -109,6 +120,9 @@ class WooViet {
|
||||
if ( class_exists( 'WooCommerce' ) ) {
|
||||
// Run this plugin normally if WooCommerce is active
|
||||
$this->main();
|
||||
|
||||
// Add "Settings" link when the plugin is active
|
||||
add_filter( 'plugin_action_links_' . plugin_basename(__FILE__), array( $this, 'add_settings_link' ) ) ;
|
||||
} else {
|
||||
// Throw a notice if WooCommerce is NOT active
|
||||
add_action( 'admin_notices', array( $this, 'notice_if_not_woocommerce' ) );
|
||||
@@ -196,6 +210,15 @@ class WooViet {
|
||||
);
|
||||
}
|
||||
|
||||
// Check if "Support VND for the PayPal Express Checkout gateway" is enabled
|
||||
if ( 'yes' == $settings['vnd_paypal_express_checkout']['enabled'] ) {
|
||||
include( WOO_VIET_DIR . 'inc/class-wooviet-vnd-paypal-express-checkout.php' );
|
||||
$this->VND_PayPal_Express_Checkout = new WooViet_VND_PayPal_Express_Checkout(
|
||||
$settings['vnd_paypal_express_checkout']['rate'],
|
||||
$settings['vnd_paypal_express_checkout']['currency']
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -224,4 +247,17 @@ class WooViet {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Add "Settings" link in the Plugins list page when the plugin is active
|
||||
*
|
||||
* @since 1.4
|
||||
* @author Longkt
|
||||
*/
|
||||
public function add_settings_link( $links ) {
|
||||
$settings = array( '<a href="' . admin_url( 'admin.php?page=woo-viet' ) . '">' . __( 'Settings', 'woo-viet' ) . '</a>' );
|
||||
$links = array_reverse( array_merge( $links, $settings ) );
|
||||
|
||||
return $links;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user