Version Description
- Fix - _paypal_status on Authorize transactions not updating to processing after capture.
- Fix - 10413 (The totals of the cart item amounts do not match order amounts) error with discounts.
- Fix - Shipping Address being required on Virtual products.
Download this release
Release Info
| Developer | bor0 |
| Plugin | |
| Version | 1.4.2 |
| Comparing to | |
| See all releases | |
Code changes from version 1.4.1 to 1.4.2
includes/class-wc-gateway-ppec-admin-handler.php
CHANGED
|
@@ -167,6 +167,7 @@ class WC_Gateway_PPEC_Admin_Handler {
|
|
| 167 |
if ( is_wp_error( $result ) ) {
|
| 168 |
$order->add_order_note( __( 'Unable to capture charge!', 'woocommerce-gateway-paypal-express-checkout' ) . ' ' . $result->get_error_message() );
|
| 169 |
} else {
|
|
|
|
| 170 |
$order->add_order_note( sprintf( __( 'PayPal Express Checkout charge complete (Charge ID: %s)', 'woocommerce-gateway-paypal-express-checkout' ), $trans_id ) );
|
| 171 |
}
|
| 172 |
}
|
| 167 |
if ( is_wp_error( $result ) ) {
|
| 168 |
$order->add_order_note( __( 'Unable to capture charge!', 'woocommerce-gateway-paypal-express-checkout' ) . ' ' . $result->get_error_message() );
|
| 169 |
} else {
|
| 170 |
+
update_post_meta( $order_id, '_paypal_status', ! empty( $trans_details['PAYMENTSTATUS'] ) ? $trans_details['PAYMENTSTATUS'] : 'completed' );
|
| 171 |
$order->add_order_note( sprintf( __( 'PayPal Express Checkout charge complete (Charge ID: %s)', 'woocommerce-gateway-paypal-express-checkout' ), $trans_id ) );
|
| 172 |
}
|
| 173 |
}
|
includes/class-wc-gateway-ppec-checkout-handler.php
CHANGED
|
@@ -827,12 +827,8 @@ class WC_Gateway_PPEC_Checkout_Handler {
|
|
| 827 |
public function handle_payment_response( $order, $payment ) {
|
| 828 |
// Store meta data to order
|
| 829 |
$old_wc = version_compare( WC_VERSION, '3.0', '<' );
|
| 830 |
-
if ( $old_wc ) {
|
| 831 |
-
update_post_meta( $order->id, '_paypal_status', strtolower( $payment->payment_status ) );
|
| 832 |
-
} else {
|
| 833 |
-
$order->update_meta_data( '_paypal_status', strtolower( $payment->payment_status ) );
|
| 834 |
-
}
|
| 835 |
|
|
|
|
| 836 |
update_post_meta( $old_wc ? $order->id : $order->get_id(), '_transaction_id', $payment->transaction_id );
|
| 837 |
|
| 838 |
// Handle $payment response
|
| 827 |
public function handle_payment_response( $order, $payment ) {
|
| 828 |
// Store meta data to order
|
| 829 |
$old_wc = version_compare( WC_VERSION, '3.0', '<' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 830 |
|
| 831 |
+
update_post_meta( $old_wc ? $order->id : $order->get_id(), '_paypal_status', strtolower( $payment->payment_status ) );
|
| 832 |
update_post_meta( $old_wc ? $order->id : $order->get_id(), '_transaction_id', $payment->transaction_id );
|
| 833 |
|
| 834 |
// Handle $payment response
|
includes/class-wc-gateway-ppec-client.php
CHANGED
|
@@ -448,8 +448,8 @@ class WC_Gateway_PPEC_Client {
|
|
| 448 |
$settings = wc_gateway_ppec()->settings;
|
| 449 |
|
| 450 |
$decimals = $settings->get_number_of_decimal_digits();
|
| 451 |
-
$discounts = round( WC()->cart->get_cart_discount_total(), $decimals );
|
| 452 |
$rounded_total = $this->_get_rounded_total_in_cart();
|
|
|
|
| 453 |
|
| 454 |
$details = array(
|
| 455 |
'total_item_amount' => round( WC()->cart->cart_contents_total, $decimals ) + $discounts,
|
|
@@ -458,72 +458,7 @@ class WC_Gateway_PPEC_Client {
|
|
| 458 |
'items' => $this->_get_paypal_line_items_from_cart(),
|
| 459 |
);
|
| 460 |
|
| 461 |
-
$details
|
| 462 |
-
$details['total_item_amount'] + $details['order_tax'] + $details['shipping'],
|
| 463 |
-
$decimals
|
| 464 |
-
);
|
| 465 |
-
|
| 466 |
-
// Compare WC totals with what PayPal will calculate to see if they match.
|
| 467 |
-
// if they do not match, check to see what the merchant would like to do.
|
| 468 |
-
// Options are to remove line items or add a line item to adjust for
|
| 469 |
-
// the difference.
|
| 470 |
-
if ( $details['total_item_amount'] != $rounded_total ) {
|
| 471 |
-
if ( 'add' === $settings->get_subtotal_mismatch_behavior() ) {
|
| 472 |
-
// Add line item to make up different between WooCommerce
|
| 473 |
-
// calculations and PayPal calculations.
|
| 474 |
-
$diff = round( $details['total_item_amount'] - $rounded_total, $decimals );
|
| 475 |
-
if ( $diff != 0 ) {
|
| 476 |
-
$extra_line_item = $this->_get_extra_offset_line_item( $diff );
|
| 477 |
-
|
| 478 |
-
$details['items'][] = $extra_line_item;
|
| 479 |
-
$details['total_item_amount'] += $extra_line_item['amount'];
|
| 480 |
-
$details['order_total'] += $extra_line_item['amount'];
|
| 481 |
-
}
|
| 482 |
-
} else {
|
| 483 |
-
// Omit line items altogether.
|
| 484 |
-
unset( $details['items'] );
|
| 485 |
-
}
|
| 486 |
-
}
|
| 487 |
-
|
| 488 |
-
// Enter discount shenanigans. Item total cannot be 0 so make modifications
|
| 489 |
-
// accordingly.
|
| 490 |
-
if ( $details['total_item_amount'] == $discounts ) {
|
| 491 |
-
// Omit line items altogether.
|
| 492 |
-
unset( $details['items'] );
|
| 493 |
-
$details['ship_discount_amount'] = 0;
|
| 494 |
-
$details['total_item_amount'] -= $discounts;
|
| 495 |
-
$details['order_total'] -= $discounts;
|
| 496 |
-
} else {
|
| 497 |
-
if ( $discounts > 0 ) {
|
| 498 |
-
$details['items'][] = $this->_get_extra_offset_line_item( - abs( $discounts ) );
|
| 499 |
-
}
|
| 500 |
-
|
| 501 |
-
$details['ship_discount_amount'] = 0;
|
| 502 |
-
$details['total_item_amount'] -= $discounts;
|
| 503 |
-
$details['order_total'] -= $discounts;
|
| 504 |
-
}
|
| 505 |
-
|
| 506 |
-
// If the totals don't line up, adjust the tax to make it work (it's
|
| 507 |
-
// probably a tax mismatch).
|
| 508 |
-
$wc_order_total = round( WC()->cart->total, $decimals );
|
| 509 |
-
if ( $wc_order_total != $details['order_total'] ) {
|
| 510 |
-
// tax cannot be negative
|
| 511 |
-
if ( $details['order_total'] < $wc_order_total ) {
|
| 512 |
-
$details['order_tax'] += $wc_order_total - $details['order_total'];
|
| 513 |
-
$details['order_tax'] = round( $details['order_tax'], $decimals );
|
| 514 |
-
} else {
|
| 515 |
-
$details['ship_discount_amount'] += $wc_order_total - $details['order_total'];
|
| 516 |
-
$details['ship_discount_amount'] = round( $details['ship_discount_amount'], $decimals );
|
| 517 |
-
}
|
| 518 |
-
|
| 519 |
-
$details['order_total'] = $wc_order_total;
|
| 520 |
-
}
|
| 521 |
-
|
| 522 |
-
if ( ! is_numeric( $details['shipping'] ) ) {
|
| 523 |
-
$details['shipping'] = 0;
|
| 524 |
-
}
|
| 525 |
-
|
| 526 |
-
return $details;
|
| 527 |
}
|
| 528 |
|
| 529 |
/**
|
|
@@ -584,33 +519,25 @@ class WC_Gateway_PPEC_Client {
|
|
| 584 |
}
|
| 585 |
|
| 586 |
/**
|
| 587 |
-
* Get details from
|
| 588 |
*
|
| 589 |
-
*
|
| 590 |
*
|
| 591 |
-
* @
|
| 592 |
*
|
| 593 |
-
* @
|
| 594 |
-
*
|
| 595 |
-
* @return array Order details
|
| 596 |
*/
|
| 597 |
-
protected function
|
| 598 |
-
$order = wc_get_order( $order_id );
|
| 599 |
$settings = wc_gateway_ppec()->settings;
|
|
|
|
| 600 |
|
| 601 |
-
$
|
| 602 |
-
$discounts = round( $order->get_total_discount(), $decimals );
|
| 603 |
-
$rounded_total = $this->_get_rounded_total_in_order( $order );
|
| 604 |
|
| 605 |
-
$details =
|
| 606 |
-
'
|
| 607 |
-
|
| 608 |
-
'total_item_amount' => round( $order->get_subtotal(), $decimals ),
|
| 609 |
-
'items' => $this->_get_paypal_line_items_from_order( $order ),
|
| 610 |
);
|
| 611 |
|
| 612 |
-
$details['order_total'] = round( $details['total_item_amount'] + $details['order_tax'] + $details['shipping'], $decimals );
|
| 613 |
-
|
| 614 |
// Compare WC totals with what PayPal will calculate to see if they match.
|
| 615 |
// if they do not match, check to see what the merchant would like to do.
|
| 616 |
// Options are to remove line items or add a line item to adjust for
|
|
@@ -620,9 +547,13 @@ class WC_Gateway_PPEC_Client {
|
|
| 620 |
// Add line item to make up different between WooCommerce
|
| 621 |
// calculations and PayPal calculations.
|
| 622 |
$diff = round( $details['total_item_amount'] - $rounded_total, $decimals );
|
|
|
|
|
|
|
| 623 |
|
| 624 |
-
|
| 625 |
-
|
|
|
|
|
|
|
| 626 |
} else {
|
| 627 |
// Omit line items altogether.
|
| 628 |
unset( $details['items'] );
|
|
@@ -634,30 +565,28 @@ class WC_Gateway_PPEC_Client {
|
|
| 634 |
if ( $details['total_item_amount'] == $discounts ) {
|
| 635 |
// Omit line items altogether.
|
| 636 |
unset( $details['items'] );
|
| 637 |
-
|
| 638 |
-
$details['total_item_amount'] -= $discounts;
|
| 639 |
-
$details['order_total'] -= $discounts;
|
| 640 |
-
} else {
|
| 641 |
-
if ( $discounts > 0 ) {
|
| 642 |
-
$details['items'][] = $this->_get_extra_discount_line_item( $discounts );
|
| 643 |
|
| 644 |
-
|
| 645 |
-
$details['order_total'] -= $discounts;
|
| 646 |
-
}
|
| 647 |
|
| 648 |
-
|
| 649 |
-
|
|
|
|
|
|
|
|
|
|
| 650 |
|
| 651 |
// If the totals don't line up, adjust the tax to make it work (it's
|
| 652 |
// probably a tax mismatch).
|
| 653 |
-
$wc_order_total = round( $
|
| 654 |
-
|
|
|
|
|
|
|
| 655 |
// tax cannot be negative
|
| 656 |
-
if ( $
|
| 657 |
-
$details['order_tax'] += $wc_order_total - $
|
| 658 |
$details['order_tax'] = round( $details['order_tax'], $decimals );
|
| 659 |
} else {
|
| 660 |
-
$details['ship_discount_amount'] += $wc_order_total - $
|
| 661 |
$details['ship_discount_amount'] = round( $details['ship_discount_amount'], $decimals );
|
| 662 |
}
|
| 663 |
|
|
@@ -668,6 +597,47 @@ class WC_Gateway_PPEC_Client {
|
|
| 668 |
$details['shipping'] = 0;
|
| 669 |
}
|
| 670 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 671 |
// PayPal shipping address from order.
|
| 672 |
$shipping_address = new PayPal_Address;
|
| 673 |
|
| 448 |
$settings = wc_gateway_ppec()->settings;
|
| 449 |
|
| 450 |
$decimals = $settings->get_number_of_decimal_digits();
|
|
|
|
| 451 |
$rounded_total = $this->_get_rounded_total_in_cart();
|
| 452 |
+
$discounts = WC()->cart->get_cart_discount_total();
|
| 453 |
|
| 454 |
$details = array(
|
| 455 |
'total_item_amount' => round( WC()->cart->cart_contents_total, $decimals ) + $discounts,
|
| 458 |
'items' => $this->_get_paypal_line_items_from_cart(),
|
| 459 |
);
|
| 460 |
|
| 461 |
+
return $this->get_details( $details, $discounts, $rounded_total, WC()->cart->total );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 462 |
}
|
| 463 |
|
| 464 |
/**
|
| 519 |
}
|
| 520 |
|
| 521 |
/**
|
| 522 |
+
* Get details from populated price array
|
| 523 |
*
|
| 524 |
+
* @since 1.4.1
|
| 525 |
*
|
| 526 |
+
* @param array $details Prices
|
| 527 |
*
|
| 528 |
+
* @return array Details
|
|
|
|
|
|
|
| 529 |
*/
|
| 530 |
+
protected function get_details( $details, $discounts, $rounded_total, $total ) {
|
|
|
|
| 531 |
$settings = wc_gateway_ppec()->settings;
|
| 532 |
+
$decimals = $settings->get_number_of_decimal_digits();
|
| 533 |
|
| 534 |
+
$discounts = round( $discounts, $decimals );
|
|
|
|
|
|
|
| 535 |
|
| 536 |
+
$details['order_total'] = round(
|
| 537 |
+
$details['total_item_amount'] + $details['order_tax'] + $details['shipping'],
|
| 538 |
+
$decimals
|
|
|
|
|
|
|
| 539 |
);
|
| 540 |
|
|
|
|
|
|
|
| 541 |
// Compare WC totals with what PayPal will calculate to see if they match.
|
| 542 |
// if they do not match, check to see what the merchant would like to do.
|
| 543 |
// Options are to remove line items or add a line item to adjust for
|
| 547 |
// Add line item to make up different between WooCommerce
|
| 548 |
// calculations and PayPal calculations.
|
| 549 |
$diff = round( $details['total_item_amount'] - $rounded_total, $decimals );
|
| 550 |
+
if ( $diff != 0 ) {
|
| 551 |
+
$extra_line_item = $this->_get_extra_offset_line_item( $diff );
|
| 552 |
|
| 553 |
+
$details['items'][] = $extra_line_item;
|
| 554 |
+
$details['total_item_amount'] += $extra_line_item['amount'];
|
| 555 |
+
$details['order_total'] += $extra_line_item['amount'];
|
| 556 |
+
}
|
| 557 |
} else {
|
| 558 |
// Omit line items altogether.
|
| 559 |
unset( $details['items'] );
|
| 565 |
if ( $details['total_item_amount'] == $discounts ) {
|
| 566 |
// Omit line items altogether.
|
| 567 |
unset( $details['items'] );
|
| 568 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 569 |
|
| 570 |
+
$details['ship_discount_amount'] = 0;
|
|
|
|
|
|
|
| 571 |
|
| 572 |
+
// AMT
|
| 573 |
+
$details['order_total'] = $details['order_total'] - $discounts;
|
| 574 |
+
|
| 575 |
+
// ITEMAMT
|
| 576 |
+
$details['total_item_amount'] = $details['total_item_amount'] - $discounts;
|
| 577 |
|
| 578 |
// If the totals don't line up, adjust the tax to make it work (it's
|
| 579 |
// probably a tax mismatch).
|
| 580 |
+
$wc_order_total = round( $total, $decimals );
|
| 581 |
+
$discounted_total = $details['order_total'];
|
| 582 |
+
|
| 583 |
+
if ( $wc_order_total != $discounted_total ) {
|
| 584 |
// tax cannot be negative
|
| 585 |
+
if ( $discounted_total < $wc_order_total ) {
|
| 586 |
+
$details['order_tax'] += $wc_order_total - $discounted_total;
|
| 587 |
$details['order_tax'] = round( $details['order_tax'], $decimals );
|
| 588 |
} else {
|
| 589 |
+
$details['ship_discount_amount'] += $wc_order_total - $discounted_total;
|
| 590 |
$details['ship_discount_amount'] = round( $details['ship_discount_amount'], $decimals );
|
| 591 |
}
|
| 592 |
|
| 597 |
$details['shipping'] = 0;
|
| 598 |
}
|
| 599 |
|
| 600 |
+
$lisum = 0;
|
| 601 |
+
|
| 602 |
+
foreach ( $details['items'] as $li => $values ) {
|
| 603 |
+
$lisum += $values['quantity'] * $values['amount'];
|
| 604 |
+
}
|
| 605 |
+
|
| 606 |
+
if ( 0 !== $lisum ) {
|
| 607 |
+
$details['items'][] = $this->_get_extra_offset_line_item( $details['total_item_amount'] - $lisum );
|
| 608 |
+
}
|
| 609 |
+
|
| 610 |
+
return $details;
|
| 611 |
+
}
|
| 612 |
+
|
| 613 |
+
/**
|
| 614 |
+
* Get details from given order_id.
|
| 615 |
+
*
|
| 616 |
+
* This is the details when buyer is checking out from checkout page.
|
| 617 |
+
*
|
| 618 |
+
* @since 1.2.0
|
| 619 |
+
*
|
| 620 |
+
* @param int $order_id Order ID
|
| 621 |
+
*
|
| 622 |
+
* @return array Order details
|
| 623 |
+
*/
|
| 624 |
+
protected function _get_details_from_order( $order_id ) {
|
| 625 |
+
$order = wc_get_order( $order_id );
|
| 626 |
+
$settings = wc_gateway_ppec()->settings;
|
| 627 |
+
|
| 628 |
+
$decimals = $settings->is_currency_supports_zero_decimal() ? 0 : 2;
|
| 629 |
+
$rounded_total = $this->_get_rounded_total_in_order( $order );
|
| 630 |
+
$discounts = $order->get_total_discount();
|
| 631 |
+
|
| 632 |
+
$details = array(
|
| 633 |
+
'total_item_amount' => round( $order->get_subtotal(), $decimals ) + $discounts,
|
| 634 |
+
'order_tax' => round( $order->get_total_tax(), $decimals ),
|
| 635 |
+
'shipping' => round( ( version_compare( WC_VERSION, '3.0', '<' ) ? $order->get_total_shipping() : $order->get_shipping_total() ), $decimals ),
|
| 636 |
+
'items' => $this->_get_paypal_line_items_from_order( $order ),
|
| 637 |
+
);
|
| 638 |
+
|
| 639 |
+
$details = $this->get_details( $details, $order->get_total_discount(), $rounded_total, $order->get_total() );
|
| 640 |
+
|
| 641 |
// PayPal shipping address from order.
|
| 642 |
$shipping_address = new PayPal_Address;
|
| 643 |
|
includes/class-wc-gateway-ppec-plugin.php
CHANGED
|
@@ -374,7 +374,8 @@ class WC_Gateway_PPEC_Plugin {
|
|
| 374 |
}
|
| 375 |
|
| 376 |
/**
|
| 377 |
-
* Check if shipping is needed for PayPal.
|
|
|
|
| 378 |
*
|
| 379 |
* @since 1.4.1
|
| 380 |
* @version 1.4.1
|
|
@@ -382,12 +383,18 @@ class WC_Gateway_PPEC_Plugin {
|
|
| 382 |
* @return bool
|
| 383 |
*/
|
| 384 |
public static function needs_shipping() {
|
| 385 |
-
|
| 386 |
-
|
| 387 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 388 |
}
|
| 389 |
|
| 390 |
-
|
| 391 |
-
return WC()->cart->needs_shipping();
|
| 392 |
}
|
| 393 |
}
|
| 374 |
}
|
| 375 |
|
| 376 |
/**
|
| 377 |
+
* Check if shipping is needed for PayPal. This only checks for virtual products (#286),
|
| 378 |
+
* but skips the check if there are no shipping methods enabled (#249).
|
| 379 |
*
|
| 380 |
* @since 1.4.1
|
| 381 |
* @version 1.4.1
|
| 383 |
* @return bool
|
| 384 |
*/
|
| 385 |
public static function needs_shipping() {
|
| 386 |
+
$cart_contents = WC()->cart->cart_contents;
|
| 387 |
+
$needs_shipping = false;
|
| 388 |
+
|
| 389 |
+
if ( ! empty( $cart_contents ) ) {
|
| 390 |
+
foreach ( $cart_contents as $cart_item_key => $values ) {
|
| 391 |
+
if ( $values['data']->needs_shipping() ) {
|
| 392 |
+
$needs_shipping = true;
|
| 393 |
+
break;
|
| 394 |
+
}
|
| 395 |
+
}
|
| 396 |
}
|
| 397 |
|
| 398 |
+
return apply_filters( 'woocommerce_cart_needs_shipping', $needs_shipping );
|
|
|
|
| 399 |
}
|
| 400 |
}
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: automattic, woothemes, akeda, dwainm, royho, allendav, slash1andy,
|
|
| 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.7
|
| 6 |
-
Stable tag: 1.4.
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
|
@@ -85,6 +85,11 @@ https://gist.github.com/mikejolley/ad2ecc286c9ad6cefbb7065ba6dfef48
|
|
| 85 |
|
| 86 |
== Changelog ==
|
| 87 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
= 1.4.1 =
|
| 89 |
* Fix - Properly calculate whether Billing phone is required or not.
|
| 90 |
* Fix - Set NOSHIPPING based on product shipping requiredness (e.g. virtual products do not need shipping, etc)
|
| 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.7
|
| 6 |
+
Stable tag: 1.4.2
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
| 85 |
|
| 86 |
== Changelog ==
|
| 87 |
|
| 88 |
+
= 1.4.2 =
|
| 89 |
+
* Fix - _paypal_status on Authorize transactions not updating to processing after capture.
|
| 90 |
+
* Fix - 10413 (The totals of the cart item amounts do not match order amounts) error with discounts.
|
| 91 |
+
* Fix - Shipping Address being required on Virtual products.
|
| 92 |
+
|
| 93 |
= 1.4.1 =
|
| 94 |
* Fix - Properly calculate whether Billing phone is required or not.
|
| 95 |
* Fix - Set NOSHIPPING based on product shipping requiredness (e.g. virtual products do not need shipping, etc)
|
woocommerce-gateway-paypal-express-checkout.php
CHANGED
|
@@ -3,7 +3,7 @@
|
|
| 3 |
* Plugin Name: WooCommerce PayPal Express Checkout Gateway
|
| 4 |
* Plugin URI: https://woocommerce.com/products/woocommerce-gateway-paypal-express-checkout/
|
| 5 |
* Description: A payment gateway for PayPal Express Checkout (https://www.paypal.com/us/webapps/mpp/express-checkout).
|
| 6 |
-
* Version: 1.4.
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com
|
| 9 |
* Copyright: © 2017 WooCommerce / PayPal.
|
|
@@ -25,7 +25,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 25 |
exit; // Exit if accessed directly
|
| 26 |
}
|
| 27 |
|
| 28 |
-
define( 'WC_GATEWAY_PPEC_VERSION', '1.4.
|
| 29 |
|
| 30 |
/**
|
| 31 |
* Return instance of WC_Gateway_PPEC_Plugin.
|
| 3 |
* Plugin Name: WooCommerce PayPal Express Checkout Gateway
|
| 4 |
* Plugin URI: https://woocommerce.com/products/woocommerce-gateway-paypal-express-checkout/
|
| 5 |
* Description: A payment gateway for PayPal Express Checkout (https://www.paypal.com/us/webapps/mpp/express-checkout).
|
| 6 |
+
* Version: 1.4.2
|
| 7 |
* Author: WooCommerce
|
| 8 |
* Author URI: https://woocommerce.com
|
| 9 |
* Copyright: © 2017 WooCommerce / PayPal.
|
| 25 |
exit; // Exit if accessed directly
|
| 26 |
}
|
| 27 |
|
| 28 |
+
define( 'WC_GATEWAY_PPEC_VERSION', '1.4.2' );
|
| 29 |
|
| 30 |
/**
|
| 31 |
* Return instance of WC_Gateway_PPEC_Plugin.
|
