DPD Update: New Device Based download authorization… No more Reactivations!

  • Jason@DPD
  • December 7, 2017
  • No Comments

Today we’ve started rolling out a change to how DPD authorizes downloads for buyers. It’s a significant change and one that will lead to massive decreases in customer support requests from your customers asking for download reactivation.

That said, new can be scary so here is a breakdown of whats changing:

Old Download System: Attempt Based

Previously, DPD counted download attempts and kept downloads active for a fixed amount of time. This meant that a customer might get 2 attempts to download over 1 week after purchase, and after that their download page was dead.

While this is pretty much the standard way things are done with most systems out there, it’s a pretty awful experience for the customer AND vendor. After a week (or 2 tries) the customer can’t get their product and gets mad. The vendor then has to deal with an angry customer and spend time finding their purchase, verifying their identity, and reactivating their download.

If the tweets and support tickets we get from you guys are any indication, this irritates vendors a lot too. We don’t want irritated vendors- we want happy ones!

Soooo… we’re making this massive change:

New System: Device Based Activation

The new Device Based Activation system prevents unauthorized download of your products by only allowing download from devices that have been registered and authorized to a customer’s profile in DPD.

Buyers can download their products as many times as they need from the registered device, but because it is locked to the device they are unable to share the download link with others.

What is a Device?

DPD uses the word “Device” throughout the admin and knowledge base.  In the context of download controls, a Device is the browser + computer or other gadget that the buyer is using to download products.

Examples of Devices:

  • PC desktop + Firefox Browser
  • iPhone + Safari Browser
  • Android Phone + Android Browser
  • Mac Laptop + Safari Browser

So, when DPD mentions “Device” anywhere, it is short for the unique fingerprint of the computer or mobile gadget used by the buyer, the browser used, and the unique session cookie for that customer.

How does it work?

When a buyer completes a checkout with DPD we set a unique session tracking cookie on their browser.  This cookie only works with that browser + computer (or mobile device combo) that was used to complete the purchase.  This happens seamlessly in the background.

As long as the buyer has this unique session cookie authorizing their browser they can download the products they purchased whenever they like by visiting their download page or following the link in the purchase email they received from your DPD store when completing checkout.

Even better, once a buyer has activated their computer to download their products, its authorized to download ALL the products they’ve purchased from your store automatically, not just the one they activated.

More Information

We know this system is a completely new way of handling downloads and we’ve tried to cover the questions we could think of. If you have one we haven’t thought of please comment or send a support ticket!

What happens if they are on a different device?

It will ask them to enter their email, which is checked against the purchase, to send them an authorization link. Learn more:

How DPD Authorizes Customer Downloads

Do I need to change the device limits?

Usually, no. We’ve set sane defaults that should be good for most vendors, but if you want to here is a KB article on that:

Setting Store Device Limits

What happens when a customer reaches their device limit?

The won’t be able to access their downloads until you authorize another device. Here is how to do that:

Customer Service: When a customer reaches their device limit

This all sounds awesome, how do I get it?!

The rollout is in two phases:

1. (the new few days) From this point all new stores will have Device Based Activation automatically. Its the default for new stores from the time of this blog post.

2. (2 weeks or so) We’re going to migrate every existing DPD store to the new device based activation system once we’ve had it in production for a few weeks and are confident there are no issues.

Want it now?

We know some vendors hate reactivating downloads and have been very vocal about wanting a better system so send us a support ticket! We’ll turn on the new system for you now and you can stop reactivating downloads.

Have any more feedback or questions? Drop us a comment here or send in a support ticket!

Repealing Net Neutrality rules is bad for DPD vendors and their customers. Here is why.

  • Jason@DPD
  • December 4, 2017
  • No Comments

DPD vendors in the US will see a new popup when logging in to the DPD admin until Dec 14th. We’re showing this popup asking you take action to save Net Neutrality rules because it directly affects your ability to sell your downloadable content with DPD.

What is Net Neutrality?

Net Neutrality is the basic principle that prohibits internet service providers like AT&T, Comcast and Verizon from speeding up, slowing down or blocking any content, applications or websites you want to use. Net Neutrality is the way that the internet has always worked.

Net Neutrality prevents ISP’s from restricting access to the sites and content your love.

Net Neutrality prevents ISP’s from charging you more to access content they don’t want you to have.

Net neutrality is essential for creative freedom.

How Ending Net Neutrality Will Affect DPD Vendors

Without Net Neutrality rules in place there will be nothing stopping ISPs, who already enjoy regional monopolies in most areas, from prioritizing traffic for those who can pay more. This will only hurt smaller creators and vendors who don’t have the financial backing of Netflix, Apple, or other large corporations who can pay to have their network traffic prioritized on these networks.

Imagine for a moment a world where Verizon and other ISPs are allowed to prioritize traffic based on what they are willing to pay.

DPD uses local servers and Amazon Web Services to deliver content. All of a sudden, AWS is told that if they want to deliver content to Comcast (or Verizon or AT&T or Spectrum or any other ISP) networks it has to pay a surcharge, increasing the cost of servers and bandwidth overnight. DPD’s costs are increased, and because our margins are thin and we don’t charge for bandwidth these costs are passed along directly to you, the vendor.

At best, we have to charge more for the same service you are receiving now because our costs have increased. At worst, the cost is so high that vendors can no longer afford to deliver their content through our service (or any other) and we end up closing the doors.

But do we really need more regulations?

Some have made the argument that Net Neutrality rules have stifled innovation and stopped competitiveness in the ISP marketplace, and that ISPs won’t do things that are good for their bottom line at the expense of their users. ISPs have already shown they are willing to violate these rules to add to their bottom line, as outlined in the list below.

ISPs violating net neutrality rules and being stopped by the FCC:

2005 – Madison River Communications was blocking VOIP services. The FCC put a stop to it. [source]

2005 – Comcast was denying access to p2p services without notifying customers. [source]

2007-2009 – AT&T was having Skype and other VOIPs blocked because they didn’t like there was competition for their cellphones. [source]

2011 – MetroPCS tried to block all streaming except youtube. [source]

2011-2013 – AT&T, Sprint, and Verizon were blocking access to Google Wallet because it competed with their payment system. [source]

2012 – Verizon was demanding google block tethering apps on android because it let owners avoid their $20 tethering fee. This was despite guaranteeing they wouldn’t do that as part of a winning bid on an airwaves auction. They were fined $1.25 million. [source]

2012 – AT&T tried to block access to FaceTime unless customers paid more money. [source]

2013 – Verizon literally stated that the only thing stopping them from favoring some content providers over other providers were the net neutrality rules in place. [source]

What can you do?

Take action when you see the popup on the admin and call your elected officials, or visit https://www.battleforthenet.com and write your officials, join a protest, or donate to an action group. Learn more about Net Neutrality and educate the people you meet on why its important and urge them to take action too.

Net Neutrality affects everyone- from service providers like DPD, to vendors like you, to customers and every internet user on the planet who needs and expects unrestricted access to the internet.

We quietly made everything faster and better!

  • Jason@DPD
  • August 8, 2017

Harder, Better, Faster, Stronger

Over the past few months we’ve been working on setting up a new environment for DPD to run on that will be scalable, handle bursts in usage better using magical load balancers, be more secure and resistant to attack, and deliver better database performance when people do those really big customer and purchase list searches that used to seem to take forever.

I’m happy to say we’ve completed our migration of the DPD database, admin, cart, and ftp to our new expanded Amazon Web Services environment and everything is… fast. Like, really fast. You should see a noticeably faster admin and checkout for your customers immediately!

This is what we’re using!

Want to nerd out over some technical sounding acronyms? Here you go!

  • ELB – Elastic Load Balancer – to balance load, natch.
  • EC2 – Elastic Computing Cloud – The cart and admin are running on EC2 now, so we can scale and spin up more instances when the ELB says we need to.
  • RDS – Relational Database Service – to store and serve customers, purchases, and product records
  • AWS DynamoDB – Storing all those admin sessions and bajillion cart sessions for every buyer
  • AWS Lambda – Doing fun little things like stamping PDFs and creating MP3 samples, sandboxed and safe away from other code.
  • S3 – Product storage, backup, and delivery
  • Cloudfront – CDN for serving up assets across the entire platform
  • Route53 – DNS service, making sure all our domains and the cart domains work.
  • Cloudwatch – monitoring all that other stuff

In addition to all the cloud stuff, we still have local cache servers running on physical boxes for product storage and delivery, and we utilize numerous smaller services like Hund.io for our status page, sandboxed environments for each blog like this one so that if a zero-day exploit for WordPress is discovered it won’t compromise the rest of our service, Zendesk for customer support ops, 3rd party monitoring services that wake us up at night if there is a problem, etc.

Whats Next?

We’ve got a major update coming, here is a sneak peak:

Scheduled Maintenance Event: Database Migration / Upgrade – 26 April, 2017

  • Jason@DPD
  • April 24, 2017
  • No Comments

On Wednesday, 26 April, 2017 at 9PM Eastern (Check time in your time zone) we will be performing a database migration on DPD that will lead to improved performance for all vendors and buyers.

We have run simulations of this move and expect less than 5 minutes of downtime where the site may fail to load when the procedure is started and then degraded performance during the migration, which may last up to 2 hours. During this period of degraded performance certain pages may be slow to load, including “database heavy” pages like purchase and customer list pages, reports pages, and possibly the dashboard depending on your recent sales volume.

We apologize for any slow page loads this process may cause, but it will be temporary. The migration to new database hardware will provide expanded memory and processing power for all database operations and will represent a significant speed increase for all vendors when completed. More importantly, this migration will be to a scalable platform that we can expand on demand as load increases.

Thanks in advance for your understanding during this maintenance event. If you have any questions drop us a line on live chat after logging in, or send us a support ticket and we’ll do our best to help!

DPD Update: Basically like, the world’s most boring DPD update ever.

  • Jason@DPD
  • March 8, 2017

I’m going to level with you guys: this update is pretty boring. Nothing here is of much consequence to the average user, so if you don’t like reading stereo instructions then you can probably skip this one. Its full of boring back-end bug fixes and minor changes and one fairly boring interface change. Still, I’m going to blog about it so people know we’re doing stuff behind the scenes!

Fixed the dashboard graph so it’s not wonky. There was a bug that made no-sales days not show up for some people. We fixed that. We also addressed some weird time zone issues where datapoints would show up on the wrong day due to the earth being round and everyone setting their clock differently.

Dealt with silly, undocumented PayPal changes. We actually do this pretty often, but in this release there were some tweaks to the PayPal Standard code we use to validate IPNs and activate purchases because they decided to randomly stop sending us crucial bits of information we look for.

Fixed the affiliate purchase search. In some cases searching transactions by affiliate didn’t work, so we crushed that bug so hard it screamed.

We made it where you can edit the purchase status on purchase/edit. You know, for those cases where you might want to edit the purchase status when editing a purchase.

Updated the VAT rate for Romania to 19%. They decided to change their VAT rate, so we did too. This actually went out quite a while ago, but it’s included in this publish cycle so I’m using it to pad out this list a little more.

Added a drag-and-drop asset uploader for the theme system. This is the most visible feature in this update; now you can drag and drop images, css, and js files to the theme page and it uploads them. You can select these assets from the little image inserter thingy on the editable regions of the theme pages. It works really well!

We made DPD delete things more better. Things like when you delete a theme, we delete the assets now instead of just leaving them sitting there, looking all lonely without a theme. #OrphanAssetsMatter

We did all sorts of stuff so assets will be uploaded directly to AWS S3. We’re not going to store cart assets (like images) on our servers–they’ll be in the cloud! This is pretty funny since AWS had their first S3 outage in years and pretty much broke half the Internet last week. ¯\_(ツ)_/¯

(Kidding! Amazon S3 is super reliable, over 99.99% uptime. Half the Internet, including DPD, runs at least in part on their services. This change greatly increases the availability and scalability of cart asset hosting.)

Slightly changed the layout of the theme page so it works better on smaller device screens. Now the layout works down to the minimum layout with in our admin CSS. Thrilling, I know.

Tweaked product key delivery to handle higher frequency sales. There were some conditions where high frequency sales (like 100s an hour) would occasionally cause keys to be over-sold even when that option was disabled. We addressed that, so you guys sell as many product keys an hour as you want!

We found a query that was making DPD slow for lots of people and then removed it. Hopefully this will drastically improve page load speed for certain high volume vendors with tons of products, sales, and customers.

Made some not-random but minor and undisclosed code changes you’ll never even notice. We pretty much futz with something every day to make it a little better, a little faster, or to address a security or support issue. We did quite a bit of futzing in this update, but its all really minor and we’re not going to itemize them all. Just know we’ve been doing stuff to make stuff better!

DPD Update: Manual Purchase Creation, Edit Existing Purchases, More

  • Jason@DPD
  • December 15, 2016
  • No Comments

In this update we’ve added a couple often requested features and added improvements to several areas of DPD.

Manual Purchase Creation

Vendors have asked for a way to create a purchase in DPD so that their offline sales, mail order sales, etc. can be accurately reflected in DPD and so they can send product updates to buyers who purchased through other channels. We’ve added a manual purchase creation page where you can build a purchase using existing products or a blank line item (useful for adding a service or other arbitrary charge), billing and shipping information, etc. Manual purchases will not charge the customer, but they will be reflected in your DPD sales stats and reports.

To create a manual purchase, go to the purchases page and click the Create button in the top right corner of the page.

Edit Existing Purchases

We’ve added the ability to edit the billing and shipping details to orders created through the shopping cart. We have also added an adjustment field where you can adjust the total charged if you have issued a refund outside of DPD.

Updated Music Player

We’ve updated the music preview player for mp3 files to not require Flash like the old preview player. We all kinda hate Flash.

Other changes in this update:

  • Added sending email to Paypal for Payments Pro transactions
  • Reordered vendor navigation to move sales group above store group, since product and sales are the two most common areas used
  • Improved URL validation on product/edit to prevent some newer TLDs from being blocked
  • Automatically float priority shipping countries to top of cart pulldowns
  • Fixed an error that could occur when a product has a configured upsell product deleted
  • Improved our geolocation updates
  • Improved storefront statistics calculation
  • Fixed issues with combo/bundle product sub-product ordering on the delivery page
  • Updated EU VAT Rates as needed
  • Server / Hardware Upgrades Coming Soon

    We will soon being upgrading the hardware and software that DPD runs on in order to provide faster service for everyone. These updates may require very short periods of time where the site will be unresponsive while hardware is switched over to newer equipment.

    We will always notify vendors prior to any expected interruption of service, and only perform upgrades that would result in an impact to service during non-peak hours of usage. We will post more updates to the blog here and Twitter as our update schedule evolves.

    Zapier support is out of Beta: Integrate DPD with 700+ apps!

    • Jason@DPD
    • September 15, 2016
    • 1 Comment

    zapier-logo-blogZapier is a tool for non-technical people to easily connect together web apps. Zapier has both free and paid plans based on the number of integrations you set up and the frequency that they’re checked for updates.

    What can you do with Zapier and DPD?

    Zapier supports over 700 popular CRM, Accounting, communication, and task management tools. You can pass your customer and sales data to any one of these apps using an easy point and click interface, harnessing the power of the DPD API without having to write a single line of code.

    Zapier CRM Apps

    Some examples of what you can do with DPD and Zapier

    We’ve created a few pre-configuered shared Zaps based on what vendors often request integration with:

    But thats not all you can do with DPD and Zapier! DPD can connect and share sales data with any of the 700+ supported apps using custom setups you create using their easy point and click interface. You can learn more by visiting DPD’s page on the Zapbook.

    Getting started with DPD and Zapier:

    We have a full KB article on Using Zapier with DPD with screenshots and more in the DPD knowledgebase, but here are the basic steps:

    1. Go to DPD’s page on the Zapbook
    2. You can choose one of our suggested Zaps, or browse the Zapbook for other services to integrate with
    3. Connect your DPD account to Zapier using your DPD username and the API key from your DPD profile page
    4. Create new Zaps by matching up DPD sales data with fields in your external apps, or use one of our shared Zaps to get started.

    Need Help?

    You can always send us a support ticket through the support link in your account or DPD knowledgebase. We’ll add more shared Zaps based on your feedback too, so if you have questions about integrating a specific app with DPD using Zapier we’ll be happy to take a look and get a shared Zap set up to help you out!

    DPD Update: Test Credit Card Processor and Customer Notes

    • Jason@DPD
    • July 13, 2016
    • No Comments

    In this update we’ve added two new often requested features and several bug fixes.

    Test Credit Card Processor

    We’ve often been asked for a test credit card processor so vendors can privately test their products and stores. In response, we’ve added a test credit card processor, available under Payment Methods in the left menu, that you can activate to complete test checkouts.

    Test Card Processor in Payment Methods

    When the test card processor is activated it automatically generates and displays a unique card number to be used for testing checkout. This is the only card number that will work with your store. This is to prevent random people from using published test card numbers from Visa, Mastercard, etc. to get your products for free.

    Generated Card Number

    We place warnings all over the DPD admin and cart when the test processor is active. Obviously, it goes without saying that when a test processor is active you won’t collect any money for product sales and it should be disabled before going live.

    Cart Test Mode 1

    Cart Test Mode Payment

    When you are done using the test card processor, simply return to payment methods, edit the test processor, uncheck the “enabled” box, and save to disable.

    The test card processor works for older v2 stores, the current responsive cart theme (v3), and subscription stores.

    Customer / Purchase Notes

    Another often requested feature that we added are customer and purchase notes. Vendors can now enter notes on a specific purchase or customer record and they’ll be recorded in DPD for later reference. Notes are for vendor eyes only- they are not public or published anywhere outside of your account.

    Notes entered on a specific purchase are shown on that purchase’s details page.


    They are also shown on the customer page, with a link to the purchase they were entered on. Customer notes (unrelated to a specific purchase) can be added on customer page too. They’ll display without a related purchase ID link.


    You can edit and delete notes as needed, and you can create as many notes on a customer or purchase as you like. We hope this feature will make customer service tasks and internal tracking easier for vendors.

    Other minor changes and bug fixes in this release:

    • Tweaked back button behavior on Buy Now buttons
    • Improved flow validation during checkout
    • Updates to the Stripe gateway
    • Fixed a display issue on subscription ended timestamp
    • Performance improvements on the send product update feature
    • Fixed missing currency display on purchase/list
    • Fixed password label on login page for Chrome browser
    • Updated cart translations to include previously untranslated strings and new features
    • Updated the favicon on the cart
    • Performance improvements to the PDF stamper

    DPD Update: Streamlined Product Editing and Product Visibility

    • Jason@DPD
    • April 22, 2016
    • 1 Comment

    We’ve just released a completely redesigned product edit page that greatly reduces the length of the form and adds modern features like drag-and-drop image uploading.


    Some highlights of the new product edit form:

    • Drag-and-Drop image upload. Simply drag your image to the image area, or click to open a standard file dialog to select your image.
    • The form now puts the most crucial fields required to configure the product at the top of the page.
    • Optional features are now collapsed at the bottom of the form, including the EULA feature and Upsell feature. One click expands these options for editing and they’re automatically expanded if previously configured for the product.
    • There is a new sidebar product status / save box that is always with you on the page- no more scrolling to find the save button

    New Product Visibility Setting

    The new product visibility option replaces “show on cart index”:

    • Public – shown on cart index, default state for new products
    • Hidden – must have the buy or add-to-cart URL to purchase, not shown on cart index
    • Disabled – new status which lets you temporarily disable a product without deleting it

    In addition to the “coupons disabled” label we released in the last update, we’ve added new product status indicators throughout DPD so you can tell at a glance what visibility state your product is in by looking at the colored “dot” beside the name.



    The indicators are simple- Green for public, Orange for hidden, Red for disabled.

    Other changes in this Update:

    • paypal ship-to state support
    • updated romania vat rate
    • removed support for gif images

    New Zapier Support Connects DPD to 500+ Apps and Services

    • Jason@DPD
    • March 21, 2016
    • 1 Comment

    zapier-logo-blogWe’re happy to announce our new beta app for Zapier that allows you to pass your DPD sales data to the 500+ apps that Zapier supports. Zapier is a 3rd party service that serves as a “middleman” and connects web apps using an easy point and click interface. Zapier has both free and paid plans based on the number of integrations you set up and the frequency that they’re checked for updates.

    Because this is a new app and in beta you’ll need to follow the link below to add the DPD app to your Zapier account:

    Add DPD App to Zapier

    What can you do with Zapier and DPD?

    Zapier supports over 500 popular CRM, Accounting, communication, and task management tools. You can pass your customer and sales data to any one of these apps using an easy point and click interface, harnessing the power of the DPD API without having to write a single line of code.

    Zapier CRM Apps

    You can pass your customer data to popular CRM apps like Salesforce, Infusionsoft, or Highrise.

    You can pass your sales data to accounting apps like Quickbooks Online, Xero, or Freshbooks.

    Send your customers contact info to email marketing services such as Unbounce, Mad Mimi, or even Gmail.

    You can even use built in Zapier tools like Webhooks, SMS, and RSS to build custom notifications and connect to your own custom apps on your website.

    Setting up Zapier with DPD

    First, add the DPD beta app to your Zapier account by following this invite link.


    Once you’ve added it, you can use it as a trigger app to create new zaps that connect to 3rd party services.


    After you select the DPD app as your trigger you’ll need to connect to DPD using the API connection info in your vendor profile. To get your API connection info log in to your DPD vendor account, go to the user menu in the top right of the page, and select vendor profile. Your API credentials are at the bottom of the page.


    From there you can select which DPD store’s sales data you want this zap to use, select which customer or purchase fields will be passed, and then select which 3rd party app you want to connect the data to. Its all point-and-click and no programming knowledge is required.

    We welcome your feedback on the new Zapier support for DPD. We’re pretty excited because it lets you connect your DPD account to hundreds of external apps and we hope you are too!