Plugin Directory

Easy Digital Downloads

Sell digital downloads through WordPress with this complete digital downloads management plugin

2.3.5, March 24, 2015

  • Fix: Make home_url consistently unslashed in token generation
  • Fix: Better checks in edd_get_payment_tax()
  • Tweak: Allow clearing of edd_doing_upgrade

2.3.4, March 20, 2015

  • Fix: Cannot add new tax rates
  • Fix: Airplane mode plugin v0.1.1 causes fatal error
  • Fix: Completed payments can sometimes be marked as abandoned improperly
  • Fix: Cart widget items not fully removed when clicking Remove
  • Fix: Incorrect price assignment for files when creating new Download products

2.3.3, March 18, 2015

  • Fix: Minor SQL injection issue in the Customers DB class
  • Fix: All purchase buttons for a product displayed on a page change to Checkout incorrectly when one is clicked
  • Fix: Customer dropdown on View Order Details improperly shows first customer in the list when no customer is attached
  • Fix: Mixed-content notice on the checkout page for sites with SSL
  • Fix: Incorrect price ID gets added to the cart when multiple purchase buttons are placed on the same page with the price_id parameter
  • Fix: Removed Yugoslavia from the country list since it is not a country anymore
  • Fix: Quantity field not shown on purchase buttons with the [purchase_link] short code
  • Tweak: Automatically disable buy now buttons when taxes are enabled since they do not support taxes
  • Tweak: Automatically disable the edd_test_ajax_works() test if the Airplane Mode plugin is enabled
  • Tweak: Updated translation files for many languages

2.3.2, March 14, 2015

  • Fix: Slow performance in admin area due to edd_test_ajax_works() function

2.3.1, March 13, 2015

  • Fix: File download limits not limiting the number of downloads allowed per payment
  • Fix: Microdata improperly added to page titles and content
  • Fix: Customer records cannot be deleted
  • Fix: Upgrade notices shown unnecessarily on new installs

2.3, March 11, 2015

  • New: Improved customer management interface
  • New: Added support for adding multiple prices IDs to the cart with a single add to cart command
  • New: Introduced edd_update_option() and edd_delete_option() functions
  • New: Payments that remain pending in PayPal will now record a reason in the Payment Notes section
  • New: Adding / removing Download products from payment records now properly updates sale and earnings stats
  • New: Introduced signed URLs for more secure file download links
  • New: Introduced {ip_address} email template tag
  • New: Introduced EDD_Customer class for interacting with customer records
  • New: Introduced WP CLI command to create sample customers
  • New: Introduced edd_purchase_form_user_info_fields hook
  • New: Introduced edd_purchase_form_user_register_fields hook
  • New: Introduced edd_download_after_thumbnail hook
  • New: Introduced edd_download_after_title hook
  • New: Introduced edd_download_after_content hook
  • New: Introduced edd_download_after_price hook
  • New: Introduced edd_before_purchase_history hook
  • New: Introduced edd_after_purchase_history hook
  • New: Introduced edd_email_show_links filter
  • New: Updated translation files for numerous languages
  • New: Introduced EDD_Notices class for handling admin notices
  • Tweak: Buy Now buttons should revert to Add to Cart if no compatible gateway is activated
  • Tweak: Improved PHPDoc for many existing functions and classes
  • Tweak: First input field in repeatable files / prices fields receive input focus when adding a new row
  • Tweak: Added line breaks to edd.css file in favor of single-line rules
  • Tweak: Improved performance of edd_get_users_purchases() by querying the customer table directly
  • Tweak: Dashboard sales / earnings widget is now loaded via Ajax to improve performance
  • Tweak: PayPal payments made through Buy Now buttons do not show up
  • Tweak: Removed the "You must have at least one file" alert when deleting file rows
  • Tweak: Improved text alignment in repeatable file / price rows
  • Tweak: Updated HTTP Protocal version in PayPal Standard gateway
  • Tweak: Improved support for Polylang plugin
  • Tweak: Improved standards throughout EDD for usage of edd_get_option()
  • Tweak: Added option to prevent empty settings in the rich_editor callback function
  • Tweak: Removed dependency on base64_encode/decode functions
  • Tweak: Notice now displayed NGINX users to alert them of missing protection for file downloads
  • Tweak: Improved quantity / price display for items in the cart widget
  • Tweak: Bundles should not be included in the product search when adding items to a bundle
  • Tweak: Improved earnings / sales stats tracking for products to avoid race conditions
  • Tweak: Improved performance for edd_get_sales_tax_for_year()
  • Fix: Yesterday view for reports and REST API fails when on the first day of the month
  • Fix: EDD_Download class missing default properties from WP_Post
  • Fix: Removed unused function calls in PDF reports and upgrade functions
  • Fix: Deprecated edd_get_cart_subtotal() function called with too many arguments
  • Fix: edd_get_cart_item_price() function called with too many arguments
  • Fix: edd_remove_item_url() function called with too many arguments
  • Fix: Improper start_date declaration in CLI class
  • Fix: Missing variable declaration in EDD_SL_Plugin_Updater class
  • Fix: Undefined variable $download in CLI clas
  • Fix: Rounding error when prices are inclusive of tax
  • Fix: Sale / Earnings stats improperly adjusted when Test Mode is enabled
  • Fix: Discount codes are validated improperly when the product requirements are not meant
  • Fix: CVC field allows more than 4 digits
  • Fix: In-browser receipt page is a mess on Twenty Fifteeen theme
  • Fix: exclude_categories and exclude_tags parameters not working properly in [downloads] short code
  • Fix: Cross-domain download files get corrupted on NGINX servers
  • Fix: Instantiating EDD_Payment_Stats without a date triggers an error
  • Fix: File size not displayed when download files
  • Fix: Undefined index notice in REST API
  • Fix: Missing Download ID check in the Sales Log table
  • Fix: Update successful messages are wrong when using bulk edit
  • Fix: Cart widget items do not show the proper quantity
  • Fix: Upgrade routine notices overwrite each other improperly
  • Fix: Not all schema metadata removed when schema is disabled
  • Fix: Incorrect schema markup
  • Fix: Taxes on checkout do not display the taxed amount of fees

2.2.8, February 13, 2015

  • Fix: Permissions error when accessing upgrades screen with DISALLOW_FILE_EDITS defined
  • Fix: Shop Accountants are unable to resend purchase receipts
  • Fix: PHP warnings on checkout when purchasing an "item" fee
  • Fix: Improper application of discount codes that do not have their product requirements meant
  • Fix: Buy Now buttons for free products result in error at PayPal.com
  • New: Translation file for Argentina Spanish
  • Tweak: Updated translation files for most languages

2.2.7, January 30, 2015

  • Fix: Prevent payment records with missing meta data from haulting the upgrade routine introduced in v2.2.6

2.2.6, January 29, 2015

  • Note: This release will ask you to perform an upgrade process on the payments database. It should take approximately 1.5 minutes for every 1000 payment records
  • Bug: Price ID improperly logged in the database, making customer export by price option impossible
  • Bug: WP_CONTENT_URL does necessarily respect HTTPS URLs causing some file downloads to fail

2.2.5, January 27, 2015

  • Bug: FORCE_SSL_LOGIN incorrectly makes checkout link HTTPS
  • Bug: Reports for 'This Month' forced to current year
  • Bug: Reverted CSV Seperator to , and escaped values
  • Bug: No downloads showing when using category parameter

2.2.4, January 24, 2015

  • New: Introduced edd_global_checkout_script_vars and edd_ajax_script_vars filters for localized javascript variables
  • Bug: Strict PHP Standards notice in EDD_Gateway_Error_Log class
  • Bug: Category parameter behaves incorrectly for the [downloads] short code
  • Bug: Select a Download placeholder on add discount screen saves improperly
  • Bug: EDD_Session leaks across sites in multisite installs
  • Bug: Incorrect spelling of Indian state names
  • Bug: Duplicate array key in country list

2.2.3, January 14, 2015

  • New: Added more hooks to the profile editor template files
  • New: Added more country state/provinces to the country dropdown field
  • New: Added a JSHint file for WP Coding Standards
  • Tweak: Use get_posts() instead of query_posts() in edd_get_*_by() functions
  • Tweak: Improved flexibility for EDD()->html->year_dropdown() to support larger year spans
  • Tweak: Added NZD currency symbol
  • Tweak: Improved support for Polylang plugin via edd_get_option() standardization
  • Tweak: Improved unit testing suite
  • Tweak: Updated numerous translation files
  • Bug: GMT date / time not properly set in date is specified when creating a payment record
  • Bug: Items purchased with quantities show incorrectly in sales log table
  • Bug: [downloads] pagination not working with default permalinks
  • Bug: AND relation acting as an OR relation in [downloads] short code
  • Bug: Cart widget items incorrect with variable prices
  • Bug: Custom date range reports do not work when crossing year boundaries
  • Bug: Yesterday report fails on January 1
  • Bug: Missing license declaration from Credit Card validation library
  • Bug: loading.gif file does not respect HTTPS
  • Bug: Copy Download Link(s) link displayed on non-complete purchases
  • Bug: Nested FORM tags on checkout after taxes are recalculated
  • Bug: get_the_ID() causing non-object error
  • Bug: Discount codes not applied if Apply button is not clicked
  • Bug: Default price ID cannot be selected on products created before version 2.2
  • Bug: edd_get_current_page_url() returns localhost in HHVM
  • Bug: Conflict with 404 Redirected plugin resulting in receipts not being displayed
  • Bug: Add to Cart button reappears on refresh with variable prices
  • Bug: Profile editor not properly validation user email address on save

2.2.2, December 14, 2014

  • Fix: Extension updates running on every page load of plugins.php when using multisite
  • Fix: edd_test_ajax_works() request firing on every page load
  • Fix: Incorrect price ID added to the cart when two purchase buttons are on the same page
  • Fix: Fatal error when using price_id in the purchase_link short code
  • Fix: Shopping cart squished in the Twenty Fifteen theme
  • Fix: Removed unused variables in edd_get_register_fields()
  • Fix: Incorrect quantity field displayed when a variable priced item with multi-purchase mode enabled is in the vart
  • Fix: Invalid HTML markup due to a missing space before a style tag
  • Fix: Improper behavior when deleting the last tax rate

2.2.1, December 10, 2014

  • Fix: Fatal error with some sites in the admin area due to an "ajax works" test
  • Fix: Improper user capability check for shop upgrades
  • Fix: Non-object errors on the in-browser receipt when an invalid payment key is provided
  • Fix: Security flaw related to API key verification
  • Fix: Undefined index for download quantity during add to cart
  • Tweak: Better option description in settings for item quantities

2.2, December 9, 2014

  • New: Transaction IDs can now be linked to the transaction details page in the payment processor (per gateway)
  • New: Added a WP CLI command for generating test purchase data
  • New: "price_id" parameter introduced for [purchase_link] short code to allow purchasing a single price option
  • New: Added support for variable prices to the [edd_price] short code
  • New: EDD_Download class to make interacting with Download products easier for theme and extension developers
  • New: edd_cart_item_tax_description filter
  • New: Purchase buttons can now display a quantity field
  • New: EDD_Fees API now supports per-product fees
  • Tweak: Improved the Tax settings tab
  • Tweak: Improved Scrutinizer configs
  • Tweak: Set the default number in [downloads] to 9
  • Tweak: Added network-activated plugins to the System Info
  • Tweak: Updated payment notes to use new type__not_in parameter available for comments
  • Tweak: Removed some calls to deprecated functions for PHP 5.4
  • Tweak: Improved the UI of the Product Drop Down
  • Tweak: Added a check for Flywheel hosting accounts
  • Tweak: Added "Ajax Works" status to the System Info
  • Tweak: Changed the insert text for "Insert into post" button
  • Tweak: Improved the layout of the View Order Details screen
  • Tweak: Only update dashboard summaries when the value has changed
  • Tweak: Added proper HTTP error codes to all instances of wp_die()
  • Tweak: Improved status and error reporting for extension license keys
  • Fix: Expiration dates on discount codes don't save properly if crossing year boundaries
  • Fix: Inaccurate total with flat rate discounts
  • Fix: Resending purchase receipts for bundles does not properly increment File Download limit
  • Fix: "All Downloads" filter enables all downloads even when vendor does not have permission to view them
  • Fix: edd_settings_sanitize does not respect all field type specific filters such as edd_settings_sanitize_$type
  • Fix: Payments show incorrect currency if the shop currency is changed after the purchase is made
  • Fix: Posts pagination breaks on front page if using a static home page
  • Fix: Item amounts in View Order Details not always respecting currency seperator
  • Fix: No default price option if the original price option is deleted
  • Fix: Tax column in the CSV export does not respect decimal formatting options
  • Fix: ".htaccess missing" error message shown to all users, not just admins
  • Fix: Item quantity boxes squashed on checkout with the Twenty Fourteen theme
  • Fix: Incorrect price option selected when price option is free
  • Fix: Downloads admin menu label blank when using Arabic
  • Fix: Flat rate discounts can cause item amounts to be negative
  • Fix: Link to mobile app in Payment History incorrect
  • Fix: Recalculation amounts in View Order Details can generate incorrect results
  • Fix: PHP notices from CREATE SQL passed to dbDelta()
  • Fix: Impropoer cart amounts when attempting to set a cart discount programmattically that does not exist
  • Fix: .zip files being downloaded without .zip extension due to file-download attribute
  • Fix: .card-type class not updated during .change() event

2.1.10, December 4, 2014

  • Fix: An important security flaw with discount codes

2.1.9, October 29, 2014

  • Fix: Extension update checks were running on every page load, causing significant performance problems

2.1.8, October 28, 2014

  • Fix: Incorrect item amounts displayed on the purchase confirmation page when prices are inclusive of tax
  • Fix: Discount Invalid error message getting erroneously displayed on checkout when using a preset discount code
  • Fix: Invalid CSS comment in minified admin CSS
  • Tweak: Updated language files

2.1.7, October 20, 2014

  • Fix: Incorrect currency code comparison in PayPal Standard

2.1.6, October 20, 2014

  • Fix: Do not allow item prices to go negative when using flat rate discounts
  • Fix: Pagination doesn't work on /edd-api/customers
  • Fix: Do not overwrite existing price IDs when adding, rearranging, and then re-adding price options
  • Fix: Compare PayPal currency to the currency in payment meta, not the overall store currency
  • Tweak: Improve the display of Download Notes on purchase receipts
  • Tweak: Add Today to the default response for /edd-api/stats
  • Tweak: Improve checkout CSS to allow some generic HTML elements

2.1.5, October 8, 2014

  • Fix: Flat rate discounts can result in negative amounts in PayPal, causing the purchase to be rejected
  • Fix: Cart items that are tax exclusive still display the tax rate
  • Fix: console.log() left erroneously in Heartbeat API integration
  • Fix: microdata tag was missing from the shortcode-content-price.php template
  • Fix: Plugin text domain loaded too early, needed to be done on plugins_loaded
  • Fix: Cart fees incorrectly attached to all cart items
  • Fix: edd_settings_sanitize filter returning incorrect value
  • Fix: HTML encoding issue with email subjects
  • Fix: Subtotal should be amount before discounts, not after
  • Fix: Incorrect item amount on the Sales log tag
  • Fix: Item quantities not displayed on email purchase receipts
  • Tweak: Introduced edd_email_tag_bundled_products filter
  • Tweak: Pass the payment ID to the edd_get_price_option_name function() calls
  • Tweak: Add the price ID to the edd_get_price_option_name filter
  • Tweak: Added the transaction ID to the sales endpoint for the REST API
  • Tweak: Display the Price ID on each row of variable prices
  • Tweak: Verify payment update was successful during edd_update_payment_details

2.1.4, September 22, 2014

  • Fix: New sale notification emails not sending for some users
  • Fix: direct="true" not working in the [purchase_link] short code
  • Fix: User meta for saved carts not properly cleaned out after a cart is restored
  • Fix: SQL errors related to WP Session garbage collection
  • Fix: API Request logs table showing log entries from other log types
  • Fix: Invalid payment meta data related to special characters in PayPal customer info

2.1.3, September 15, 2014

  • Fix: edd_has_user_purchased() returning true improperly
  • Fix: Pre-set discount URL parameter not working reliably
  • Fix: Duplicate checkout buttons showing up
  • Fix: First price option not checked by default
  • Fix: edd_record_sale_in_log() not respecting purchase date for imported sales
  • Fix: Undefined index notice in the cart widget
  • Fix: No file name displayed in download history when one isn't set
  • Fix: Corrected some strict SQL standards with the customer table creation SQL
  • Fix: Restored the .hentry class
  • Tweak: Modified the CSV Payments export to allow easier data manipulation

2.1.2, September 4, 2014

  • Fix: Tax calculation for items with quantities greater than 1
  • Fix: Incorrect amount at PayPal

2.1.1, September 4, 2014

  • Fix: Full image URL in Logo upload field in email settings not displaying
  • Fix: Fatal error with PHP Sessions for hosts with safe_mode enabled
  • Fix: Incorrect item price on checkout when taxes are enabled
  • Fix: Incorrect subtotal displayed on purchase receipt when taxes are enabled
  • Fix: Customer records not getting created due to SQL syntax error
  • Fix: Apostrophes in site name not being decoded in emails
  • Fix: card_state class not kept on select when when switching countries on checkout

2.1, September 3, 2014

  • New: Redesigned email templates powered by the new EDD_Emails class
  • New: Customers API and database layer that dramatically improves performance of customer-related queries
  • New: Improved customer reports table that includes column filtering
  • New: Improved transaction ID tracking and display
  • New: Added support for WP CLI
  • New: Drag-and-drop ordering for variable prices
  • New: Admin sale notifications are now sent with same HTML template as purchase receipts
  • New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
  • New: edd_update_payment_meta() function for easily adding and updating meta values for payment records
  • New: Hooks introduced at the bottom and top of the Discount edit screen
  • New: Added an option to hide the cart widget when on the checkout page
  • New: Introduced a function to detect if a download product is free, edd_is_free_download()
  • New: Introduced edd_get_payment_transaction_id() and edd_set_payment_transaction_id()
  • New: Introduced edd_user_can_view_receipt_item filter

  • Tweak: [downloads] short code now accepts slugs or term IDs for category and tag attributes

  • Tweak: Estimated earnings are more accurate
  • Tweak: Custom date ranges for report graphs now include a day option
  • Tweak: Added EDD-specific classes to the body tag when appropriate
  • Tweak: Improved responsiveness of the View Order Details screen
  • Tweak: Added "download" attribute to file download links
  • Tweak: Parameters for edd_get_download_file_url() now passed through urlencode()
  • Tweak: Product excerpts now available in the JSON/XML API
  • Tweak: Improved display of the payment method icons in settings
  • Tweak: Removed all instances of the extract() function
  • Tweak: PHP sessions now automatically enabled when the hosting account supports it
  • Tweak: Added Download post type to the At a Glance widget
  • Tweak: Improved SSL URL filtering of assets and non-checkout pages
  • Tweak: Replaced padlock icon on checkout with icon font
  • Tweak: Added currency settings to the System Info
  • Tweak: Prevent W3 Total Cache from caching discount codes
  • Tweak: Added caching to the get_user() method in the EDD_API
  • Tweak: Added a "size" parameter to the edd_rich_editor_callback() function

  • Fix: Sales column linked incorrectly to the File Downloads log

  • Fix: "yesterday" date range failed for EDD_Stats when the current day was the first day of the month
  • Fix: The shop_manager role could not export reports
  • Fix: Non-item fees were incorrectly allowed to be in the cart when the cart was empty
  • Fix: Errors when default CSV columns removed
  • Fix: Undefined index in process-download.php
  • Fix: Undefined index when updating a payment record with no last name
  • Fix: Fatal error on some hosts that disallow set_time_limit()
  • Fix: Incorrect label in Discount edit screen for flat rate discounts
  • Fix: Conflict with WooCommerce's SSL option when Enforce SSL on Checkout is enabled
  • Fix: Incorrect postal code validation for Argentina
  • Fix: Incorrect postal code validation for Canada
  • Fix: Discount code not properly set in cart when passed in a URL
  • Fix: Incorrect tax amounts when a discount code is used and item quantity is greater than 1
  • Fix: Incorrect tax amount on fees when prices are inclusive of tax
  • Fix: Incorrect item amounts due to rounding amounts too early
  • Fix: Duplicated Personal Information sections sometimes displayed on checkout due to non-strict comparison
  • Fix: Notices displayed in Download Categories / Tags widget upon save
  • Fix: Multiple discounts with the same code could be created
  • Fix: Invalid CSS properties
  • Fix: Filtering the File Downloads log did not work
  • Fix: edd_before_download_content action ran after the download content
  • Fix: Download links could not be copied on View Order Details in some versions of Chrome
  • Fix: Incorrect number of decimal places for some cart amounts
  • Fix: Incorrect tax amounts when taxes are calculated after discounts
  • Fix: Adding duplicate items to the cart does not increase cart item quantity
  • Fix: Division by zero error when saving a payment record with an amount of zero
  • Fix: Empty cart problems when FORCE_SSL_ADMIN is set to true
  • Fix: Improper display of the Products field for Bundle products
  • Fix: Refunds and disputes not picked up by PayPal's IPN listener

2.0.4, June 23, 2014

  • Fix: Problem with file download URLs when using the Redirect download method
  • Fix: Downloads cannot be removed from a payment in View Order Details
  • Fix: Erroneous "Cart needs one or more of the selected Downloads" error message
  • Fix: MySQL version not properly detected in System Info
  • Fix: Undefined variable in cart widget

  • Tweak: Added note about where to place language files in languages/readme.txt

  • Tweak: Added filters to export file names
  • Tweak: Enable author support by default on the Downloads post type
  • Tweak: Set $user to currently logged in user when validating a discount if no email or ID is supplied

2.0.3, June 19, 2014

  • Fix: Problem with incorrect gateway being assigned when a discount code was applied
  • Fix: Incorrect usage of "login" as a verb
  • Fix: Check if a user is deleted before retrieving user data in dashboard widget
  • Fix: Incorrect usage of esc_attr_e()
  • Fix: All submit buttons on checkout screen text updated when purchase is processing instead of just the submit purchase button
  • Fix: Fatal error in System Info when mysqli extension is not enabled

  • Tweak: Add link to the changelog on the welcome screen

  • Tweak: Show the currently logged-in user's name when previewing an email template

2.0.2, June 12, 2014

  • Fix: Error about selected gateway not being active when purchasing with a discount code
  • Fix: REST API not respecting sequential order numbers
  • Tweak: Added a class name to the Unlimited File Downloads checkbox in View Order Details

2.0.1, June 10, 2014

  • Fix: Clicking Update from the Download Edit screen sometimes sends admins to a 404 page
  • Fix: Accepted Payment Method icons do not load over https://
  • Fix: Chosen drop down widths not properly set
  • Fix: Payments erroneously marked as Failed
  • Fix: Double S in checkout URL when using the Enforce SSL on Checkout option
  • Fix: Undefined index while applying a discount code
  • Fix: Sequential order upgrade routine not properly running
  • Fix: Improper grammar

  • Tweak: Added cart subtotal / total to some AJAX responses

2.0, June 3, 2014

  • New: Added support for sequential order numbers
  • New: Added a new [edd_register] short code
  • New: Added an enforce SSL option
  • New: Added greatly improved discount code validation during checkout
  • New: Added a new API Keys list table in Downloads > Tools
  • New: Added support for making purchases with cart fees only
  • New: Added support for searching for specific payments via the REST API
  • New: Added a tabbed interface to the Tools page
  • New: Added an option to generate file download URLs from the View Order Details screen
  • New: Added JS events for all frontend cart / checkout actions
  • New: Added an "Apply" button to the checkout discount field
  • New: Added an Earnings / Sales Overtime export tool
  • New: Added support for searching payment records by transaction ID
  • New: Added a template file for the [edd_login]
  • New: Added support for Revisions to the Downloads post type
  • New: Added {discount_codes} template tag to purchase receipt emails
  • New: Added no-index, no-follow to checkout and account pages
  • New: Added options to control how the login / registration forms are displayed on checkout
  • New: Added support for passing a discount code to the checkout screen via a query arg
  • New: Added textarea support to the EDD_HTML_Elements class
  • New: Added support for exporting customers of a specific product and a specific price option
  • New: Introduced edd_get_*_by() functions for downloads and discounts
  • New: Introduced a edd_get_users_purchased_products() function
  • New: Introduced a edd_is_host() function

  • Tweak: Removed the "Update" cart button and added a background update process so amounts and quantities are updated automatically.

  • Tweak: Added billing address to payment history export
  • Tweak: Added average earnings / sales to the detailed earnings reports for products
  • Tweak: Added a link to the File Downloads log from View Order Details
  • Tweak: Added a "was_completed" meta flag for payment records
  • Tweak: Reversed some of the checkbox anti-patterns
  • Tweak: Added support showing all Download products in the [downloads] short code
  • Tweak: Log the reason a payment is marked as failed from PayPal
  • Tweak: Added a columns variable to the edd_download_class filter
  • Tweak: Added tax settings to the System Info
  • Tweak: Added improved hooks to the edd_shopping_cart() function
  • Tweak: Added a link to the product edit screens for each Download in the Purchased Downloads section of View Order Details
  • Tweak: Added $payment_id to the edd_view_order_details_form_top action
  • Tweak: Modified the way that the global file download limit affects individual file download limits
  • Tweak: Add support for identifying products in [purchase_link] by an SKU
  • Tweak: Added support for hiding the credit card form if a 100% discount code is redeemed
  • Tweak: Added support for moving the checkout cart to the bottom of the checkout screen
  • Tweak: Improved the Product Requirements section of the discount edit screen
  • Tweak: Improved the Amount field of the discount edit screen
  • Tweak: Added WP_LANG constant to the System Info
  • Tweak: Improved order history display for non-completed payments in the purchase history
  • Tweak: Removed unnecessary serialization of payment meta

  • Bug: Cart fees weren't properly taxed

  • Bug: JS error caused by error in the German translation
  • Bug: The File Download Limit field couldn't be left empty
  • Bug: Expiration dates were set improperly in WP_Session, resulting in the garbage collection not working
  • Bug: Payment method icons fail to load properly on Windows servers
  • Bug: Entering a currency sign in the price field results in an invalid amount on save
  • Bug: Incorrect data format passed to number_format()
  • Bug: edd_before_download_content action fired too early
  • Bug: Customer names longer than two words cannot be properly saved in payment meta
  • Bug: "Activate" button for discounts fails if a discount is expired
  • Bug: Country field during checkout wasn't actually required
  • Bug: Duplicate IDs when multiple purchase buttons for the same product are on the same page
  • Bug: Cart totals incorrect when redeeming multiple discounts
  • Bug: File download limits cannot be reset
  • Bug: File URLs and other fields in File Downloads secttions are not trimmed of whitespace
  • Bug: Currency signs improperly encoded in the email subject of purchase receipts
  • Bug: Improper decimal points in Dashboard Summary widget sale counts
  • Bug: State / province fields loaded in Taxes settings when not needed
  • Bug: Custom events not purged from WP Cron when EDD is deactivated
  • Bug: Dates for "Last Quarter" incorrect Custom reports
  • Bug: Filtering payment history by a guest user fails
  • Bug: EDD_Payments_Query cannot be instantiated multiple times
  • Bug: Spaces cannot be used for the thousands separator
  • Bug: Undefined index "state" in System Info
  • Bug: 400 bad request error during API calls
  • Bug: Improper behavior during extension license deactivation
  • Bug: Restored the Unlimited File Downloads option for payment records
  • Bug: API request logs not properly displayed
  • Bug: Duplicate label in View Order Details
  • Bug: Live credit card verification doesn't update the card type after initial check
  • Bug: Removed duplicate call to edd_get_payment_meta()
  • Bug: Removed duplicate comma in edd.css
  • Bug: Return value, not echo in metabox.php
  • Bug: View Order Details can be loaded for non-payment post types
  • Bug: Obsolete mfunc/mclude/dynamic-cached-content removed
  • Bug: Payment history cannot be sorted by date
  • Bug: Current view not properly displayed in the Logs table
  • Bug: Issuewith default payment gateway when no gateways are active May 6, 2014

  • Fix: Critical error with ajax actions May 6, 2014

  • Fix: Reverted a change in the ajax URL determination that caused some issues with HTTPS checkouts
  • Tweak: Added $payment_id to edd_payment_amount filter
  • Tweak: Added $payment_id to edd_view_order_details_form_top filter
  • Tweak: Removed nonces from ajax frontend requests

1.9.9: May 3, 2014

  • New: Added a JS trigger for when the cart quantity is updated
  • New: Added a CSS class name to the download file URL on purchase confirmation
  • New: Introduced an edd_is_success_page() function
  • New: Introduced a filter on the edd_get_variable_prices() function
  • New: Added Offer schema.org markup
  • New: Added edd_get_sales_args filter
  • New: Added edd_get_cart_content_details_item_discount_amount filter
  • New: Added edd_get_cart_item_tax_item_discount_amount filter

  • Tweak: Added $payment_id to the edd_email_receipt_download_title filter

  • Tweak: Added a break after the country select field on checkout
  • Tweak: Removed direct call to wp_enqueu_script( 'jquery' ) since it is loaded as a dependency
  • Tweak: Improved the Dashboard summary widget layout
  • Tweak: Improve column width of the Downloads table
  • Tweak: Updated language files
  • Tweak: Limit payment counts by start and end date
  • Tweak: Improved spacing in payment history
  • Tweak: Removed nonce fields from front-end ajax requests

  • Fix: Allow remove from cart button to work within ajax calls

  • Fix: Properly format sale numbers for Total Sales stats
  • Fix: Remove all custom taxonomies and terms during uninstall
  • Fix: Improper HTML for text fields through EDD_HTML_Elements class
  • Fix: Improper HTML for checkbox fields through EDD_HTML_Elements class
  • Fix: Broken cache key in EDD_Payment_Stats
  • Fix: Properly account for when global $post isn't available in edd_get_purchase_link()
  • Fix: Cart quantity could go negative, that's silly
  • Fix: Deprecated notices from usage of wp_editor() with WordPress 3.9
  • Fix: Improper cursor behavior on Dashboard widgets
  • Fix: Broken payment method icons on checkout
  • Fix: Deprecated notice with $wpdb->escape()
  • Fix: Do not retrieve user if no key is set in EDD_API
  • Fix: Fatal error when installing EDD via WP CLI
  • Fix: Typo in Australian states function
  • Fix: Undefined index in edd_count_purchases_of_customer()
  • Fix: InlineEditPost JS error
  • Fix: JS error in IE
  • Fix: Improper formatting of New Zealand currency
  • Fix: Improper verification of Serbian zip codes
  • Fix: No validation on logged-in user's email addresses during checkout
  • Fix: Improper slash in PayPal IPN URL
  • Fix: Ajax product drop down search doesn't return all found products
  • Fix: File downloads get named as "index.php" on Android devices
  • Fix: Duplicate field ID in card state and card country fields
  • Fix: Strings in Discounts admin not able to be translated
  • Fix: Empty carts with FORCE_SSL_ADMIN set to true
  • Fix: Tax improperly applied to countries not included in tax rules
  • Fix: Unable to override global file download limit option
  • Fix: Don't load scripts in admin except when needed
  • Fix: Payment method icons fail on Microsoft-IIS servers
  • Fix: Incorrect stats with Custom date ranges on reports
  • Fix: edd_get_chosen_gateway() doesn't respect default gateway

1.9.8: March 6, 2014

  • Fix: Problem with guest customers not being able to view purchase receipts
  • Fix: Problem with field alignment in the View Order Details screen on small screens
  • Tweak: Added an option to dismiss the "No Checkout Page" notice

1.9.7: March 4, 2014

  • Fix: Problem with prices losing the decimal places
  • Fix: Issue with file URL being obscured in the file URL field
  • Fix: Currency sign added to monthly estimated sale count
  • Fix: Not all payment statuses taken into account for payment counts

  • Tweak: Allow get_terms() arguments to be filtered in categories / tags widget

  • Tweak: Add arguments to purchase link filter

  • New: Added Hebrew translation

1.9.6: February 26, 2014

  • Fix: Purchase stats not undone when changing a payment from Revoked to Refunded
  • Fix: Typo on the settings for the Disable Live Credt Card Validation settings
  • Fix: Tax calculation after discounts is incorrect
  • Fix: UPLOADS constant not respected for file downloads
  • Fix: wp_session garbage collection not always working
  • Fix: PayPal IPN gets validated even when validation is disabled
  • Fix: State tax rates can't be set to 0 when default rate is greater than 0
  • Fix: Cart items not properly sanitized when adding them to the cart
  • Fix: SQL error on very first purchase
  • Fix: PayPal business email comparison sometimes fails when it shouldn't
  • Fix: Decimals shown on currencies that don't support decimals
  • Fix: Custom date ranges for reports greater than 3 months should query by month, not day
  • Fix: Several small typos and capitalization issues
  • Fix: Purchase History page not deleted on uninstall
  • Fix: Refunds not detected by PayPal IPN
  • Fix: Detect when user is done typing in product drop down and only trigger ajax search once done

  • Tweak: Some improved coding standards and PHPDoc

  • Tweak: Added discount codes used to sales API response
  • Tweak: Added ini_get( 'arg_separator.output' ) and allow_url_fopen status to System Info
  • Tweak: Improve _edd_deprecated_function() to actually pass the backtrace
  • Tweak: Inline documentation for filters
  • Tweak: Allow the From Name and From Email to be filtered for sale notifications
  • Tweak: Allow the cart contents to be filtered when adding items to the cart
  • Tweak: All receipt visibility to be filtered
  • Tweak: Allow array of download IDs to be passed to EDD_Payments_Query
  • Tweak: Added floatval() to edd_get_payment_amount()
  • Tweak: Properly format number in Sales column
  • Tweak: Color code axes on graphs when there are multiple axes
  • Tweak: Removed error suppression from edd_readfile_chunked()
  • TweaK: Added helper function for reporting views

1.9.5: February 4, 2014

  • Fix: Total customer count not showing in Customer Reports
  • Fix: Pagination not working in Customer Reports
  • Fix: Custom date ranges greater than 3 months should query by month, not day
  • Fix: .required class not added to input fields when fields are required
  • Fix: Non published Downloads not deleted on uninstall
  • Fix: Taxes not properly calculated for logged-out customers
  • Fix: Dashboard earnings summary widget uses "edit_pages" capability instead of "view_shop_reports"
  • Fix: Restored functionality of edd_get_purchase_download_links() function
  • Fix: Resend Purchase Receipt button shouldn't show on non-complete purchases
  • Fix: Product drop down doesn't show all products
  • Fix: Item amounts not shown correctly in Order Details when using item quantities
  • Fix: Cart fees not removed when cart is empty
  • Fix: {billing_address} email tag returns empty string
  • Fix: Updated missing language files
  • Fix: Selecting same month for start and end date with custom date ranges results in a 12 month spread
  • Fix: Admin sale notification email has not formatting
  • Fix: Cart sessions loaded in the wp-admin when they shouldn't be
  • Fix: Pages drop downs in settings cause all pages to be queried on every wp-admin page
  • Fix: Format total sales correctly in Reports
  • Fix: Incorrect variable name in edd_get_cart_item_final_price()

  • Tweak: Dramatic performance improvement to payment queries throughout the admin

  • Tweak: Rework edd_get_earnings_by_date() to be much more performant
  • Tweak: Rework edd_get_total_earnings() to be much more performant
  • Tweak: Rework EDD_Payment_Stats::get_earnings() to be much more performant
  • Tweak: Removed Files Downloaded count from customer reports due to it being too expensive
  • Tweak: Rework edd_get_purchase_stats_by_user() to be much more performant
  • Tweak: Only filter wp_count_comments() when on the Dashboard to create less performance impact on wp-admin
  • Tweak: Remove plaintext password from new user notification email
  • Tweak: Increase refresh time from 5 to 8 seconds when returning from PayPal to give PayPal IPN longer to complete
  • Tweak: Better separation of sections in settings
  • Tweak: Optimized all images to reduce footprint
  • Tweak: Removed Purchase History widget as it has never worked and is never used
  • Tweak: Send billing address to PayPal
  • Tweak: Change all purchase buttons on page of product to Checkout when one is clicked

1.9.4: January 13, 2014

  • Fix: Bug with Last Month stats showing a combined total of this month and last month
  • Fix: Bug with item amounts that could result in a PayPal error

1.9.3: January 13, 2014

  • Fix: Bug with tax amounts not being rounded resulting in an error when going to PayPal
  • Fix: Invalid foreach error message when saving the extensions tab

1.9.2: January 10, 2014

  • Fix: Bug with add-on and theme license key activation
  • Fix: Bug with invalid foreach() in small number of cases

1.9.1: January 9, 2014

  • Fix: Rounding issue with taxes when item quantities are greater than 1
  • Fix: Customer's State / Province field not showing on checkout, even when stored
  • Fix: File Download Limit and Download Link Expiration settings not able to be changed
  • Fix: Buy Now buttons set price to 0.00 at PayPal

  • Tweak: Updated all language files for EDD 1.9+

1.9: January 7, 2014

REQUIRES WordPress 3.7 or later

  • New: Added a new Getting Started page for first time installs
  • New: Rebuilt the View / Edit Details screen for payments, adding the ability to edit almost all data associated with a payment and dramatically improving the edit payment interface
  • New: Added per-products earnings and sales graphs
  • New: Allow purchase buttons to show only the price, no text
  • New: Added an option to enable/disable data deletion during plugin uninstall
  • New: Allow users to login with their email address
  • New: HTML and Number field callbacks for settings field types
  • New: Added an option to be able to exclude products from discount codes
  • New: Allow the EDD templates directory to be modified via plugins or themes
  • New: Added start/end date filters to the Payment History screen
  • New: Added a Product Details widget to show the purchase options and details of a product in any widget area
  • New: Added betters hooks for the loging process
  • New: Added a "edd-payment-type-selected" class to the chosen payment gateway during checkout
  • New: Allow shop vendors to see earnings / sales for their own products in main Downloads screen
  • New: Dramatically improved the Edit product screen by splitting up the product options into multiple meta boxes to reduce clutter
  • New: Added EDD_Email_Template_Tags class and helper functions give developers a simple way to register new email tempalte tags
  • New: Added EDD_Graph class to allow developers to easily display custom graphs in add-ons and themes
  • New: Added live ajax search to all product drop-downs in the admin to dramatically improve performance of EDD on stores with a lot of products
  • New: Add dashicon for Downloads menu and WP 3.8+
  • New: Added new Payment Processing template file that is displayed when returning from PayPal to ensure the IPN has enough time to be processed before showing the customer the payment receipt

  • Fix: Rewrote the tax API to fix numerous bugs

  • Fix: A bug with payment item amounts getting zeroed out when modifying an existing payment
  • Fix: A bug that caused Euro and other currency signs to get encoded improperly in the PDF report
  • Fix: A memory leak in the File Downloads log page
  • Fix: A bug that caused discounted amounts to show as twice the amount they should
  • Fix: A bug with the subtotal being incorrect when item prices are entered inclusive of tax
  • Fix: A bug that caused custom add to cart links to add items to the cart twice
  • Fix: Undefined index when using edd_action=straight_to_gateway and variable prices
  • Fix: Purchasing a free product doesn't increase purchase count
  • Fix: Access denied error when viewing single pages of attachments connected to a Download
  • Fix: EDD_Fees doesn't properly sanitizes amounts before adding up the total
  • Fix: Undefined index when restoring a saved cart and logged-out
  • Fix: Don't allow the checkout form to submit when hitting Enter after entering a discount
  • Fix: Shop Manager user role cannot save shop settings
  • Fix: Estimated earnings could go negative, which they should not be allowed to do
  • Fix: Item earnings / sales not properly adjusted when item quantity is greater than 1
  • Fix: edd_settings_sanitize prevents EDD settings from being modified via update_option()
  • Fix: Very first purchase in shop causes total store earnings to be doubled
  • Fix: Item price incorrect when item prices are entered inclusive of tax
  • Fix: Ajax animation doesn't stop when adding an item to the cart that has Multi-Option Purchase Mode enabled
  • Fix: Incorrect echo statement inside of an apply_filters() call (twice)
  • Fix: Selecting the same month for start and end in Report date filters resulted in a 12 month spread
  • Fix: A bug that caused the Yesterday report view to show 0 earnings and sales when the current month is January

  • Tweak: Better support for responsive columns in the [downloads] short code

  • Tweak: Improved the sample product import file
  • Tweak: Better setup EDD_Roles during initial installation
  • Tweak: Improved the checkout_cart.php template file
  • Tweak: Automatically map the lowest price option for variably-priced products to the standard price field, allowing sort by price
  • Tweak: Improved the Downloads > Add Ons page
  • Tweak: Improved the checkout login form to include an actual "Login" button
  • Tweak: Add id attributes to fields in profile editor
  • Tweak: Set minimum WordPress version required to 3.7

1.8.6: January 3, 2014

  • Fix: invalid date error in Dashboard Sales Summary widget

1.8.5: November 18, 2013

  • Fix: revert accidental introduction of new meta box UI that broke file URL saving

1.8.4: November 17, 2013

  • Fix: discounts cannot be searched by discount code
  • Fix: file download limit not honored when files are assigned to price IDs
  • Fix: ajax cart item remove URL always set to key of 0
  • Fix: bug with price IDs and the straight to gateway action
  • Fix: do not execute before/after download contnet hooks if download requires a password
  • Fix: bug with styling of first P tag in purchase receipts
  • Fix: email preview could only be shown once per page load
  • Fix: API keygen option not shown to users even when enabled
  • Fix: I18N error

  • Tweak: MP6 UI compatibility

  • Tweak: add edd_get_option() helper function
  • Tweak: enable mobile app link to be removed
  • Tweak: pass $item along with edd_email_receipt_download_title filter
  • Tweak: map lowest price option amount to edd_price
  • Tweak: add new user notification on checkout user registration
  • Tweak: check the address is not equal to * when selecting country
  • Tweak: show manual payment gateway as "Free Purchase" on payment receipt
  • Tweak: store total shop earnings in database to improve performance
  • Tweak: enable access to products API end point wiithout API keys November 5, 2013

  • Fix: a bug that prevented EDD cron events from firing
  • Fix: incorrect display of negative amounts for EDD_Fees

1.8.3: November 4, 2013

  • New: added edd_payment_receipt_after_table hook

  • Fix: account for themes that set form input values to the value of the placeholder (caused a bug with discount codes)

  • Fix: show tax as whole number, not as decimal on prices
  • Fix: incorrect user assigned to purchases made when registering an account
  • Fix: 404 error due to "

Requires: 3.9.2 or higher
Compatible up to: 4.2
Last Updated: 2015-3-24
Active Installs: 40,000+


4.9 out of 5 stars


27 of 42 support threads in the last two months have been resolved.

Got something to say? Need help?


Not enough data

4 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,2,2 100,3,3 100,3,3 100,2,2 100,1,1
100,3,3 100,2,2 100,5,5 100,1,1 100,3,3 100,3,3 100,1,1 100,2,2 67,3,2 75,4,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
0,1,0 100,1,1 100,1,1 100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,3,3 100,2,2 100,3,3 100,1,1 100,4,4 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,2,2
100,1,1 100,1,1 67,3,2 100,1,1 100,1,1 100,2,2 100,5,5 100,1,1 100,4,4 100,1,1 100,2,2 100,1,1 100,1,1 100,1,1
0,1,0 100,3,3 100,1,1 100,2,2 100,7,7 100,3,3 75,4,3 100,6,6 100,3,3 100,1,1 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1
100,1,1 100,6,6 100,1,1 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,2,2 100,4,4 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,2,2 100,1,1 100,1,1
100,3,3 100,2,2 100,1,1 100,1,1 100,2,2 100,1,1 100,1,1
100,1,1 100,5,5 50,2,1 100,1,1 80,10,8 100,1,1
100,1,1 100,1,1
100,5,5 100,3,3 100,4,4 100,3,3 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,3,3 75,4,3 100,1,1 100,1,1
100,6,6 100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,5,5 100,4,4 100,2,2 100,5,5 100,3,3 100,4,4 100,1,1 100,3,3 100,4,4 100,1,1 100,1,1 100,1,1 100,1,1
100,2,2 100,2,2 100,2,2 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1 100,1,1
100,4,4 100,3,3 100,3,3 100,3,3 100,1,1 100,2,2 100,6,6 100,3,3 100,2,2
100,1,1 100,8,8 100,1,1 100,2,2 100,2,2 100,5,5 100,4,4