Version Description
Download this release
Release Info
| Developer | SkyVerge |
| Plugin | |
| Version | 2.3.1 |
| Comparing to | |
| See all releases | |
Code changes from version 2.3.0 to 2.3.1
- class-wc-braintree.php +1 -1
- i18n/languages/woocommerce-gateway-paypal-powered-by-braintree.pot +2 -2
- includes/api/requests/class-wc-braintree-api-customer-request.php +1 -1
- includes/class-wc-gateway-braintree.php +1 -1
- includes/payment-forms/class-wc-braintree-hosted-fields-payment-form.php +65 -2
- readme.txt +5 -1
- vendor/autoload.php +1 -1
- vendor/composer/LICENSE +2 -0
- vendor/composer/autoload_real.php +4 -4
- vendor/composer/autoload_static.php +4 -4
- woocommerce-gateway-paypal-powered-by-braintree.php +2 -2
class-wc-braintree.php
CHANGED
|
@@ -88,7 +88,7 @@ class WC_Braintree extends WC_Braintree_Framework\SV_WC_Payment_Gateway_Plugin {
|
|
| 88 |
|
| 89 |
|
| 90 |
/** plugin version number */
|
| 91 |
-
const VERSION = '2.3.
|
| 92 |
|
| 93 |
/** Braintree JS SDK version */
|
| 94 |
const BRAINTREE_JS_SDK_VERSION = '3.48.0';
|
| 88 |
|
| 89 |
|
| 90 |
/** plugin version number */
|
| 91 |
+
const VERSION = '2.3.1';
|
| 92 |
|
| 93 |
/** Braintree JS SDK version */
|
| 94 |
const BRAINTREE_JS_SDK_VERSION = '3.48.0';
|
i18n/languages/woocommerce-gateway-paypal-powered-by-braintree.pot
CHANGED
|
@@ -2,10 +2,10 @@
|
|
| 2 |
# This file is distributed under the same license as the WooCommerce PayPal Powered by Braintree Gateway package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
-
"Project-Id-Version: WooCommerce PayPal Powered by Braintree Gateway 2.3.
|
| 6 |
"Report-Msgid-Bugs-To: "
|
| 7 |
"https://woocommerce.com/my-account/marketplace-ticket-form/\n"
|
| 8 |
-
"POT-Creation-Date: 2019-10-
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
| 2 |
# This file is distributed under the same license as the WooCommerce PayPal Powered by Braintree Gateway package.
|
| 3 |
msgid ""
|
| 4 |
msgstr ""
|
| 5 |
+
"Project-Id-Version: WooCommerce PayPal Powered by Braintree Gateway 2.3.1\n"
|
| 6 |
"Report-Msgid-Bugs-To: "
|
| 7 |
"https://woocommerce.com/my-account/marketplace-ticket-form/\n"
|
| 8 |
+
"POT-Creation-Date: 2019-10-17 00:56:40+00:00\n"
|
| 9 |
"MIME-Version: 1.0\n"
|
| 10 |
"Content-Type: text/plain; charset=utf-8\n"
|
| 11 |
"Content-Transfer-Encoding: 8bit\n"
|
includes/api/requests/class-wc-braintree-api-customer-request.php
CHANGED
|
@@ -54,7 +54,7 @@ class WC_Braintree_API_Customer_Request extends WC_Braintree_API_Vault_Request {
|
|
| 54 |
$this->request_data = array(
|
| 55 |
'company' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_company' ),
|
| 56 |
'email' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_email' ),
|
| 57 |
-
'phone' => WC_Braintree_Framework\SV_WC_Helper::str_truncate( preg_replace( '/[^\d
|
| 58 |
'firstName' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_first_name' ),
|
| 59 |
'lastName' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_last_name' ),
|
| 60 |
'paymentMethodNonce' => $order->payment->nonce,
|
| 54 |
$this->request_data = array(
|
| 55 |
'company' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_company' ),
|
| 56 |
'email' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_email' ),
|
| 57 |
+
'phone' => WC_Braintree_Framework\SV_WC_Helper::str_truncate( preg_replace( '/[^\d\-().]/', '', WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_phone' ) ), 14, '' ),
|
| 58 |
'firstName' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_first_name' ),
|
| 59 |
'lastName' => WC_Braintree_Framework\SV_WC_Order_Compatibility::get_prop( $order, 'billing_last_name' ),
|
| 60 |
'paymentMethodNonce' => $order->payment->nonce,
|
includes/class-wc-gateway-braintree.php
CHANGED
|
@@ -1416,7 +1416,7 @@ class WC_Gateway_Braintree extends WC_Braintree_Framework\SV_WC_Payment_Gateway_
|
|
| 1416 |
}
|
| 1417 |
|
| 1418 |
// check for invalid characters
|
| 1419 |
-
if ( $invalid_characters = preg_replace( '/[\d
|
| 1420 |
return false;
|
| 1421 |
}
|
| 1422 |
|
| 1416 |
}
|
| 1417 |
|
| 1418 |
// check for invalid characters
|
| 1419 |
+
if ( $invalid_characters = preg_replace( '/[\d\-().]/', '', $value ) ) {
|
| 1420 |
return false;
|
| 1421 |
}
|
| 1422 |
|
includes/payment-forms/class-wc-braintree-hosted-fields-payment-form.php
CHANGED
|
@@ -132,7 +132,7 @@ class WC_Braintree_Hosted_Fields_Payment_Form extends WC_Braintree_Payment_Form
|
|
| 132 |
$params = array_merge( $params, [
|
| 133 |
'csc_required' => $this->get_gateway()->is_csc_required(),
|
| 134 |
'threeds' => array(
|
| 135 |
-
'enabled' =>
|
| 136 |
'liability_shift_always_required' => $this->get_gateway()->is_3d_secure_liability_shift_always_required(),
|
| 137 |
'card_types' => $card_types,
|
| 138 |
'failure_message' => __( 'We cannot process your order with the payment information that you provided. Please use an alternate payment method.', 'woocommerce-gateway-paypal-powered-by-braintree' ),
|
|
@@ -145,6 +145,27 @@ class WC_Braintree_Hosted_Fields_Payment_Form extends WC_Braintree_Payment_Form
|
|
| 145 |
}
|
| 146 |
|
| 147 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 148 |
/**
|
| 149 |
* Gets the enabled card types in the Braintree SDK format.
|
| 150 |
*
|
|
@@ -220,7 +241,7 @@ class WC_Braintree_Hosted_Fields_Payment_Form extends WC_Braintree_Payment_Form
|
|
| 220 |
echo '<input type="hidden" name="wc-' . $this->get_gateway()->get_id_dasherized() . '-' . esc_attr( $field ) . '" value="" />';
|
| 221 |
}
|
| 222 |
|
| 223 |
-
$order_total = $this->
|
| 224 |
|
| 225 |
echo '<input type="hidden" name="wc-' . $this->get_gateway()->get_id_dasherized() . '-3d-secure-order-total" value="' . esc_attr( WC_Braintree_Framework\SV_WC_Helper::number_format( $order_total ) ) . '" />';
|
| 226 |
|
|
@@ -266,4 +287,46 @@ class WC_Braintree_Hosted_Fields_Payment_Form extends WC_Braintree_Payment_Form
|
|
| 266 |
}
|
| 267 |
|
| 268 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 269 |
}
|
| 132 |
$params = array_merge( $params, [
|
| 133 |
'csc_required' => $this->get_gateway()->is_csc_required(),
|
| 134 |
'threeds' => array(
|
| 135 |
+
'enabled' => $this->should_enable_3d_secure(), // setting this to false overrides any account configuration
|
| 136 |
'liability_shift_always_required' => $this->get_gateway()->is_3d_secure_liability_shift_always_required(),
|
| 137 |
'card_types' => $card_types,
|
| 138 |
'failure_message' => __( 'We cannot process your order with the payment information that you provided. Please use an alternate payment method.', 'woocommerce-gateway-paypal-powered-by-braintree' ),
|
| 145 |
}
|
| 146 |
|
| 147 |
|
| 148 |
+
/**
|
| 149 |
+
* Determines whether 3D Secure should be enabled for the current transaction.
|
| 150 |
+
*
|
| 151 |
+
* @since 2.3.1
|
| 152 |
+
*
|
| 153 |
+
* @return bool
|
| 154 |
+
*/
|
| 155 |
+
private function should_enable_3d_secure() {
|
| 156 |
+
|
| 157 |
+
$enable = false;
|
| 158 |
+
|
| 159 |
+
if ( ! is_add_payment_method_page() && $this->get_gateway()->is_3d_secure_enabled() ) {
|
| 160 |
+
|
| 161 |
+
// disable 3D Secure if we can't determine a non-zero cart total, as $0 verifications are currently not supported
|
| 162 |
+
$enable = $this->get_order_total_for_3d_secure() !== 0.0;
|
| 163 |
+
}
|
| 164 |
+
|
| 165 |
+
return $enable;
|
| 166 |
+
}
|
| 167 |
+
|
| 168 |
+
|
| 169 |
/**
|
| 170 |
* Gets the enabled card types in the Braintree SDK format.
|
| 171 |
*
|
| 241 |
echo '<input type="hidden" name="wc-' . $this->get_gateway()->get_id_dasherized() . '-' . esc_attr( $field ) . '" value="" />';
|
| 242 |
}
|
| 243 |
|
| 244 |
+
$order_total = $this->get_order_total_for_3d_secure();
|
| 245 |
|
| 246 |
echo '<input type="hidden" name="wc-' . $this->get_gateway()->get_id_dasherized() . '-3d-secure-order-total" value="' . esc_attr( WC_Braintree_Framework\SV_WC_Helper::number_format( $order_total ) ) . '" />';
|
| 247 |
|
| 287 |
}
|
| 288 |
|
| 289 |
|
| 290 |
+
/**
|
| 291 |
+
* Calculate the order total used for card verification.
|
| 292 |
+
*
|
| 293 |
+
* @since 2.3.1
|
| 294 |
+
*
|
| 295 |
+
* @return float cart total or the subscription recurring amount
|
| 296 |
+
*/
|
| 297 |
+
private function get_order_total_for_3d_secure() {
|
| 298 |
+
|
| 299 |
+
$order_total = (float) $this->get_order_total();
|
| 300 |
+
|
| 301 |
+
if ( $order_total === 0.0 && wc_braintree()->is_subscriptions_active() && \WC_Subscriptions_Cart::cart_contains_subscription() ) {
|
| 302 |
+
$order_total = $this->get_subscription_totals();
|
| 303 |
+
}
|
| 304 |
+
|
| 305 |
+
return $order_total;
|
| 306 |
+
}
|
| 307 |
+
|
| 308 |
+
|
| 309 |
+
/**
|
| 310 |
+
* Calculate the recurring amount for the subscriptions included in the cart.
|
| 311 |
+
*
|
| 312 |
+
* @since 2.3.1
|
| 313 |
+
*
|
| 314 |
+
* @see \WC_Subscriptions_Cart::calculate_subscription_totals()
|
| 315 |
+
* @return float
|
| 316 |
+
*/
|
| 317 |
+
private function get_subscription_totals() {
|
| 318 |
+
|
| 319 |
+
$total = 0.0;
|
| 320 |
+
|
| 321 |
+
if ( isset( WC()->cart->recurring_carts ) && is_array( WC()->cart->recurring_carts ) ) {
|
| 322 |
+
|
| 323 |
+
foreach ( WC()->cart->recurring_carts as $recurring_cart ) {
|
| 324 |
+
$total += (float) $recurring_cart->total;
|
| 325 |
+
}
|
| 326 |
+
}
|
| 327 |
+
|
| 328 |
+
return $total;
|
| 329 |
+
}
|
| 330 |
+
|
| 331 |
+
|
| 332 |
}
|
readme.txt
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
Contributors: automattic, akeda, allendav, royho, slash1andy, woosteve, spraveenitpro, mikedmoore, fernashes, shellbeezy, danieldudzic, dsmithweb, fullysupportedphil, corsonr, zandyring, skyverge
|
| 3 |
Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, store, sales, sell, shop, shopping, cart, checkout, configurable, paypal, braintree
|
| 4 |
Requires at least: 4.4
|
| 5 |
-
Tested up to: 5.2.
|
| 6 |
Requires PHP: 5.4
|
| 7 |
Stable tag: 2.3.0
|
| 8 |
License: GPLv3
|
|
@@ -124,6 +124,10 @@ New feature requests and bugs reports can be made in the plugin forum.
|
|
| 124 |
|
| 125 |
== Changelog ==
|
| 126 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 127 |
= 2019.10.03 - version 2.3.0 =
|
| 128 |
* Feature - PayPal buy-now buttons can now be added to product pages
|
| 129 |
* Tweak - Enable PayPal Credit by default on new installs
|
| 2 |
Contributors: automattic, akeda, allendav, royho, slash1andy, woosteve, spraveenitpro, mikedmoore, fernashes, shellbeezy, danieldudzic, dsmithweb, fullysupportedphil, corsonr, zandyring, skyverge
|
| 3 |
Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, store, sales, sell, shop, shopping, cart, checkout, configurable, paypal, braintree
|
| 4 |
Requires at least: 4.4
|
| 5 |
+
Tested up to: 5.2.4
|
| 6 |
Requires PHP: 5.4
|
| 7 |
Stable tag: 2.3.0
|
| 8 |
License: GPLv3
|
| 124 |
|
| 125 |
== Changelog ==
|
| 126 |
|
| 127 |
+
= 2019.10.16 - version 2.3.1 =
|
| 128 |
+
* Fix - Prevent 3D Secure errors trying to purchase free trial subscriptions
|
| 129 |
+
* Fix - Fix a bug with regular expressions being used in PHP 7.3+
|
| 130 |
+
|
| 131 |
= 2019.10.03 - version 2.3.0 =
|
| 132 |
* Feature - PayPal buy-now buttons can now be added to product pages
|
| 133 |
* Tweak - Enable PayPal Credit by default on new installs
|
vendor/autoload.php
CHANGED
|
@@ -4,4 +4,4 @@
|
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
-
return
|
| 4 |
|
| 5 |
require_once __DIR__ . '/composer/autoload_real.php';
|
| 6 |
|
| 7 |
+
return ComposerAutoloaderInit78ba8a3ab3ee78c6e37de8c092dbb23d::getLoader();
|
vendor/composer/LICENSE
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
|
|
| 1 |
Copyright (c) Nils Adermann, Jordi Boggiano
|
| 2 |
|
| 3 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
@@ -17,3 +18,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
| 17 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 18 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 19 |
THE SOFTWARE.
|
|
|
| 1 |
+
|
| 2 |
Copyright (c) Nils Adermann, Jordi Boggiano
|
| 3 |
|
| 4 |
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 18 |
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 19 |
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 20 |
THE SOFTWARE.
|
| 21 |
+
|
vendor/composer/autoload_real.php
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
-
class
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
|
@@ -19,15 +19,15 @@ class ComposerAutoloaderInit925e102bad64dd22618e8624d9f99af4
|
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
-
spl_autoload_register(array('
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
-
spl_autoload_unregister(array('
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
-
call_user_func(\Composer\Autoload\
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
| 2 |
|
| 3 |
// autoload_real.php @generated by Composer
|
| 4 |
|
| 5 |
+
class ComposerAutoloaderInit78ba8a3ab3ee78c6e37de8c092dbb23d
|
| 6 |
{
|
| 7 |
private static $loader;
|
| 8 |
|
| 19 |
return self::$loader;
|
| 20 |
}
|
| 21 |
|
| 22 |
+
spl_autoload_register(array('ComposerAutoloaderInit78ba8a3ab3ee78c6e37de8c092dbb23d', 'loadClassLoader'), true, true);
|
| 23 |
self::$loader = $loader = new \Composer\Autoload\ClassLoader();
|
| 24 |
+
spl_autoload_unregister(array('ComposerAutoloaderInit78ba8a3ab3ee78c6e37de8c092dbb23d', 'loadClassLoader'));
|
| 25 |
|
| 26 |
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
| 27 |
if ($useStaticLoader) {
|
| 28 |
require_once __DIR__ . '/autoload_static.php';
|
| 29 |
|
| 30 |
+
call_user_func(\Composer\Autoload\ComposerStaticInit78ba8a3ab3ee78c6e37de8c092dbb23d::getInitializer($loader));
|
| 31 |
} else {
|
| 32 |
$map = require __DIR__ . '/autoload_namespaces.php';
|
| 33 |
foreach ($map as $namespace => $path) {
|
vendor/composer/autoload_static.php
CHANGED
|
@@ -4,7 +4,7 @@
|
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
-
class
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'B' =>
|
|
@@ -33,9 +33,9 @@ class ComposerStaticInit925e102bad64dd22618e8624d9f99af4
|
|
| 33 |
public static function getInitializer(ClassLoader $loader)
|
| 34 |
{
|
| 35 |
return \Closure::bind(function () use ($loader) {
|
| 36 |
-
$loader->prefixLengthsPsr4 =
|
| 37 |
-
$loader->prefixDirsPsr4 =
|
| 38 |
-
$loader->prefixesPsr0 =
|
| 39 |
|
| 40 |
}, null, ClassLoader::class);
|
| 41 |
}
|
| 4 |
|
| 5 |
namespace Composer\Autoload;
|
| 6 |
|
| 7 |
+
class ComposerStaticInit78ba8a3ab3ee78c6e37de8c092dbb23d
|
| 8 |
{
|
| 9 |
public static $prefixLengthsPsr4 = array (
|
| 10 |
'B' =>
|
| 33 |
public static function getInitializer(ClassLoader $loader)
|
| 34 |
{
|
| 35 |
return \Closure::bind(function () use ($loader) {
|
| 36 |
+
$loader->prefixLengthsPsr4 = ComposerStaticInit78ba8a3ab3ee78c6e37de8c092dbb23d::$prefixLengthsPsr4;
|
| 37 |
+
$loader->prefixDirsPsr4 = ComposerStaticInit78ba8a3ab3ee78c6e37de8c092dbb23d::$prefixDirsPsr4;
|
| 38 |
+
$loader->prefixesPsr0 = ComposerStaticInit78ba8a3ab3ee78c6e37de8c092dbb23d::$prefixesPsr0;
|
| 39 |
|
| 40 |
}, null, ClassLoader::class);
|
| 41 |
}
|
woocommerce-gateway-paypal-powered-by-braintree.php
CHANGED
|
@@ -5,12 +5,12 @@
|
|
| 5 |
* Description: Receive credit card or PayPal payments using Paypal Powered by Braintree. A server with cURL, SSL support, and a valid SSL certificate is required (for security reasons) for this gateway to function. Requires PHP 5.4+
|
| 6 |
* Author: WooCommerce
|
| 7 |
* Author URI: http://woocommerce.com/
|
| 8 |
-
* Version: 2.3.
|
| 9 |
* Text Domain: woocommerce-gateway-paypal-powered-by-braintree
|
| 10 |
* Domain Path: /i18n/languages/
|
| 11 |
*
|
| 12 |
* WC requires at least: 2.6.14
|
| 13 |
-
* WC tested up to: 3.7.
|
| 14 |
*
|
| 15 |
* Copyright (c) 2016-2019, Automattic, Inc.
|
| 16 |
*
|
| 5 |
* Description: Receive credit card or PayPal payments using Paypal Powered by Braintree. A server with cURL, SSL support, and a valid SSL certificate is required (for security reasons) for this gateway to function. Requires PHP 5.4+
|
| 6 |
* Author: WooCommerce
|
| 7 |
* Author URI: http://woocommerce.com/
|
| 8 |
+
* Version: 2.3.1
|
| 9 |
* Text Domain: woocommerce-gateway-paypal-powered-by-braintree
|
| 10 |
* Domain Path: /i18n/languages/
|
| 11 |
*
|
| 12 |
* WC requires at least: 2.6.14
|
| 13 |
+
* WC tested up to: 3.7.1
|
| 14 |
*
|
| 15 |
* Copyright (c) 2016-2019, Automattic, Inc.
|
| 16 |
*
|
