Version Description
- 2018-10-31 =
- Fix - Truncate the line item descriptions to avoid exceeding PayPal character limits.
- Update - WC 3.5 compatibility.
- Fix - checkout.js script loading when not needed.
- Fix - Missing shipping total and address when starting from checkout page.
Download this release
Release Info
| Developer | pauldechov |
| Plugin | |
| Version | 1.6.5 |
| Comparing to | |
| See all releases | |
Code changes from version 1.6.4 to 1.6.5
- changelog.txt +6 -0
- includes/abstracts/abstract-wc-gateway-ppec.php +1 -2
- includes/class-wc-gateway-ppec-cart-handler.php +14 -11
- includes/class-wc-gateway-ppec-checkout-handler.php +20 -23
- includes/class-wc-gateway-ppec-client.php +10 -14
- includes/class-wc-gateway-ppec-settings.php +2 -2
- includes/class-wc-gateway-ppec-with-spb-addons.php +1 -0
- includes/class-wc-gateway-ppec-with-spb.php +1 -0
- readme.txt +8 -2
- woocommerce-gateway-paypal-express-checkout.php +3 -3
changelog.txt
CHANGED
|
@@ -1,5 +1,11 @@
|
|
| 1 |
*** Changelog ***
|
| 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
= 1.6.4 - 2018-09-27 =
|
| 4 |
* Fix - Billing address from Checkout form not being passed to PayPal via Smart Payment Button.
|
| 5 |
* Fix - Checkout form not being validated until after Smart Payment Button payment flow.
|
| 1 |
*** Changelog ***
|
| 2 |
|
| 3 |
+
= 1.6.5 - 2018-10-31 =
|
| 4 |
+
* Fix - Truncate the line item descriptions to avoid exceeding PayPal character limits.
|
| 5 |
+
* Update - WC 3.5 compatibility.
|
| 6 |
+
* Fix - checkout.js script loading when not needed.
|
| 7 |
+
* Fix - Missing shipping total and address when starting from checkout page.
|
| 8 |
+
|
| 9 |
= 1.6.4 - 2018-09-27 =
|
| 10 |
* Fix - Billing address from Checkout form not being passed to PayPal via Smart Payment Button.
|
| 11 |
* Fix - Checkout form not being validated until after Smart Payment Button payment flow.
|
includes/abstracts/abstract-wc-gateway-ppec.php
CHANGED
|
@@ -123,7 +123,7 @@ abstract class WC_Gateway_PPEC extends WC_Payment_Gateway {
|
|
| 123 |
try {
|
| 124 |
return array(
|
| 125 |
'result' => 'success',
|
| 126 |
-
'redirect' => $checkout->
|
| 127 |
);
|
| 128 |
} catch ( PayPal_API_Exception $e ) {
|
| 129 |
wc_add_notice( $e->getMessage(), 'error' );
|
|
@@ -134,7 +134,6 @@ abstract class WC_Gateway_PPEC extends WC_Payment_Gateway {
|
|
| 134 |
$checkout_details = $checkout->get_checkout_details( $session->token );
|
| 135 |
|
| 136 |
$checkout_context = array(
|
| 137 |
-
'start_from' => 'checkout',
|
| 138 |
'order_id' => $order_id,
|
| 139 |
);
|
| 140 |
if ( $checkout->needs_billing_agreement_creation( $checkout_context ) ) {
|
| 123 |
try {
|
| 124 |
return array(
|
| 125 |
'result' => 'success',
|
| 126 |
+
'redirect' => $checkout->start_checkout_from_order( $order_id, $this->use_ppc ),
|
| 127 |
);
|
| 128 |
} catch ( PayPal_API_Exception $e ) {
|
| 129 |
wc_add_notice( $e->getMessage(), 'error' );
|
| 134 |
$checkout_details = $checkout->get_checkout_details( $session->token );
|
| 135 |
|
| 136 |
$checkout_context = array(
|
|
|
|
| 137 |
'order_id' => $order_id,
|
| 138 |
);
|
| 139 |
if ( $checkout->needs_billing_agreement_creation( $checkout_context ) ) {
|
includes/class-wc-gateway-ppec-cart-handler.php
CHANGED
|
@@ -136,13 +136,11 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 136 |
}
|
| 137 |
|
| 138 |
if ( isset( $_POST['from_checkout'] ) && 'yes' === $_POST['from_checkout'] ) {
|
| 139 |
-
add_filter( 'woocommerce_cart_needs_shipping', '__return_false' );
|
| 140 |
-
|
| 141 |
// Intercept process_checkout call to exit after validation.
|
| 142 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'maybe_start_checkout' ), 10, 2 );
|
| 143 |
WC()->checkout->process_checkout();
|
| 144 |
} else {
|
| 145 |
-
$this->start_checkout();
|
| 146 |
}
|
| 147 |
}
|
| 148 |
|
|
@@ -162,7 +160,7 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 162 |
|
| 163 |
if ( empty( $error_messages ) ) {
|
| 164 |
$this->set_customer_data( $_POST );
|
| 165 |
-
$this->start_checkout();
|
| 166 |
} else {
|
| 167 |
wp_send_json_error( array( 'messages' => $error_messages ) );
|
| 168 |
}
|
|
@@ -172,11 +170,13 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 172 |
/**
|
| 173 |
* Set Express Checkout and return token in response.
|
| 174 |
*
|
|
|
|
|
|
|
| 175 |
* @since 1.6.4
|
| 176 |
*/
|
| 177 |
-
protected function start_checkout() {
|
| 178 |
try {
|
| 179 |
-
wc_gateway_ppec()->checkout->start_checkout_from_cart();
|
| 180 |
wp_send_json_success( array( 'token' => WC()->session->paypal->token ) );
|
| 181 |
} catch( PayPal_API_Exception $e ) {
|
| 182 |
wp_send_json_error( array( 'messages' => array( $e->getMessage() ) ) );
|
|
@@ -267,7 +267,8 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 267 |
|
| 268 |
?>
|
| 269 |
<div class="wcppec-checkout-buttons woo_pp_cart_buttons_div">
|
| 270 |
-
<?php if ( 'yes' === $settings->use_spb ) :
|
|
|
|
| 271 |
<div id="woo_pp_ec_button_product"></div>
|
| 272 |
<?php else : ?>
|
| 273 |
|
|
@@ -303,7 +304,8 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 303 |
</div>
|
| 304 |
<?php endif; ?>
|
| 305 |
|
| 306 |
-
<?php if ( 'yes' === $settings->use_spb ) :
|
|
|
|
| 307 |
<div id="woo_pp_ec_button_cart"></div>
|
| 308 |
<?php else : ?>
|
| 309 |
|
|
@@ -336,7 +338,8 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 336 |
}
|
| 337 |
?>
|
| 338 |
|
| 339 |
-
<?php if ( 'yes' === $settings->use_spb ) :
|
|
|
|
| 340 |
<p class="woocommerce-mini-cart__buttons buttons wcppec-cart-widget-spb">
|
| 341 |
<span id="woo_pp_ec_button_mini_cart"></span>
|
| 342 |
</p>
|
|
@@ -427,8 +430,8 @@ class WC_Gateway_PPEC_Cart_Handler {
|
|
| 427 |
);
|
| 428 |
|
| 429 |
} elseif ( 'yes' === $settings->use_spb ) {
|
| 430 |
-
|
| 431 |
-
|
| 432 |
|
| 433 |
$data = array(
|
| 434 |
'environment' => 'sandbox' === $settings->get_environment() ? 'sandbox' : 'production',
|
| 136 |
}
|
| 137 |
|
| 138 |
if ( isset( $_POST['from_checkout'] ) && 'yes' === $_POST['from_checkout'] ) {
|
|
|
|
|
|
|
| 139 |
// Intercept process_checkout call to exit after validation.
|
| 140 |
add_action( 'woocommerce_after_checkout_validation', array( $this, 'maybe_start_checkout' ), 10, 2 );
|
| 141 |
WC()->checkout->process_checkout();
|
| 142 |
} else {
|
| 143 |
+
$this->start_checkout( true );
|
| 144 |
}
|
| 145 |
}
|
| 146 |
|
| 160 |
|
| 161 |
if ( empty( $error_messages ) ) {
|
| 162 |
$this->set_customer_data( $_POST );
|
| 163 |
+
$this->start_checkout( false );
|
| 164 |
} else {
|
| 165 |
wp_send_json_error( array( 'messages' => $error_messages ) );
|
| 166 |
}
|
| 170 |
/**
|
| 171 |
* Set Express Checkout and return token in response.
|
| 172 |
*
|
| 173 |
+
* @param bool $skip_checkout Whether checkout screen is being bypassed.
|
| 174 |
+
*
|
| 175 |
* @since 1.6.4
|
| 176 |
*/
|
| 177 |
+
protected function start_checkout( $skip_checkout ) {
|
| 178 |
try {
|
| 179 |
+
wc_gateway_ppec()->checkout->start_checkout_from_cart( $skip_checkout );
|
| 180 |
wp_send_json_success( array( 'token' => WC()->session->paypal->token ) );
|
| 181 |
} catch( PayPal_API_Exception $e ) {
|
| 182 |
wp_send_json_error( array( 'messages' => array( $e->getMessage() ) ) );
|
| 267 |
|
| 268 |
?>
|
| 269 |
<div class="wcppec-checkout-buttons woo_pp_cart_buttons_div">
|
| 270 |
+
<?php if ( 'yes' === $settings->use_spb ) :
|
| 271 |
+
wp_enqueue_script( 'wc-gateway-ppec-smart-payment-buttons' ); ?>
|
| 272 |
<div id="woo_pp_ec_button_product"></div>
|
| 273 |
<?php else : ?>
|
| 274 |
|
| 304 |
</div>
|
| 305 |
<?php endif; ?>
|
| 306 |
|
| 307 |
+
<?php if ( 'yes' === $settings->use_spb ) :
|
| 308 |
+
wp_enqueue_script( 'wc-gateway-ppec-smart-payment-buttons' ); ?>
|
| 309 |
<div id="woo_pp_ec_button_cart"></div>
|
| 310 |
<?php else : ?>
|
| 311 |
|
| 338 |
}
|
| 339 |
?>
|
| 340 |
|
| 341 |
+
<?php if ( 'yes' === $settings->use_spb ) :
|
| 342 |
+
wp_enqueue_script( 'wc-gateway-ppec-smart-payment-buttons' ); ?>
|
| 343 |
<p class="woocommerce-mini-cart__buttons buttons wcppec-cart-widget-spb">
|
| 344 |
<span id="woo_pp_ec_button_mini_cart"></span>
|
| 345 |
</p>
|
| 430 |
);
|
| 431 |
|
| 432 |
} elseif ( 'yes' === $settings->use_spb ) {
|
| 433 |
+
wp_register_script( 'paypal-checkout-js', 'https://www.paypalobjects.com/api/checkout.js', array(), null, true );
|
| 434 |
+
wp_register_script( 'wc-gateway-ppec-smart-payment-buttons', wc_gateway_ppec()->plugin_url . 'assets/js/wc-gateway-ppec-smart-payment-buttons.js', array( 'jquery', 'paypal-checkout-js' ), wc_gateway_ppec()->version, true );
|
| 435 |
|
| 436 |
$data = array(
|
| 437 |
'environment' => 'sandbox' === $settings->get_environment() ? 'sandbox' : 'production',
|
includes/class-wc-gateway-ppec-checkout-handler.php
CHANGED
|
@@ -705,15 +705,15 @@ class WC_Gateway_PPEC_Checkout_Handler {
|
|
| 705 |
}
|
| 706 |
|
| 707 |
/**
|
| 708 |
-
* Handler when buyer is checking out
|
| 709 |
*
|
| 710 |
* @return string Redirect URL.
|
| 711 |
*/
|
| 712 |
-
public function start_checkout_from_cart() {
|
| 713 |
$settings = wc_gateway_ppec()->settings;
|
| 714 |
|
| 715 |
$context_args = array(
|
| 716 |
-
'
|
| 717 |
);
|
| 718 |
|
| 719 |
$session_data_args = array(
|
|
@@ -726,19 +726,19 @@ class WC_Gateway_PPEC_Checkout_Handler {
|
|
| 726 |
}
|
| 727 |
|
| 728 |
/**
|
| 729 |
-
* Handler when buyer is checking out from checkout page.
|
| 730 |
*
|
| 731 |
* @param int $order_id Order ID.
|
| 732 |
* @param bool $use_ppc Whether to use PayPal credit.
|
| 733 |
*
|
| 734 |
* @return string Redirect URL.
|
| 735 |
*/
|
| 736 |
-
public function
|
| 737 |
$settings = wc_gateway_ppec()->settings;
|
| 738 |
|
| 739 |
$context_args = array(
|
| 740 |
-
'
|
| 741 |
-
'order_id'
|
| 742 |
);
|
| 743 |
|
| 744 |
$session_data_args = array(
|
|
@@ -996,28 +996,25 @@ class WC_Gateway_PPEC_Checkout_Handler {
|
|
| 996 |
* @param array $args {
|
| 997 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 998 |
*
|
| 999 |
-
* @type
|
| 1000 |
-
* @type int $order_id Order ID if $start_from is 'checkout'.
|
| 1001 |
* }
|
| 1002 |
*
|
| 1003 |
* @return bool Returns true if billing agreement is needed in the purchase
|
| 1004 |
*/
|
| 1005 |
public function needs_billing_agreement_creation( $args ) {
|
| 1006 |
$needs_billing_agreement = false;
|
| 1007 |
-
|
| 1008 |
-
|
| 1009 |
-
|
| 1010 |
-
|
| 1011 |
-
|
| 1012 |
-
|
| 1013 |
-
|
| 1014 |
-
|
| 1015 |
-
|
| 1016 |
-
|
| 1017 |
-
|
| 1018 |
-
|
| 1019 |
-
}
|
| 1020 |
-
break;
|
| 1021 |
}
|
| 1022 |
|
| 1023 |
return $needs_billing_agreement;
|
| 705 |
}
|
| 706 |
|
| 707 |
/**
|
| 708 |
+
* Handler when buyer is checking out prior to order creation.
|
| 709 |
*
|
| 710 |
* @return string Redirect URL.
|
| 711 |
*/
|
| 712 |
+
public function start_checkout_from_cart( $skip_checkout = true ) {
|
| 713 |
$settings = wc_gateway_ppec()->settings;
|
| 714 |
|
| 715 |
$context_args = array(
|
| 716 |
+
'skip_checkout' => $skip_checkout,
|
| 717 |
);
|
| 718 |
|
| 719 |
$session_data_args = array(
|
| 726 |
}
|
| 727 |
|
| 728 |
/**
|
| 729 |
+
* Handler when buyer is checking out after order is created (i.e. from checkout page with Smart Payment Buttons disabled).
|
| 730 |
*
|
| 731 |
* @param int $order_id Order ID.
|
| 732 |
* @param bool $use_ppc Whether to use PayPal credit.
|
| 733 |
*
|
| 734 |
* @return string Redirect URL.
|
| 735 |
*/
|
| 736 |
+
public function start_checkout_from_order( $order_id, $use_ppc ) {
|
| 737 |
$settings = wc_gateway_ppec()->settings;
|
| 738 |
|
| 739 |
$context_args = array(
|
| 740 |
+
'skip_checkout' => false,
|
| 741 |
+
'order_id' => $order_id,
|
| 742 |
);
|
| 743 |
|
| 744 |
$session_data_args = array(
|
| 996 |
* @param array $args {
|
| 997 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 998 |
*
|
| 999 |
+
* @type int $order_id Order ID if order has been created.
|
|
|
|
| 1000 |
* }
|
| 1001 |
*
|
| 1002 |
* @return bool Returns true if billing agreement is needed in the purchase
|
| 1003 |
*/
|
| 1004 |
public function needs_billing_agreement_creation( $args ) {
|
| 1005 |
$needs_billing_agreement = false;
|
| 1006 |
+
|
| 1007 |
+
if ( empty( $args['order_id'] ) ) {
|
| 1008 |
+
if ( class_exists( 'WC_Subscriptions_Cart' ) ) {
|
| 1009 |
+
$needs_billing_agreement = WC_Subscriptions_Cart::cart_contains_subscription();
|
| 1010 |
+
}
|
| 1011 |
+
} else {
|
| 1012 |
+
if ( function_exists( 'wcs_order_contains_subscription' ) ) {
|
| 1013 |
+
$needs_billing_agreement = wcs_order_contains_subscription( $args['order_id'] );
|
| 1014 |
+
}
|
| 1015 |
+
if ( function_exists( 'wcs_order_contains_renewal' ) ) {
|
| 1016 |
+
$needs_billing_agreement = ( $needs_billing_agreement || wcs_order_contains_renewal( $args['order_id'] ) );
|
| 1017 |
+
}
|
|
|
|
|
|
|
| 1018 |
}
|
| 1019 |
|
| 1020 |
return $needs_billing_agreement;
|
includes/class-wc-gateway-ppec-client.php
CHANGED
|
@@ -227,8 +227,8 @@ class WC_Gateway_PPEC_Client {
|
|
| 227 |
* @param array $args {
|
| 228 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 229 |
*
|
| 230 |
-
* @type string $
|
| 231 |
-
* @type int $order_id Order ID if
|
| 232 |
* @type bool $create_billing_agreement Whether billing agreement creation
|
| 233 |
* is needed after returned from PayPal.
|
| 234 |
* }
|
|
@@ -239,7 +239,7 @@ class WC_Gateway_PPEC_Client {
|
|
| 239 |
$args = wp_parse_args(
|
| 240 |
$args,
|
| 241 |
array(
|
| 242 |
-
'
|
| 243 |
'order_id' => '',
|
| 244 |
'create_billing_agreement' => false,
|
| 245 |
)
|
|
@@ -261,7 +261,8 @@ class WC_Gateway_PPEC_Client {
|
|
| 261 |
$params['USERSELECTEDFUNDINGSOURCE'] = 'Finance';
|
| 262 |
}
|
| 263 |
|
| 264 |
-
if (
|
|
|
|
| 265 |
$params['ADDROVERRIDE'] = '1';
|
| 266 |
}
|
| 267 |
|
|
@@ -288,13 +289,10 @@ class WC_Gateway_PPEC_Client {
|
|
| 288 |
$params['PAYMENTREQUEST_0_INVNUM'] = '';
|
| 289 |
$params['PAYMENTREQUEST_0_CURRENCYCODE'] = get_woocommerce_currency();
|
| 290 |
|
| 291 |
-
|
| 292 |
-
|
| 293 |
-
|
| 294 |
-
|
| 295 |
-
case 'cart':
|
| 296 |
-
$details = $this->_get_details_from_cart();
|
| 297 |
-
break;
|
| 298 |
}
|
| 299 |
|
| 300 |
$params = array_merge(
|
|
@@ -327,7 +325,7 @@ class WC_Gateway_PPEC_Client {
|
|
| 327 |
foreach ( $details['items'] as $line_item_key => $values ) {
|
| 328 |
$line_item_params = array(
|
| 329 |
'L_PAYMENTREQUEST_0_NAME' . $count => $values['name'],
|
| 330 |
-
'L_PAYMENTREQUEST_0_DESC' . $count => ! empty( $values['description'] ) ? strip_tags( $values['description'] ) : '',
|
| 331 |
'L_PAYMENTREQUEST_0_QTY' . $count => $values['quantity'],
|
| 332 |
'L_PAYMENTREQUEST_0_AMT' . $count => $values['amount'],
|
| 333 |
);
|
|
@@ -350,8 +348,6 @@ class WC_Gateway_PPEC_Client {
|
|
| 350 |
* @param array $context_args {
|
| 351 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 352 |
*
|
| 353 |
-
* @type string $start_from Start from 'cart' or 'checkout'.
|
| 354 |
-
* @type int $order_id Order ID if $start_from is 'checkout'.
|
| 355 |
* @type bool $create_billing_agreement Whether billing agreement creation
|
| 356 |
* is needed after returned from PayPal.
|
| 357 |
* }
|
| 227 |
* @param array $args {
|
| 228 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 229 |
*
|
| 230 |
+
* @type string $skip_checkout Whether checking out ahead of store checkout screen.
|
| 231 |
+
* @type int $order_id Order ID if checking out after order is created.
|
| 232 |
* @type bool $create_billing_agreement Whether billing agreement creation
|
| 233 |
* is needed after returned from PayPal.
|
| 234 |
* }
|
| 239 |
$args = wp_parse_args(
|
| 240 |
$args,
|
| 241 |
array(
|
| 242 |
+
'skip_checkout' => true,
|
| 243 |
'order_id' => '',
|
| 244 |
'create_billing_agreement' => false,
|
| 245 |
)
|
| 261 |
$params['USERSELECTEDFUNDINGSOURCE'] = 'Finance';
|
| 262 |
}
|
| 263 |
|
| 264 |
+
if ( ! $args['skip_checkout'] ) {
|
| 265 |
+
// Display shipping address sent from checkout page, rather than selecting from addresses on file with PayPal.
|
| 266 |
$params['ADDROVERRIDE'] = '1';
|
| 267 |
}
|
| 268 |
|
| 289 |
$params['PAYMENTREQUEST_0_INVNUM'] = '';
|
| 290 |
$params['PAYMENTREQUEST_0_CURRENCYCODE'] = get_woocommerce_currency();
|
| 291 |
|
| 292 |
+
if ( ! empty( $args['order_id'] ) ) {
|
| 293 |
+
$details = $this->_get_details_from_order( $args['order_id'] );
|
| 294 |
+
} else {
|
| 295 |
+
$details = $this->_get_details_from_cart();
|
|
|
|
|
|
|
|
|
|
| 296 |
}
|
| 297 |
|
| 298 |
$params = array_merge(
|
| 325 |
foreach ( $details['items'] as $line_item_key => $values ) {
|
| 326 |
$line_item_params = array(
|
| 327 |
'L_PAYMENTREQUEST_0_NAME' . $count => $values['name'],
|
| 328 |
+
'L_PAYMENTREQUEST_0_DESC' . $count => ! empty( $values['description'] ) ? substr( strip_tags( $values['description'] ), 0, 127 ) : '',
|
| 329 |
'L_PAYMENTREQUEST_0_QTY' . $count => $values['quantity'],
|
| 330 |
'L_PAYMENTREQUEST_0_AMT' . $count => $values['amount'],
|
| 331 |
);
|
| 348 |
* @param array $context_args {
|
| 349 |
* Context args to retrieve SetExpressCheckout parameters.
|
| 350 |
*
|
|
|
|
|
|
|
| 351 |
* @type bool $create_billing_agreement Whether billing agreement creation
|
| 352 |
* is needed after returned from PayPal.
|
| 353 |
* }
|
includes/class-wc-gateway-ppec-settings.php
CHANGED
|
@@ -183,7 +183,7 @@ class WC_Gateway_PPEC_Settings {
|
|
| 183 |
public function get_set_express_checkout_shortcut_params( $buckets = 1 ) {
|
| 184 |
_deprecated_function( __METHOD__, '1.2.0', 'WC_Gateway_PPEC_Client::get_set_express_checkout_params' );
|
| 185 |
|
| 186 |
-
return wc_gateway_ppec()->client->get_set_express_checkout_params( array( '
|
| 187 |
}
|
| 188 |
|
| 189 |
public function get_set_express_checkout_mark_params( $buckets = 1 ) {
|
|
@@ -191,7 +191,7 @@ class WC_Gateway_PPEC_Settings {
|
|
| 191 |
|
| 192 |
// Still missing order_id in args.
|
| 193 |
return wc_gateway_ppec()->client->get_set_express_checkout_params( array(
|
| 194 |
-
'
|
| 195 |
) );
|
| 196 |
}
|
| 197 |
|
| 183 |
public function get_set_express_checkout_shortcut_params( $buckets = 1 ) {
|
| 184 |
_deprecated_function( __METHOD__, '1.2.0', 'WC_Gateway_PPEC_Client::get_set_express_checkout_params' );
|
| 185 |
|
| 186 |
+
return wc_gateway_ppec()->client->get_set_express_checkout_params( array( 'skip_checkout' => true ) );
|
| 187 |
}
|
| 188 |
|
| 189 |
public function get_set_express_checkout_mark_params( $buckets = 1 ) {
|
| 191 |
|
| 192 |
// Still missing order_id in args.
|
| 193 |
return wc_gateway_ppec()->client->get_set_express_checkout_params( array(
|
| 194 |
+
'skip_checkout' => false,
|
| 195 |
) );
|
| 196 |
}
|
| 197 |
|
includes/class-wc-gateway-ppec-with-spb-addons.php
CHANGED
|
@@ -19,6 +19,7 @@ class WC_Gateway_PPEC_With_SPB_Addons extends WC_Gateway_PPEC_With_PayPal_Addons
|
|
| 19 |
* Display PayPal button on the checkout page order review.
|
| 20 |
*/
|
| 21 |
public function display_paypal_button() {
|
|
|
|
| 22 |
?>
|
| 23 |
<div id="woo_pp_ec_button_checkout"></div>
|
| 24 |
<?php
|
| 19 |
* Display PayPal button on the checkout page order review.
|
| 20 |
*/
|
| 21 |
public function display_paypal_button() {
|
| 22 |
+
wp_enqueue_script( 'wc-gateway-ppec-smart-payment-buttons' );
|
| 23 |
?>
|
| 24 |
<div id="woo_pp_ec_button_checkout"></div>
|
| 25 |
<?php
|
includes/class-wc-gateway-ppec-with-spb.php
CHANGED
|
@@ -19,6 +19,7 @@ class WC_Gateway_PPEC_With_SPB extends WC_Gateway_PPEC_With_PayPal {
|
|
| 19 |
* Display PayPal button on the checkout page order review.
|
| 20 |
*/
|
| 21 |
public function display_paypal_button() {
|
|
|
|
| 22 |
?>
|
| 23 |
<div id="woo_pp_ec_button_checkout"></div>
|
| 24 |
<?php
|
| 19 |
* Display PayPal button on the checkout page order review.
|
| 20 |
*/
|
| 21 |
public function display_paypal_button() {
|
| 22 |
+
wp_enqueue_script( 'wc-gateway-ppec-smart-payment-buttons' );
|
| 23 |
?>
|
| 24 |
<div id="woo_pp_ec_button_checkout"></div>
|
| 25 |
<?php
|
readme.txt
CHANGED
|
@@ -2,8 +2,8 @@
|
|
| 2 |
Contributors: automattic, woothemes, akeda, dwainm, royho, allendav, slash1andy, woosteve, spraveenitpro, mikedmoore, fernashes, shellbeezy, danieldudzic, mikaey, fullysupportedphil, dsmithweb, corsonr, bor0, zandyring, pauldechov
|
| 3 |
Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, store, sales, sell, shop, shopping, cart, checkout, configurable, paypal
|
| 4 |
Requires at least: 4.4
|
| 5 |
-
Tested up to: 4.9.
|
| 6 |
-
Stable tag: 1.6.
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
|
@@ -101,6 +101,12 @@ Please use this to inform us about bugs, or make contributions via PRs.
|
|
| 101 |
|
| 102 |
== Changelog ==
|
| 103 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 104 |
= 1.6.4 - 2018-09-27 =
|
| 105 |
* Fix - Billing address from Checkout form not being passed to PayPal via Smart Payment Button.
|
| 106 |
* Fix - Checkout form not being validated until after Smart Payment Button payment flow.
|
| 2 |
Contributors: automattic, woothemes, akeda, dwainm, royho, allendav, slash1andy, woosteve, spraveenitpro, mikedmoore, fernashes, shellbeezy, danieldudzic, mikaey, fullysupportedphil, dsmithweb, corsonr, bor0, zandyring, pauldechov
|
| 3 |
Tags: ecommerce, e-commerce, commerce, woothemes, wordpress ecommerce, store, sales, sell, shop, shopping, cart, checkout, configurable, paypal
|
| 4 |
Requires at least: 4.4
|
| 5 |
+
Tested up to: 4.9.8
|
| 6 |
+
Stable tag: 1.6.5
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
| 101 |
|
| 102 |
== Changelog ==
|
| 103 |
|
| 104 |
+
= 1.6.5 - 2018-10-31 =
|
| 105 |
+
* Fix - Truncate the line item descriptions to avoid exceeding PayPal character limits.
|
| 106 |
+
* Update - WC 3.5 compatibility.
|
| 107 |
+
* Fix - checkout.js script loading when not needed.
|
| 108 |
+
* Fix - Missing shipping total and address when starting from checkout page.
|
| 109 |
+
|
| 110 |
= 1.6.4 - 2018-09-27 =
|
| 111 |
* Fix - Billing address from Checkout form not being passed to PayPal via Smart Payment Button.
|
| 112 |
* Fix - Checkout form not being validated until after Smart Payment Button payment flow.
|
woocommerce-gateway-paypal-express-checkout.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: WooCommerce PayPal Checkout Gateway
|
| 4 |
* Plugin URI: https://woocommerce.com/products/woocommerce-gateway-paypal-express-checkout/
|
| 5 |
* Description: A payment gateway for PayPal Checkout (https://www.paypal.com/us/webapps/mpp/paypal-checkout).
|
| 6 |
-
* Version: 1.6.
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com
|
| 9 |
* Copyright: © 2018 WooCommerce / PayPal.
|
|
@@ -11,7 +11,7 @@
|
|
| 11 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 12 |
* Text Domain: woocommerce-gateway-paypal-express-checkout
|
| 13 |
* Domain Path: /languages
|
| 14 |
-
* WC tested up to: 3.
|
| 15 |
* WC requires at least: 2.6
|
| 16 |
*/
|
| 17 |
/**
|
|
@@ -27,7 +27,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 27 |
exit; // Exit if accessed directly
|
| 28 |
}
|
| 29 |
|
| 30 |
-
define( 'WC_GATEWAY_PPEC_VERSION', '1.6.
|
| 31 |
|
| 32 |
/**
|
| 33 |
* Return instance of WC_Gateway_PPEC_Plugin.
|
| 3 |
* Plugin Name: WooCommerce PayPal Checkout Gateway
|
| 4 |
* Plugin URI: https://woocommerce.com/products/woocommerce-gateway-paypal-express-checkout/
|
| 5 |
* Description: A payment gateway for PayPal Checkout (https://www.paypal.com/us/webapps/mpp/paypal-checkout).
|
| 6 |
+
* Version: 1.6.5
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com
|
| 9 |
* Copyright: © 2018 WooCommerce / PayPal.
|
| 11 |
* License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 12 |
* Text Domain: woocommerce-gateway-paypal-express-checkout
|
| 13 |
* Domain Path: /languages
|
| 14 |
+
* WC tested up to: 3.5
|
| 15 |
* WC requires at least: 2.6
|
| 16 |
*/
|
| 17 |
/**
|
| 27 |
exit; // Exit if accessed directly
|
| 28 |
}
|
| 29 |
|
| 30 |
+
define( 'WC_GATEWAY_PPEC_VERSION', '1.6.5' );
|
| 31 |
|
| 32 |
/**
|
| 33 |
* Return instance of WC_Gateway_PPEC_Plugin.
|
