Easy Digital Downloads - Version 2.8.14

Version Description

Download this release

Release Info

Developer cklosows
Plugin Icon 128x128 Easy Digital Downloads
Version 2.8.14
Comparing to
See all releases

Code changes from version 2.8.13 to 2.8.14

easy-digital-downloads.php CHANGED
@@ -5,7 +5,7 @@
5
  * Description: The easiest way to sell digital products with WordPress.
6
  * Author: Easy Digital Downloads
7
  * Author URI: https://easydigitaldownloads.com
8
- * Version: 2.8.13
9
  * Text Domain: easy-digital-downloads
10
  * Domain Path: languages
11
  *
@@ -25,7 +25,7 @@
25
  * @package EDD
26
  * @category Core
27
  * @author Pippin Williamson
28
- * @version 2.8.13
29
  */
30
 
31
  // Exit if accessed directly.
@@ -206,7 +206,7 @@ final class Easy_Digital_Downloads {
206
 
207
  // Plugin version.
208
  if ( ! defined( 'EDD_VERSION' ) ) {
209
- define( 'EDD_VERSION', '2.8.13' );
210
  }
211
 
212
  // Plugin Folder Path.
5
  * Description: The easiest way to sell digital products with WordPress.
6
  * Author: Easy Digital Downloads
7
  * Author URI: https://easydigitaldownloads.com
8
+ * Version: 2.8.14
9
  * Text Domain: easy-digital-downloads
10
  * Domain Path: languages
11
  *
25
  * @package EDD
26
  * @category Core
27
  * @author Pippin Williamson
28
+ * @version 2.8.14
29
  */
30
 
31
  // Exit if accessed directly.
206
 
207
  // Plugin version.
208
  if ( ! defined( 'EDD_VERSION' ) ) {
209
+ define( 'EDD_VERSION', '2.8.14' );
210
  }
211
 
212
  // Plugin Folder Path.
includes/admin/add-ons.php CHANGED
@@ -24,6 +24,9 @@ function edd_add_ons_page() {
24
  $add_ons_tabs = apply_filters( 'edd_add_ons_tabs', array( 'popular' => __( 'Popular', 'easy-digital-downloads' ), 'new' => __( 'New', 'easy-digital-downloads' ), 'all' => __( 'View all Integrations', 'easy-digital-downloads' ) ) );
25
  $active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $add_ons_tabs ) ? $_GET['tab'] : 'popular';
26
 
 
 
 
27
  ob_start(); ?>
28
  <div class="wrap" id="edd-add-ons">
29
  <h1 class="wp-heading-inline"><?php echo edd_get_label_plural(); ?></h1>
@@ -33,7 +36,7 @@ function edd_add_ons_page() {
33
  <h2>
34
  <?php _e( 'Apps and Integrations for Easy Digital Downloads', 'easy-digital-downloads' ); ?>
35
  <span>
36
- &nbsp;&nbsp;<a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDD%20Addons%20Page&utm_content=All%20Extensions" class="button-primary" target="_blank"><?php _e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
37
  </span>
38
  </h2>
39
  <p><?php _e( 'These <em><strong>add functionality</strong></em> to your Easy Digital Downloads powered store.', 'easy-digital-downloads' ); ?></p>
@@ -50,7 +53,7 @@ function edd_add_ons_page() {
50
  ) );
51
 
52
  if ( 'all' === $tab_id ) {
53
- $tab_url = 'http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDDAddonsPage&utm_content=All%20Extensions';
54
  }
55
 
56
  $active = $active_tab == $tab_id ? 'current' : '';
@@ -82,7 +85,7 @@ function edd_add_ons_page() {
82
  <?php echo edd_add_ons_get_feed( $active_tab ); ?>
83
  <div class="clear"></div>
84
  <div class="edd-add-ons-footer">
85
- <a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=EDD%20Addons%20Page&utm_content=All%20Extensions" class="button-primary" target="_blank"><?php _e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
86
  </div>
87
  </div><!-- #tab_container-->
88
  </div>
24
  $add_ons_tabs = apply_filters( 'edd_add_ons_tabs', array( 'popular' => __( 'Popular', 'easy-digital-downloads' ), 'new' => __( 'New', 'easy-digital-downloads' ), 'all' => __( 'View all Integrations', 'easy-digital-downloads' ) ) );
25
  $active_tab = isset( $_GET['tab'] ) && array_key_exists( $_GET['tab'], $add_ons_tabs ) ? $_GET['tab'] : 'popular';
26
 
27
+ // Set a new campaign for tracking purposes
28
+ $campaign = isset( $_GET['view'] ) && strtolower( $_GET['view'] ) === 'integrations' ? 'EDDIntegrationsPage' : 'EDDAddonsPage';
29
+
30
  ob_start(); ?>
31
  <div class="wrap" id="edd-add-ons">
32
  <h1 class="wp-heading-inline"><?php echo edd_get_label_plural(); ?></h1>
36
  <h2>
37
  <?php _e( 'Apps and Integrations for Easy Digital Downloads', 'easy-digital-downloads' ); ?>
38
  <span>
39
+ &nbsp;&nbsp;<a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=<?php echo $campaign; ?>&utm_content=All%20Extensions" class="button-primary" target="_blank"><?php _e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
40
  </span>
41
  </h2>
42
  <p><?php _e( 'These <em><strong>add functionality</strong></em> to your Easy Digital Downloads powered store.', 'easy-digital-downloads' ); ?></p>
53
  ) );
54
 
55
  if ( 'all' === $tab_id ) {
56
+ $tab_url = 'http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=' . $campaign . '&utm_content=All%20Extensions';
57
  }
58
 
59
  $active = $active_tab == $tab_id ? 'current' : '';
85
  <?php echo edd_add_ons_get_feed( $active_tab ); ?>
86
  <div class="clear"></div>
87
  <div class="edd-add-ons-footer">
88
+ <a href="http://easydigitaldownloads.com/extensions/?utm_source=plugin-addons-page&utm_medium=plugin&utm_campaign=<?php echo $campaign; ?>&utm_content=All%20Extensions" class="button-primary" target="_blank"><?php _e( 'Browse All Integrations', 'easy-digital-downloads' ); ?></a>
89
  </div>
90
  </div><!-- #tab_container-->
91
  </div>
includes/admin/reporting/export/class-batch-export-sales.php CHANGED
@@ -182,7 +182,7 @@ class EDD_Batch_Sales_Export extends EDD_Batch_Export {
182
 
183
  public function set_properties( $request ) {
184
  $this->start = isset( $request['start'] ) ? sanitize_text_field( $request['start'] ) : '';
185
- $this->end = isset( $request['end'] ) ? sanitize_text_field( $request['end'] ) : '';
186
  $this->download_id = isset( $request['download_id'] ) ? absint( $request['download_id'] ) : 0;
187
  }
188
  }
182
 
183
  public function set_properties( $request ) {
184
  $this->start = isset( $request['start'] ) ? sanitize_text_field( $request['start'] ) : '';
185
+ $this->end = isset( $request['end'] ) ? sanitize_text_field( $request['end'] ) . ' 23:59:59' : '';
186
  $this->download_id = isset( $request['download_id'] ) ? absint( $request['download_id'] ) : 0;
187
  }
188
  }
includes/cart/class-edd-cart.php CHANGED
@@ -245,6 +245,7 @@ class EDD_Cart {
245
  $subtotal_for_tax = $subtotal;
246
 
247
  foreach ( $fees as $fee ) {
 
248
  $fee_amount = (float) $fee['amount'];
249
  $subtotal += $fee_amount;
250
 
245
  $subtotal_for_tax = $subtotal;
246
 
247
  foreach ( $fees as $fee ) {
248
+
249
  $fee_amount = (float) $fee['amount'];
250
  $subtotal += $fee_amount;
251
 
includes/class-edd-fees.php CHANGED
@@ -204,10 +204,21 @@ class EDD_Fees {
204
 
205
  if ( ! empty( $fees ) && ! empty( $download_id ) ) {
206
  // Remove fees that don't belong to the specified Download
 
207
  foreach ( $fees as $key => $fee ) {
 
208
  if ( empty( $fee['download_id'] ) || (int) $download_id !== (int) $fee['download_id'] ) {
209
  unset( $fees[ $key ] );
210
  }
 
 
 
 
 
 
 
 
 
211
  }
212
  }
213
 
204
 
205
  if ( ! empty( $fees ) && ! empty( $download_id ) ) {
206
  // Remove fees that don't belong to the specified Download
207
+ $applied_fees = array();
208
  foreach ( $fees as $key => $fee ) {
209
+
210
  if ( empty( $fee['download_id'] ) || (int) $download_id !== (int) $fee['download_id'] ) {
211
  unset( $fees[ $key ] );
212
  }
213
+
214
+ $fee_hash = md5( $fee['amount'] . $fee['label'] . $fee['type'] );
215
+
216
+ if ( in_array( $fee_hash, $applied_fees ) ) {
217
+ unset( $fees[ $key ] );
218
+ }
219
+
220
+ $applied_fees[] = $fee_hash;
221
+
222
  }
223
  }
224
 
includes/class-edd-stats.php CHANGED
@@ -136,7 +136,7 @@ class EDD_Stats {
136
  $month = date( 'n', current_time( 'timestamp' ) );
137
  $year = date( 'Y', current_time( 'timestamp' ) );
138
 
139
- if ( array_key_exists( $date, $this->get_predefined_dates() ) ) {
140
 
141
  // This is a predefined date rate, such as last_week
142
  switch( $date ) {
136
  $month = date( 'n', current_time( 'timestamp' ) );
137
  $year = date( 'Y', current_time( 'timestamp' ) );
138
 
139
+ if ( ( is_string( $date ) || is_int( $date ) ) && array_key_exists( $date, $this->get_predefined_dates() ) ) {
140
 
141
  // This is a predefined date rate, such as last_week
142
  switch( $date ) {
languages/easy-digital-downloads.pot CHANGED
@@ -2,27 +2,27 @@
2
  # This file is distributed under the same license as the Easy Digital Downloads package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Easy Digital Downloads 2.8.12\n"
6
  "Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
7
- "POT-Creation-Date: 2017-11-20 17:26:16+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: WP-Translations (http://wp-translations.org/)\n"
13
  "Language-Team: WP-Translations <wpt@wp-translations.org>\n"
 
 
 
 
14
  "Language: en_US\n"
15
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
16
  "X-Poedit-Country: United States\n"
17
  "X-Poedit-SourceCharset: UTF-8\n"
18
- "X-Poedit-KeywordsList: "
19
- "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
20
- "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
21
  "X-Poedit-Basepath: ../\n"
22
  "X-Poedit-SearchPath-0: .\n"
23
  "X-Poedit-Bookmarks: \n"
24
  "X-Textdomain-Support: yes\n"
25
- "X-Generator: grunt-wp-i18n1.0.0\n"
26
 
27
  #: easy-digital-downloads.php:183 easy-digital-downloads.php:195
28
  msgid "Cheatin&#8217; huh?"
@@ -89,7 +89,7 @@ msgstr ""
89
  #: includes/admin/upgrades/upgrade-functions.php:1098
90
  #: includes/api/class-edd-api.php:1990 includes/api/class-edd-api.php:1995
91
  #: includes/api/class-edd-api.php:2007 includes/api/class-edd-api.php:2009
92
- #: includes/cart/class-edd-cart.php:1469 includes/cart/class-edd-cart.php:1483
93
  #: includes/class-edd-license-handler.php:307
94
  #: includes/deprecated-functions.php:517 includes/deprecated-functions.php:532
95
  #: includes/deprecated-functions.php:542 includes/download-functions.php:1248
@@ -114,21 +114,21 @@ msgstr ""
114
  msgid "View all Integrations"
115
  msgstr ""
116
 
117
- #: includes/admin/add-ons.php:34
118
  msgid "Apps and Integrations for Easy Digital Downloads"
119
  msgstr ""
120
 
121
- #: includes/admin/add-ons.php:36 includes/admin/add-ons.php:85
122
  msgid "Browse All Integrations"
123
  msgstr ""
124
 
125
- #: includes/admin/add-ons.php:39
126
  msgid ""
127
  "These <em><strong>add functionality</strong></em> to your Easy Digital "
128
  "Downloads powered store."
129
  msgstr ""
130
 
131
- #: includes/admin/add-ons.php:119
132
  msgid ""
133
  "There was an error retrieving the extensions list from the server. Please "
134
  "try again later."
@@ -4947,32 +4947,32 @@ msgstr ""
4947
  msgid "You do not have permission to %s API keys for this user"
4948
  msgstr ""
4949
 
4950
- #: includes/cart/class-edd-cart.php:910
4951
  msgid "includes %s tax"
4952
  msgstr ""
4953
 
4954
- #: includes/cart/class-edd-cart.php:912
4955
  msgid "excludes %s tax"
4956
  msgstr ""
4957
 
4958
- #: includes/cart/class-edd-cart.php:1432 includes/cart/class-edd-cart.php:1495
4959
  #: templates/shortcode-profile-editor.php:22
4960
  msgid "Success"
4961
  msgstr ""
4962
 
4963
- #: includes/cart/class-edd-cart.php:1433
4964
  msgid "Cart saved successfully. You can restore your cart using this URL:"
4965
  msgstr ""
4966
 
4967
- #: includes/cart/class-edd-cart.php:1469 includes/cart/class-edd-cart.php:1483
4968
  msgid "Cart restoration failed. Invalid token."
4969
  msgstr ""
4970
 
4971
- #: includes/cart/class-edd-cart.php:1477 includes/cart/class-edd-cart.php:1486
4972
  msgid "The cart cannot be restored. Invalid token."
4973
  msgstr ""
4974
 
4975
- #: includes/cart/class-edd-cart.php:1495
4976
  msgid "Cart restored successfully."
4977
  msgstr ""
4978
 
2
  # This file is distributed under the same license as the Easy Digital Downloads package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Easy Digital Downloads 2.8.14\n"
6
  "Report-Msgid-Bugs-To: https://easydigitaldownloads.com/\n"
7
+ "POT-Creation-Date: 2017-11-28 22:01:52+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=utf-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
  "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: WP-Translations (http://wp-translations.org/)\n"
13
  "Language-Team: WP-Translations <wpt@wp-translations.org>\n"
14
+ "X-Generator: grunt-wp-i18n 0.5.4\n"
15
+ "X-Poedit-KeywordsList: "
16
+ "__;_e;_x:1,2c;_ex:1,2c;_n:1,2;_nx:1,2,4c;_n_noop:1,2;_nx_noop:1,2,3c;esc_"
17
+ "attr__;esc_html__;esc_attr_e;esc_html_e;esc_attr_x:1,2c;esc_html_x:1,2c;\n"
18
  "Language: en_US\n"
19
  "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20
  "X-Poedit-Country: United States\n"
21
  "X-Poedit-SourceCharset: UTF-8\n"
 
 
 
22
  "X-Poedit-Basepath: ../\n"
23
  "X-Poedit-SearchPath-0: .\n"
24
  "X-Poedit-Bookmarks: \n"
25
  "X-Textdomain-Support: yes\n"
 
26
 
27
  #: easy-digital-downloads.php:183 easy-digital-downloads.php:195
28
  msgid "Cheatin&#8217; huh?"
89
  #: includes/admin/upgrades/upgrade-functions.php:1098
90
  #: includes/api/class-edd-api.php:1990 includes/api/class-edd-api.php:1995
91
  #: includes/api/class-edd-api.php:2007 includes/api/class-edd-api.php:2009
92
+ #: includes/cart/class-edd-cart.php:1470 includes/cart/class-edd-cart.php:1484
93
  #: includes/class-edd-license-handler.php:307
94
  #: includes/deprecated-functions.php:517 includes/deprecated-functions.php:532
95
  #: includes/deprecated-functions.php:542 includes/download-functions.php:1248
114
  msgid "View all Integrations"
115
  msgstr ""
116
 
117
+ #: includes/admin/add-ons.php:37
118
  msgid "Apps and Integrations for Easy Digital Downloads"
119
  msgstr ""
120
 
121
+ #: includes/admin/add-ons.php:39 includes/admin/add-ons.php:88
122
  msgid "Browse All Integrations"
123
  msgstr ""
124
 
125
+ #: includes/admin/add-ons.php:42
126
  msgid ""
127
  "These <em><strong>add functionality</strong></em> to your Easy Digital "
128
  "Downloads powered store."
129
  msgstr ""
130
 
131
+ #: includes/admin/add-ons.php:122
132
  msgid ""
133
  "There was an error retrieving the extensions list from the server. Please "
134
  "try again later."
4947
  msgid "You do not have permission to %s API keys for this user"
4948
  msgstr ""
4949
 
4950
+ #: includes/cart/class-edd-cart.php:911
4951
  msgid "includes %s tax"
4952
  msgstr ""
4953
 
4954
+ #: includes/cart/class-edd-cart.php:913
4955
  msgid "excludes %s tax"
4956
  msgstr ""
4957
 
4958
+ #: includes/cart/class-edd-cart.php:1433 includes/cart/class-edd-cart.php:1496
4959
  #: templates/shortcode-profile-editor.php:22
4960
  msgid "Success"
4961
  msgstr ""
4962
 
4963
+ #: includes/cart/class-edd-cart.php:1434
4964
  msgid "Cart saved successfully. You can restore your cart using this URL:"
4965
  msgstr ""
4966
 
4967
+ #: includes/cart/class-edd-cart.php:1470 includes/cart/class-edd-cart.php:1484
4968
  msgid "Cart restoration failed. Invalid token."
4969
  msgstr ""
4970
 
4971
+ #: includes/cart/class-edd-cart.php:1478 includes/cart/class-edd-cart.php:1487
4972
  msgid "The cart cannot be restored. Invalid token."
4973
  msgstr ""
4974
 
4975
+ #: includes/cart/class-edd-cart.php:1496
4976
  msgid "Cart restored successfully."
4977
  msgstr ""
4978
 
readme.txt CHANGED
@@ -6,7 +6,7 @@ Donate link: https://easydigitaldownloads.com/donate/
6
  Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce, ecommerce, ebook
7
  Requires at least: 4.4
8
  Tested up to: 4.9
9
- Stable Tag: 2.8.13
10
  License: GNU Version 2 or Any Later Version
11
 
12
  The easiest way to sell digital products with WordPress.
@@ -42,14 +42,10 @@ Payment gateways supported through free or premium extension:
42
  * Braintree
43
  * Authorize.net
44
  * 2Checkout
45
- * Recurly
46
  * SOFORT Banking
47
- * NETbilling
48
  * BitPay
49
  * Coinbase
50
- * Moneybookers / Skrill
51
  * Payza
52
- * PagSeguro
53
 
54
  See our [gateways category](https://easydigitaldownloads.com/downloads/category/gateways/?utm_source=extensions&utm_medium=description_tab&utm_content=gateways&utm_campaign=readme) in the extensions catalogue for a complete list of supported gateways. There are also a large number of additional gateways developed and supported by [3rd party developers](https://easydigitaldownloads.com/3rd-party-extensions/#gateways).
55
 
@@ -160,7 +156,6 @@ Yes. Easy Digital Downloads also includes default support for Amazon Payments an
160
  * [Check](https://easydigitaldownloads.com/downloads/check-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=check-payment-gateway&utm_campaign=readme)
161
  * [Braintree](https://easydigitaldownloads.com/downloads/braintree-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=braintree-gateway&utm_campaign=readme)
162
  * [PayPal Payments Advanced](https://easydigitaldownloads.com/downloads/paypal-payments-advanced/?utm_source=gateway&utm_medium=faq_tab&utm_content=paypal-payments-advanced&utm_campaign=readme)
163
- * [PagSeguro](https://easydigitaldownloads.com/downloads/pagseguro-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=pagseguro-payment-gateway&utm_campaign=readme)
164
  * [ClickBank](https://easydigitaldownloads.com/downloads/edd-clickbank-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=clickbank&utm_campaign=readme)
165
  * [Wallet](https://easydigitaldownloads.com/downloads/wallet/?utm_source=gateway&utm_medium=faq_tab&utm_content=wallet&utm_campaign=readme)
166
  * [BitPay](https://easydigitaldownloads.com/downloads/bitpay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=bitpay-payment-gateway&utm_campaign=readme)
@@ -168,30 +163,14 @@ Yes. Easy Digital Downloads also includes default support for Amazon Payments an
168
  * [SOFORT Banking](https://easydigitaldownloads.com/downloads/sofort-banking-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=sofort-banking-gateway&utm_campaign=readme)
169
  * [PayU India](https://easydigitaldownloads.com/downloads/payu-india-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payu-india-payment-gateway&utm_campaign=readme)
170
  * [Payza](https://easydigitaldownloads.com/downloads/payza-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payza-payment-gateway&utm_campaign=readme)
171
- * [First Data](https://easydigitaldownloads.com/downloads/first-data-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=first-data-payment-gateway&utm_campaign=readme)
172
  * [PayPlug](https://easydigitaldownloads.com/downloads/payplug-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payplug-gateway&utm_campaign=readme)
173
  * [GoCardless](https://easydigitaldownloads.com/downloads/gocardless-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=gocardless-payment-gateway&utm_campaign=readme)
174
- * [Dwolla](https://easydigitaldownloads.com/downloads/dwolla/?utm_source=gateway&utm_medium=faq_tab&utm_content=dwolla&utm_campaign=readme)
175
  * [Zombaio](https://easydigitaldownloads.com/downloads/zombaio-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=zombaio-payment-gateway&utm_campaign=readme)
176
- * [Recurly](https://easydigitaldownloads.com/downloads/recurly-com-checkout/?utm_source=gateway&utm_medium=faq_tab&utm_content=recurly-com-checkout&utm_campaign=readme)
177
  * [Realex](https://easydigitaldownloads.com/downloads/realex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=realex-gateway&utm_campaign=readme)
178
  * [CyberSource](https://easydigitaldownloads.com/downloads/cybersource-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=cybersource-gateway&utm_campaign=readme)
179
- * [NETbilling](https://easydigitaldownloads.com/downloads/netbilling-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=netbilling-gateway&utm_campaign=readme)
180
  * [Paylane](https://easydigitaldownloads.com/downloads/paylane-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=paylane-payment-gateway&utm_campaign=readme)
181
  * [ePay](https://easydigitaldownloads.com/downloads/epay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=epay-payment-gateway&utm_campaign=readme)
182
  * [Netbanx](https://easydigitaldownloads.com/downloads/netbanx-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=netbanx-payment-gateway&utm_campaign=readme)
183
- * [NoChex](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
184
- * [Network Merchants](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
185
- * [Direct One](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
186
- * [Moneris Solutions](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
187
- * [My Virtual Merchant](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
188
- * [NAB](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
189
- * [eWay](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
190
- * [Beanstream](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
191
- * [Quickbooks](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
192
- * [PayFast](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
193
- * [WorldPay](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
194
- * [Payment Express](https://easydigitaldownloads.com/3rd-party-extensions/?utm_source=gateway&utm_medium=faq_tab&utm_content=nochex-gateway&utm_campaign=readme#gateways)
195
  * [Realex](https://easydigitaldownloads.com/downloads/realex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=realex-gateway&utm_campaign=readme)
196
  * [PayTrace](https://easydigitaldownloads.com/downloads/paytrace/?utm_source=gateway&utm_medium=faq_tab&utm_content=paytrace&utm_campaign=readme)
197
  * [iPay88](https://easydigitaldownloads.com/downloads/ipay88-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=ipay88-gateway&utm_campaign=readme)
@@ -211,6 +190,12 @@ Yes. Easy Digital Downloads also includes default support for Amazon Payments an
211
 
212
  == Changelog ==
213
 
 
 
 
 
 
 
214
  = 2.8.13, November 20, 2017 =
215
  * Fix: Cart details incorrectly reported item quantity as 0 in some cases.
216
  * Fix: Prevent an edge case around adding past purchases to new users.
6
  Tags: download, downloads, e-store, eshop, digital downloads, e-commerce, wp-ecommerce, wp ecommerce, ecommerce, ebook
7
  Requires at least: 4.4
8
  Tested up to: 4.9
9
+ Stable Tag: 2.8.14
10
  License: GNU Version 2 or Any Later Version
11
 
12
  The easiest way to sell digital products with WordPress.
42
  * Braintree
43
  * Authorize.net
44
  * 2Checkout
 
45
  * SOFORT Banking
 
46
  * BitPay
47
  * Coinbase
 
48
  * Payza
 
49
 
50
  See our [gateways category](https://easydigitaldownloads.com/downloads/category/gateways/?utm_source=extensions&utm_medium=description_tab&utm_content=gateways&utm_campaign=readme) in the extensions catalogue for a complete list of supported gateways. There are also a large number of additional gateways developed and supported by [3rd party developers](https://easydigitaldownloads.com/3rd-party-extensions/#gateways).
51
 
156
  * [Check](https://easydigitaldownloads.com/downloads/check-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=check-payment-gateway&utm_campaign=readme)
157
  * [Braintree](https://easydigitaldownloads.com/downloads/braintree-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=braintree-gateway&utm_campaign=readme)
158
  * [PayPal Payments Advanced](https://easydigitaldownloads.com/downloads/paypal-payments-advanced/?utm_source=gateway&utm_medium=faq_tab&utm_content=paypal-payments-advanced&utm_campaign=readme)
 
159
  * [ClickBank](https://easydigitaldownloads.com/downloads/edd-clickbank-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=clickbank&utm_campaign=readme)
160
  * [Wallet](https://easydigitaldownloads.com/downloads/wallet/?utm_source=gateway&utm_medium=faq_tab&utm_content=wallet&utm_campaign=readme)
161
  * [BitPay](https://easydigitaldownloads.com/downloads/bitpay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=bitpay-payment-gateway&utm_campaign=readme)
163
  * [SOFORT Banking](https://easydigitaldownloads.com/downloads/sofort-banking-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=sofort-banking-gateway&utm_campaign=readme)
164
  * [PayU India](https://easydigitaldownloads.com/downloads/payu-india-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payu-india-payment-gateway&utm_campaign=readme)
165
  * [Payza](https://easydigitaldownloads.com/downloads/payza-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payza-payment-gateway&utm_campaign=readme)
 
166
  * [PayPlug](https://easydigitaldownloads.com/downloads/payplug-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=payplug-gateway&utm_campaign=readme)
167
  * [GoCardless](https://easydigitaldownloads.com/downloads/gocardless-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=gocardless-payment-gateway&utm_campaign=readme)
 
168
  * [Zombaio](https://easydigitaldownloads.com/downloads/zombaio-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=zombaio-payment-gateway&utm_campaign=readme)
 
169
  * [Realex](https://easydigitaldownloads.com/downloads/realex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=realex-gateway&utm_campaign=readme)
170
  * [CyberSource](https://easydigitaldownloads.com/downloads/cybersource-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=cybersource-gateway&utm_campaign=readme)
 
171
  * [Paylane](https://easydigitaldownloads.com/downloads/paylane-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=paylane-payment-gateway&utm_campaign=readme)
172
  * [ePay](https://easydigitaldownloads.com/downloads/epay-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=epay-payment-gateway&utm_campaign=readme)
173
  * [Netbanx](https://easydigitaldownloads.com/downloads/netbanx-payment-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=netbanx-payment-gateway&utm_campaign=readme)
 
 
 
 
 
 
 
 
 
 
 
 
174
  * [Realex](https://easydigitaldownloads.com/downloads/realex-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=realex-gateway&utm_campaign=readme)
175
  * [PayTrace](https://easydigitaldownloads.com/downloads/paytrace/?utm_source=gateway&utm_medium=faq_tab&utm_content=paytrace&utm_campaign=readme)
176
  * [iPay88](https://easydigitaldownloads.com/downloads/ipay88-gateway/?utm_source=gateway&utm_medium=faq_tab&utm_content=ipay88-gateway&utm_campaign=readme)
190
 
191
  == Changelog ==
192
 
193
+ = 2.8.14, November 28, 2017 =
194
+ * Fix: Sales exports did not always include all payments from the last day of the range selected.
195
+ * Fix: Negative item fees can apply to same item multiple times if it's the same product.
196
+ * Fix: Campaign strings on Integrations were not consistent.
197
+ * Fix: Warning when converting dates to timestamps in EDD_Stats::convert_date()
198
+
199
  = 2.8.13, November 20, 2017 =
200
  * Fix: Cart details incorrectly reported item quantity as 0 in some cases.
201
  * Fix: Prevent an edge case around adding past purchases to new users.