Search Over 30,000 FREE Plugins from the Official WordPress Plugin Directory Repository

PayPal for Digital Goods

Allows you to use the PayPal for Digital Goods gateway to accept payment for a digital item.

This plugin provides you a shortcode to generate a customizable PayPal payment button that allows a user to pay for an item instantly in a popup using the PayPal for digital goods API/Gateway.

The full checkout happens in a overlay/popup window and the customer never leaves your site.

This is ideal for selling file downloads via PayPal.

View configuration and usage details on the paypal for digital goods plugin page

This plugin will be ideal for you if you are selling the following

  • eBooks (PDF, epub, mobi etc.)
  • Audio files (mp3, wav, ogg etc.)
  • Video files (mp4, mov, wmv etc.)
  • Image files (jpg, jpeg, png, gif etc.)
  • Excel documents
  • PDF documents
  • MS Word documents


  • Sell files, digital goods or downloads using PayPal for digital goods gateway.
  • Sell music, video, ebook, PDF or any other digital media files.
  • Allow a user to automatically download the file once the purchase is complete via paypal.
  • View the transactions from your WordPress admin dashboard.

Shortcode Attributes

This plugin adds the following shortcode to your site:


It supports the following attributes in the shortcode -

(string) (required) Name of the product
Possible Values: 'Awesome Script', 'My Ebook', 'Wooden Table' etc.

(number) (required) Price of the product or item
Possible Values: '9.90', '29.95', '50' etc.

(number) (optional) Number of products to be charged.
Possible Values: '1', '5' etc.
Default: 1

(string) (optional) Currency of the price specified.
Possible Values: 'USD', 'GBP' etc
Default: The one set up in Settings area.

(URL) (optional) URL of the downloadable file.
Possible Values:

(string) (optional) Label of the payment button
Possible Values: 'Buy Now', 'Pay Now' etc

Please visit Settings -> PayPal for Digital Goods admin area to configure default options.

You can also test it on PayPal Sandbox before going Live.

Author Tips and Tricks HQ
Contributors TipsandTricksHQ
Tags commerce, digital, digital downloads, digital goods, download, downloads, e-commerce, e-store, ecommerce, eshop, goods, instant payment, payment, payment gateway, paypal

Using The WordPress Dashboard

  1. Navigate to the 'Add New' in the plugins dashboard
  2. Search for 'paypal-for-digital-goods'
  3. Click 'Install Now'
  4. Activate the plugin on the Plugin dashboard

Uploading via WordPress Dashboard

  1. Navigate to the 'Add New' in the plugins dashboard
  2. Navigate to the 'Upload' area
  3. Select from your computer
  4. Click 'Install Now'
  5. Activate the plugin in the Plugin dashboard

Using FTP

  1. Download
  2. Extract the paypal-for-digital-goods directory to your computer
  3. Upload the paypal-for-digital-goods directory to the /wp-content/plugins/ directory
  4. Activate the plugin in the Plugin dashboard

1.4 and 1.5

  • Re-worked the price hashing code to remove any chance of any kind of price field manipulation.


  • Updated the return and cancel URL construction to use the "add_query_arg()" function for better compatibility.


  • Added extra validation in the plugin.
  • Also tested on WordPress 4.3.


  • Added session start call when the plugin initializes.


  • First Release

Can I have multiple payment buttons on a single page?

Yes, you can have any number of buttons on a single page.

Can I use it in a WordPress Widgets?

Yes, you can.

Can I specify quantity of the item?

Yes, please use "quantity" attribute.

Can I change the button label?

Yes, please use "button_text" attribute

Can I test it on PayPal sandbox?

Yes, please visit Settings > PayPal for Digital Goods screen for options.


[paypal_for_digital_goods name="Cool Script" price="50" url="" button_text="Buy Now"]

Version 1.5

Requires WordPress version: 3.5 or higher

Compatible up to: 4.7.2

Last Updated 05 Dec 2016

Date Added: 10 Jun 2014

Plugin Homepage


3.8 stars
4 ratings


Not Enough Data

Works: 0
Broken: 0