Version Description
- Fix - Authorized first orders were not able to be refund.
- Fix - Payment Request not honoring different shipping address in certain cases.
- Fix - In certain Chrome versions, states are not abbreviated causing shipping validation issues with Payment Request API.
- Add - Support for Dynamic Pricing.
Download this release
Release Info
| Developer | royho |
| Plugin | |
| Version | 3.2.0 |
| Comparing to | |
| See all releases | |
Code changes from version 3.1.9 to 3.2.0
includes/class-wc-gateway-stripe.php
CHANGED
|
@@ -842,6 +842,10 @@ class WC_Gateway_Stripe extends WC_Payment_Gateway_CC {
|
|
| 842 |
if ( $source->source ) {
|
| 843 |
version_compare( WC_VERSION, '3.0.0', '<' ) ? update_post_meta( $order_id, '_stripe_card_id', $source->source ) : $order->update_meta_data( '_stripe_card_id', $source->source );
|
| 844 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
| 845 |
}
|
| 846 |
|
| 847 |
/**
|
| 842 |
if ( $source->source ) {
|
| 843 |
version_compare( WC_VERSION, '3.0.0', '<' ) ? update_post_meta( $order_id, '_stripe_card_id', $source->source ) : $order->update_meta_data( '_stripe_card_id', $source->source );
|
| 844 |
}
|
| 845 |
+
|
| 846 |
+
if ( is_callable( array( $order, 'save' ) ) ) {
|
| 847 |
+
$order->save();
|
| 848 |
+
}
|
| 849 |
}
|
| 850 |
|
| 851 |
/**
|
includes/class-wc-stripe-apple-pay.php
CHANGED
|
@@ -86,6 +86,13 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 86 |
*/
|
| 87 |
public $is_shipping_enabled;
|
| 88 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 89 |
/**
|
| 90 |
* Constructor.
|
| 91 |
*
|
|
@@ -105,6 +112,7 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 105 |
$this->statement_descriptor = $_SERVER['SERVER_NAME'];
|
| 106 |
}
|
| 107 |
|
|
|
|
| 108 |
$this->enabled = ( ! empty( $gateway_settings['enabled'] ) && 'yes' === $gateway_settings['enabled'] ) ? true : false;
|
| 109 |
$this->testmode = ( ! empty( $gateway_settings['testmode'] ) && 'yes' === $gateway_settings['testmode'] ) ? true : false;
|
| 110 |
$this->capture = ( ! empty( $gateway_settings['capture'] ) && 'yes' === $gateway_settings['capture'] ) ? true : false;
|
|
@@ -482,7 +490,9 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 482 |
|
| 483 |
WC()->cart->calculate_totals();
|
| 484 |
|
| 485 |
-
|
|
|
|
|
|
|
| 486 |
}
|
| 487 |
|
| 488 |
/**
|
|
@@ -496,7 +506,9 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 496 |
wp_die( __( 'Cheatin’ huh?', 'woocommerce-gateway-stripe' ) );
|
| 497 |
}
|
| 498 |
|
| 499 |
-
|
|
|
|
|
|
|
| 500 |
}
|
| 501 |
|
| 502 |
/**
|
|
@@ -539,9 +551,12 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 539 |
WC()->customer->set_shipping_to_base();
|
| 540 |
}
|
| 541 |
|
| 542 |
-
version_compare( WC_VERSION, '3.0', '<' )
|
| 543 |
-
|
| 544 |
-
|
|
|
|
|
|
|
|
|
|
| 545 |
|
| 546 |
/**
|
| 547 |
* Set the shipping package.
|
|
@@ -626,12 +641,15 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 626 |
|
| 627 |
WC()->cart->calculate_totals();
|
| 628 |
|
| 629 |
-
|
|
|
|
|
|
|
| 630 |
} else {
|
| 631 |
throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) );
|
| 632 |
}
|
| 633 |
} catch ( Exception $e ) {
|
| 634 |
-
|
|
|
|
| 635 |
}
|
| 636 |
}
|
| 637 |
|
|
@@ -656,34 +674,8 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 656 |
|
| 657 |
WC()->cart->calculate_totals();
|
| 658 |
|
| 659 |
-
|
| 660 |
-
$
|
| 661 |
-
$tax_total = max( 0, round( WC()->cart->tax_total + WC()->cart->shipping_tax_total, WC()->cart->dp ) );
|
| 662 |
-
$data = array(
|
| 663 |
-
'total' => WC()->cart->total,
|
| 664 |
-
);
|
| 665 |
-
|
| 666 |
-
// Include fees and taxes as displayItems.
|
| 667 |
-
foreach ( WC()->cart->fees as $key => $fee ) {
|
| 668 |
-
$data['items'][] = array(
|
| 669 |
-
'label' => $fee->name,
|
| 670 |
-
'amount' => array(
|
| 671 |
-
'currency' => $currency,
|
| 672 |
-
'value' => $fee->amount,
|
| 673 |
-
),
|
| 674 |
-
);
|
| 675 |
-
}
|
| 676 |
-
if ( 0 < $tax_total ) {
|
| 677 |
-
$data['items'][] = array(
|
| 678 |
-
'label' => __( 'Tax', 'woocommerce-gateway-stripe' ),
|
| 679 |
-
'amount' => array(
|
| 680 |
-
'currency' => $currency,
|
| 681 |
-
'value' => $tax_total,
|
| 682 |
-
),
|
| 683 |
-
);
|
| 684 |
-
}
|
| 685 |
-
|
| 686 |
-
wp_send_json( array( 'success' => 'true', 'line_items' => $this->build_line_items(), 'total' => WC()->cart->total ) );
|
| 687 |
}
|
| 688 |
|
| 689 |
/**
|
|
@@ -815,20 +807,18 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 815 |
* Builds the line items to pass to Apple Pay.
|
| 816 |
*
|
| 817 |
* @since 3.1.0
|
| 818 |
-
* @version 3.
|
| 819 |
*/
|
| 820 |
public function build_line_items() {
|
| 821 |
if ( ! defined( 'WOOCOMMERCE_CART' ) ) {
|
| 822 |
define( 'WOOCOMMERCE_CART', true );
|
| 823 |
}
|
| 824 |
-
|
| 825 |
-
$decimals = apply_filters( 'wc_stripe_apple_pay_decimals', 2 );
|
| 826 |
|
| 827 |
$items = array();
|
| 828 |
$subtotal = 0;
|
| 829 |
|
| 830 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
| 831 |
-
$amount = wc_format_decimal( $cart_item['line_subtotal'], $
|
| 832 |
$subtotal += $cart_item['line_subtotal'];
|
| 833 |
$quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : '';
|
| 834 |
|
|
@@ -837,7 +827,7 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 837 |
$item = array(
|
| 838 |
'type' => 'final',
|
| 839 |
'label' => $product_name . $quantity_label,
|
| 840 |
-
'amount' => wc_format_decimal( $amount, $
|
| 841 |
);
|
| 842 |
|
| 843 |
$items[] = $item;
|
|
@@ -849,15 +839,15 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 849 |
$items[] = array(
|
| 850 |
'type' => 'final',
|
| 851 |
'label' => esc_html( __( 'Sub-Total', 'woocommerce-gateway-stripe' ) ),
|
| 852 |
-
'amount' => wc_format_decimal( $subtotal, $
|
| 853 |
);
|
| 854 |
}
|
| 855 |
|
| 856 |
-
$discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), $
|
| 857 |
-
$tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, $
|
| 858 |
-
$shipping = wc_format_decimal( WC()->cart->shipping_total, $
|
| 859 |
-
$item_total = wc_format_decimal( WC()->cart->cart_contents_total, $
|
| 860 |
-
$order_total = wc_format_decimal( $item_total + $tax + $shipping, $
|
| 861 |
|
| 862 |
if ( wc_tax_enabled() ) {
|
| 863 |
$items[] = array(
|
|
@@ -883,7 +873,7 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 883 |
);
|
| 884 |
}
|
| 885 |
|
| 886 |
-
return $items;
|
| 887 |
}
|
| 888 |
|
| 889 |
/**
|
|
@@ -899,6 +889,10 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 899 |
throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce-gateway-stripe' ), 520 ) );
|
| 900 |
}
|
| 901 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 902 |
$order = wc_create_order();
|
| 903 |
$order_id = version_compare( WC_VERSION, '3.0.0', '<' ) ? $order->id : $order->get_id();
|
| 904 |
|
|
@@ -1100,7 +1094,8 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 1100 |
|
| 1101 |
$available_gateways = WC()->payment_gateways->get_available_payment_gateways();
|
| 1102 |
$order->set_payment_method( $available_gateways['stripe'] );
|
| 1103 |
-
|
|
|
|
| 1104 |
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
|
| 1105 |
$order->set_total( WC()->cart->shipping_total, 'shipping' );
|
| 1106 |
$order->set_total( WC()->cart->get_cart_discount_total(), 'cart_discount' );
|
|
@@ -1114,7 +1109,14 @@ class WC_Stripe_Apple_Pay extends WC_Gateway_Stripe {
|
|
| 1114 |
$order->set_discount_tax( WC()->cart->get_cart_discount_tax_total() );
|
| 1115 |
$order->set_cart_tax( WC()->cart->tax_total );
|
| 1116 |
$order->set_shipping_tax( WC()->cart->shipping_tax_total );
|
| 1117 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1118 |
$order->save();
|
| 1119 |
}
|
| 1120 |
|
| 86 |
*/
|
| 87 |
public $is_shipping_enabled;
|
| 88 |
|
| 89 |
+
/**
|
| 90 |
+
* Decimal places from WC core.
|
| 91 |
+
*
|
| 92 |
+
* @var int
|
| 93 |
+
*/
|
| 94 |
+
public $dp;
|
| 95 |
+
|
| 96 |
/**
|
| 97 |
* Constructor.
|
| 98 |
*
|
| 112 |
$this->statement_descriptor = $_SERVER['SERVER_NAME'];
|
| 113 |
}
|
| 114 |
|
| 115 |
+
$this->dp = wc_get_price_decimals();
|
| 116 |
$this->enabled = ( ! empty( $gateway_settings['enabled'] ) && 'yes' === $gateway_settings['enabled'] ) ? true : false;
|
| 117 |
$this->testmode = ( ! empty( $gateway_settings['testmode'] ) && 'yes' === $gateway_settings['testmode'] ) ? true : false;
|
| 118 |
$this->capture = ( ! empty( $gateway_settings['capture'] ) && 'yes' === $gateway_settings['capture'] ) ? true : false;
|
| 490 |
|
| 491 |
WC()->cart->calculate_totals();
|
| 492 |
|
| 493 |
+
$build_items = $this->build_line_items();
|
| 494 |
+
|
| 495 |
+
wp_send_json( array( 'line_items' => $build_items['line_items'], 'total' => $build_items['total'] ) );
|
| 496 |
}
|
| 497 |
|
| 498 |
/**
|
| 506 |
wp_die( __( 'Cheatin’ huh?', 'woocommerce-gateway-stripe' ) );
|
| 507 |
}
|
| 508 |
|
| 509 |
+
$build_items = $this->build_line_items();
|
| 510 |
+
|
| 511 |
+
wp_send_json( array( 'line_items' => $build_items['line_items'], 'total' => $build_items['total'] ) );
|
| 512 |
}
|
| 513 |
|
| 514 |
/**
|
| 551 |
WC()->customer->set_shipping_to_base();
|
| 552 |
}
|
| 553 |
|
| 554 |
+
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
|
| 555 |
+
WC()->customer->calculated_shipping( true );
|
| 556 |
+
} else {
|
| 557 |
+
WC()->customer->set_calculated_shipping( true );
|
| 558 |
+
WC()->customer->save();
|
| 559 |
+
}
|
| 560 |
|
| 561 |
/**
|
| 562 |
* Set the shipping package.
|
| 641 |
|
| 642 |
WC()->cart->calculate_totals();
|
| 643 |
|
| 644 |
+
$build_items = $this->build_line_items();
|
| 645 |
+
|
| 646 |
+
wp_send_json( array( 'success' => 'true', 'shipping_methods' => $this->build_shipping_methods( $data ), 'line_items' => $build_items['line_items'], 'total' => $build_items['total'] ) );
|
| 647 |
} else {
|
| 648 |
throw new Exception( __( 'Unable to find shipping method for address.', 'woocommerce-gateway-stripe' ) );
|
| 649 |
}
|
| 650 |
} catch ( Exception $e ) {
|
| 651 |
+
$build_items = $this->build_line_items();
|
| 652 |
+
wp_send_json( array( 'success' => 'false', 'shipping_methods' => array(), 'line_items' => $build_items['line_items'], 'total' => $build_items['total'] ) );
|
| 653 |
}
|
| 654 |
}
|
| 655 |
|
| 674 |
|
| 675 |
WC()->cart->calculate_totals();
|
| 676 |
|
| 677 |
+
$build_items = $this->build_line_items();
|
| 678 |
+
wp_send_json( array( 'success' => 'true', 'line_items' => $build_items['line_items'], 'total' => $build_items['total'] ) );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 679 |
}
|
| 680 |
|
| 681 |
/**
|
| 807 |
* Builds the line items to pass to Apple Pay.
|
| 808 |
*
|
| 809 |
* @since 3.1.0
|
| 810 |
+
* @version 3.2.0
|
| 811 |
*/
|
| 812 |
public function build_line_items() {
|
| 813 |
if ( ! defined( 'WOOCOMMERCE_CART' ) ) {
|
| 814 |
define( 'WOOCOMMERCE_CART', true );
|
| 815 |
}
|
|
|
|
|
|
|
| 816 |
|
| 817 |
$items = array();
|
| 818 |
$subtotal = 0;
|
| 819 |
|
| 820 |
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
|
| 821 |
+
$amount = wc_format_decimal( $cart_item['line_subtotal'], $this->dp );
|
| 822 |
$subtotal += $cart_item['line_subtotal'];
|
| 823 |
$quantity_label = 1 < $cart_item['quantity'] ? ' (x' . $cart_item['quantity'] . ')' : '';
|
| 824 |
|
| 827 |
$item = array(
|
| 828 |
'type' => 'final',
|
| 829 |
'label' => $product_name . $quantity_label,
|
| 830 |
+
'amount' => wc_format_decimal( $amount, $this->dp ),
|
| 831 |
);
|
| 832 |
|
| 833 |
$items[] = $item;
|
| 839 |
$items[] = array(
|
| 840 |
'type' => 'final',
|
| 841 |
'label' => esc_html( __( 'Sub-Total', 'woocommerce-gateway-stripe' ) ),
|
| 842 |
+
'amount' => wc_format_decimal( $subtotal, $this->dp ),
|
| 843 |
);
|
| 844 |
}
|
| 845 |
|
| 846 |
+
$discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), $this->dp );
|
| 847 |
+
$tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, $this->dp );
|
| 848 |
+
$shipping = wc_format_decimal( WC()->cart->shipping_total, $this->dp );
|
| 849 |
+
$item_total = wc_format_decimal( WC()->cart->cart_contents_total, $this->dp ) + $discounts;
|
| 850 |
+
$order_total = wc_format_decimal( $item_total + $tax + $shipping, $this->dp );
|
| 851 |
|
| 852 |
if ( wc_tax_enabled() ) {
|
| 853 |
$items[] = array(
|
| 873 |
);
|
| 874 |
}
|
| 875 |
|
| 876 |
+
return array( 'line_items' => $items, 'total' => $order_total );
|
| 877 |
}
|
| 878 |
|
| 879 |
/**
|
| 889 |
throw new Exception( sprintf( __( 'Error %d: Unable to create order. Please try again.', 'woocommerce-gateway-stripe' ), 520 ) );
|
| 890 |
}
|
| 891 |
|
| 892 |
+
if ( ! defined( 'WOOCOMMERCE_CART' ) ) {
|
| 893 |
+
define( 'WOOCOMMERCE_CART', true );
|
| 894 |
+
}
|
| 895 |
+
|
| 896 |
$order = wc_create_order();
|
| 897 |
$order_id = version_compare( WC_VERSION, '3.0.0', '<' ) ? $order->id : $order->get_id();
|
| 898 |
|
| 1094 |
|
| 1095 |
$available_gateways = WC()->payment_gateways->get_available_payment_gateways();
|
| 1096 |
$order->set_payment_method( $available_gateways['stripe'] );
|
| 1097 |
+
WC()->cart->calculate_totals();
|
| 1098 |
+
|
| 1099 |
if ( version_compare( WC_VERSION, '3.0', '<' ) ) {
|
| 1100 |
$order->set_total( WC()->cart->shipping_total, 'shipping' );
|
| 1101 |
$order->set_total( WC()->cart->get_cart_discount_total(), 'cart_discount' );
|
| 1109 |
$order->set_discount_tax( WC()->cart->get_cart_discount_tax_total() );
|
| 1110 |
$order->set_cart_tax( WC()->cart->tax_total );
|
| 1111 |
$order->set_shipping_tax( WC()->cart->shipping_tax_total );
|
| 1112 |
+
|
| 1113 |
+
$discounts = wc_format_decimal( WC()->cart->get_cart_discount_total(), $this->dp );
|
| 1114 |
+
$tax = wc_format_decimal( WC()->cart->tax_total + WC()->cart->shipping_tax_total, $this->dp );
|
| 1115 |
+
$shipping = wc_format_decimal( WC()->cart->shipping_total, $this->dp );
|
| 1116 |
+
$item_total = wc_format_decimal( WC()->cart->cart_contents_total, $this->dp ) + $discounts;
|
| 1117 |
+
$order_total = wc_format_decimal( $item_total + $tax + $shipping, $this->dp );
|
| 1118 |
+
|
| 1119 |
+
$order->set_total( $order_total );
|
| 1120 |
$order->save();
|
| 1121 |
}
|
| 1122 |
|
includes/class-wc-stripe-payment-request.php
CHANGED
|
@@ -137,10 +137,12 @@ class WC_Stripe_Payment_Request {
|
|
| 137 |
* Calculate and set shipping method.
|
| 138 |
*
|
| 139 |
* @since 3.1.0
|
| 140 |
-
* @version 3.
|
| 141 |
* @param array $address
|
| 142 |
*/
|
| 143 |
public function calculate_shipping( $address = array() ) {
|
|
|
|
|
|
|
| 144 |
$country = $address['country'];
|
| 145 |
$state = $address['state'];
|
| 146 |
$postcode = $address['postcode'];
|
|
@@ -148,6 +150,17 @@ class WC_Stripe_Payment_Request {
|
|
| 148 |
$address_1 = $address['address'];
|
| 149 |
$address_2 = $address['address_2'];
|
| 150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
WC()->shipping->reset_shipping();
|
| 152 |
|
| 153 |
if ( $postcode && WC_Validation::is_postcode( $postcode, $country ) ) {
|
|
@@ -296,6 +309,7 @@ class WC_Stripe_Payment_Request {
|
|
| 296 |
}
|
| 297 |
|
| 298 |
$_POST['terms'] = 1;
|
|
|
|
| 299 |
|
| 300 |
WC()->checkout()->process_checkout();
|
| 301 |
|
| 137 |
* Calculate and set shipping method.
|
| 138 |
*
|
| 139 |
* @since 3.1.0
|
| 140 |
+
* @version 3.2.0
|
| 141 |
* @param array $address
|
| 142 |
*/
|
| 143 |
public function calculate_shipping( $address = array() ) {
|
| 144 |
+
global $states;
|
| 145 |
+
|
| 146 |
$country = $address['country'];
|
| 147 |
$state = $address['state'];
|
| 148 |
$postcode = $address['postcode'];
|
| 150 |
$address_1 = $address['address'];
|
| 151 |
$address_2 = $address['address_2'];
|
| 152 |
|
| 153 |
+
$country_class = new WC_Countries();
|
| 154 |
+
$country_class->load_country_states();
|
| 155 |
+
|
| 156 |
+
/**
|
| 157 |
+
* In some versions of Chrome, state can be a full name. So we need
|
| 158 |
+
* to convert that to abbreviation as WC is expecting that.
|
| 159 |
+
*/
|
| 160 |
+
if ( 2 < strlen( $state ) ) {
|
| 161 |
+
$state = array_search( ucfirst( strtolower( $state ) ), $states[ $country ] );
|
| 162 |
+
}
|
| 163 |
+
|
| 164 |
WC()->shipping->reset_shipping();
|
| 165 |
|
| 166 |
if ( $postcode && WC_Validation::is_postcode( $postcode, $country ) ) {
|
| 309 |
}
|
| 310 |
|
| 311 |
$_POST['terms'] = 1;
|
| 312 |
+
$_POST['ship_to_different_address'] = 1;
|
| 313 |
|
| 314 |
WC()->checkout()->process_checkout();
|
| 315 |
|
includes/settings-stripe.php
CHANGED
|
@@ -34,29 +34,29 @@ return apply_filters( 'wc_stripe_settings',
|
|
| 34 |
'default' => 'yes',
|
| 35 |
'desc_tip' => true,
|
| 36 |
),
|
| 37 |
-
'
|
| 38 |
-
'title' => __( 'Test
|
| 39 |
'type' => 'text',
|
| 40 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 41 |
'default' => '',
|
| 42 |
'desc_tip' => true,
|
| 43 |
),
|
| 44 |
-
'
|
| 45 |
-
'title' => __( 'Test
|
| 46 |
'type' => 'text',
|
| 47 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 48 |
'default' => '',
|
| 49 |
'desc_tip' => true,
|
| 50 |
),
|
| 51 |
-
'
|
| 52 |
-
'title' => __( 'Live
|
| 53 |
'type' => 'text',
|
| 54 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 55 |
'default' => '',
|
| 56 |
'desc_tip' => true,
|
| 57 |
),
|
| 58 |
-
'
|
| 59 |
-
'title' => __( 'Live
|
| 60 |
'type' => 'text',
|
| 61 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 62 |
'default' => '',
|
| 34 |
'default' => 'yes',
|
| 35 |
'desc_tip' => true,
|
| 36 |
),
|
| 37 |
+
'test_publishable_key' => array(
|
| 38 |
+
'title' => __( 'Test Publishable Key', 'woocommerce-gateway-stripe' ),
|
| 39 |
'type' => 'text',
|
| 40 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 41 |
'default' => '',
|
| 42 |
'desc_tip' => true,
|
| 43 |
),
|
| 44 |
+
'test_secret_key' => array(
|
| 45 |
+
'title' => __( 'Test Secret Key', 'woocommerce-gateway-stripe' ),
|
| 46 |
'type' => 'text',
|
| 47 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 48 |
'default' => '',
|
| 49 |
'desc_tip' => true,
|
| 50 |
),
|
| 51 |
+
'publishable_key' => array(
|
| 52 |
+
'title' => __( 'Live Publishable Key', 'woocommerce-gateway-stripe' ),
|
| 53 |
'type' => 'text',
|
| 54 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 55 |
'default' => '',
|
| 56 |
'desc_tip' => true,
|
| 57 |
),
|
| 58 |
+
'secret_key' => array(
|
| 59 |
+
'title' => __( 'Live Secret Key', 'woocommerce-gateway-stripe' ),
|
| 60 |
'type' => 'text',
|
| 61 |
'description' => __( 'Get your API keys from your stripe account.', 'woocommerce-gateway-stripe' ),
|
| 62 |
'default' => '',
|
readme.txt
CHANGED
|
@@ -3,7 +3,7 @@ Contributors: automattic, woothemes, mikejolley, akeda, royho, mattyza, slash1an
|
|
| 3 |
Tags: credit card, stripe, woocommerce
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 4.7.2
|
| 6 |
-
Stable tag: 3.
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
|
@@ -95,6 +95,12 @@ If you get stuck, you can ask for help in the Plugin Forum.
|
|
| 95 |
|
| 96 |
== Changelog ==
|
| 97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 98 |
= 3.1.9 =
|
| 99 |
* Fix - Handle a subscription renewal failed payment order correctly to prevent orders going into onhold status.
|
| 100 |
* Fix - Auto accept terms for Payment Request API to prevent blocker for the checkout.
|
|
@@ -194,11 +200,8 @@ If you get stuck, you can ask for help in the Plugin Forum.
|
|
| 194 |
|
| 195 |
== Upgrade Notice ==
|
| 196 |
|
| 197 |
-
= 3.
|
| 198 |
-
* Fix -
|
| 199 |
-
* Fix -
|
| 200 |
-
* Fix -
|
| 201 |
-
*
|
| 202 |
-
* Fix - On Subscription failed payment, new payment info not updating causing failed payments for recurring charges.
|
| 203 |
-
* Add - Action hook to manipulate process response from API "wc_gateway_stripe_process_response".
|
| 204 |
-
* Add - Apple Pay compatibility with WooCommerce Sequential Numbers Pro.
|
| 3 |
Tags: credit card, stripe, woocommerce
|
| 4 |
Requires at least: 4.4
|
| 5 |
Tested up to: 4.7.2
|
| 6 |
+
Stable tag: 3.2.0
|
| 7 |
License: GPLv3
|
| 8 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
| 9 |
|
| 95 |
|
| 96 |
== Changelog ==
|
| 97 |
|
| 98 |
+
= 3.2.0 =
|
| 99 |
+
* Fix - Authorized first orders were not able to be refund.
|
| 100 |
+
* Fix - Payment Request not honoring different shipping address in certain cases.
|
| 101 |
+
* Fix - In certain Chrome versions, states are not abbreviated causing shipping validation issues with Payment Request API.
|
| 102 |
+
* Add - Support for Dynamic Pricing.
|
| 103 |
+
|
| 104 |
= 3.1.9 =
|
| 105 |
* Fix - Handle a subscription renewal failed payment order correctly to prevent orders going into onhold status.
|
| 106 |
* Fix - Auto accept terms for Payment Request API to prevent blocker for the checkout.
|
| 200 |
|
| 201 |
== Upgrade Notice ==
|
| 202 |
|
| 203 |
+
= 3.2.0 =
|
| 204 |
+
* Fix - Authorized first orders were not able to be refund.
|
| 205 |
+
* Fix - Payment Request not honoring different shipping address in certain cases.
|
| 206 |
+
* Fix - In certain Chrome versions, states are not abbreviated causing shipping validation issues with Payment Request API.
|
| 207 |
+
* Add - Support for Dynamic Pricing.
|
|
|
|
|
|
|
|
|
woocommerce-gateway-stripe.php
CHANGED
|
@@ -5,7 +5,7 @@
|
|
| 5 |
* Description: Take credit card payments on your store using Stripe.
|
| 6 |
* Author: WooCommerce
|
| 7 |
* Author URI: https://woocommerce.com/
|
| 8 |
-
* Version: 3.
|
| 9 |
* Text Domain: woocommerce-gateway-stripe
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
|
@@ -32,7 +32,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
| 32 |
/**
|
| 33 |
* Required minimums and constants
|
| 34 |
*/
|
| 35 |
-
define( 'WC_STRIPE_VERSION', '3.
|
| 36 |
define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
|
| 37 |
define( 'WC_STRIPE_MIN_WC_VER', '2.5.0' );
|
| 38 |
define( 'WC_STRIPE_MAIN_FILE', __FILE__ );
|
|
@@ -472,6 +472,7 @@ if ( ! class_exists( 'WC_Stripe' ) ) :
|
|
| 472 |
|
| 473 |
// Store other data such as fees
|
| 474 |
update_post_meta( $order_id, 'Stripe Payment ID', $result->id );
|
|
|
|
| 475 |
|
| 476 |
if ( isset( $result->balance_transaction ) && isset( $result->balance_transaction->fee ) ) {
|
| 477 |
// Fees and Net needs to both come from Stripe to be accurate as the returned
|
| 5 |
* Description: Take credit card payments on your store using Stripe.
|
| 6 |
* Author: WooCommerce
|
| 7 |
* Author URI: https://woocommerce.com/
|
| 8 |
+
* Version: 3.2.0
|
| 9 |
* Text Domain: woocommerce-gateway-stripe
|
| 10 |
* Domain Path: /languages
|
| 11 |
*
|
| 32 |
/**
|
| 33 |
* Required minimums and constants
|
| 34 |
*/
|
| 35 |
+
define( 'WC_STRIPE_VERSION', '3.2.0' );
|
| 36 |
define( 'WC_STRIPE_MIN_PHP_VER', '5.6.0' );
|
| 37 |
define( 'WC_STRIPE_MIN_WC_VER', '2.5.0' );
|
| 38 |
define( 'WC_STRIPE_MAIN_FILE', __FILE__ );
|
| 472 |
|
| 473 |
// Store other data such as fees
|
| 474 |
update_post_meta( $order_id, 'Stripe Payment ID', $result->id );
|
| 475 |
+
update_post_meta( $order_id, '_transaction_id', $result->id );
|
| 476 |
|
| 477 |
if ( isset( $result->balance_transaction ) && isset( $result->balance_transaction->fee ) ) {
|
| 478 |
// Fees and Net needs to both come from Stripe to be accurate as the returned
|
