WP Express Checkout (Accept PayPal Payments Easily)


The WP Express Checkout plugin allows you to sell any type of products and services from your WordPress powered site easily using the new PayPal Checkout option. Install the plugin, configure some basic settings, create a few products and you are ready to sell products and services from your site. The checkout process is quick and easy.

This plugin gives you shortcodes to generate customizable PayPal payment buttons that allow customers to pay for items instantly via a payment popup window. Customers can pay using PayPal or a credit card. It uses PayPal’s newest/latest Checkout API/Gateway.

Additionally, this plugin provides a product block that seamlessly integrates with the WordPress block editor, enabling you to easily incorporate products into your website.

The full checkout takes place in a payment popup window and the customer never leaves your site. It creates a fast and elegant checkout experience.

This is ideal for users who want a lightweight and simple solution for selling products or services via PayPal.

Checkout Demonstration

Great for Selling Digital Downloads

If you want to sell digital products using PayPal then you will love the simplicity of this plugin. You can configure it to expire the download links after it has been used a few times or after a certain period of time.

Works with PayPal’s Buy Now Pay Later Feature

This plugin works with PayPal’s Pay in 4 (Buy Now, Pay Later) feature also. It lets your customers pay later in 4 installments.

Basic Setup and Usage Video

Usage Documentation

View configuration and usage details on the WP Express Checkout plugin’s documentation page.


  • Sell products or services using a quick and easy checkout process.
  • Accept PayPal donations with minimum donation amount limit.
  • Sell downloads, files, or any digital goods.
  • Sell music, video, ebook, PDF or any other digital media files.
  • Shop page that will list all your products in a grid view. Users can browse your products and purchase it.
  • Allow the customers to automatically download the file once the purchase is completed via PayPal.
  • You can deliver the digital downloads using encrypted download links that expire automatically.
  • Ability to enable force download option on your digital products.
  • Offer Buy Now Pay Later payment option to your customers.
  • Accept Payments via Venmo easily. Your customers can pay using the Venmo option.
  • View the transactions from your WordPress admin dashboard.
  • Option to configure a notification email to be sent to the buyer and the seller after the purchase.
  • Option to customize the purchase notification email on a per-product basis.
  • Ability to set a product thumbnail for a product.
  • Use a simple shortcode to add a payment button anywhere on your site.
  • Create a PayPal payment button widget and add it to your site’s sidebar.
  • Ability for a customer to enter an amount and pay what they want for a product.
  • Ability to configure variable products. You can charge different amount for different options of the product.
  • It can be used to accept donations on your site.
  • Option to configure a minimum donation amount so the customers have to pay a minimum amount for donation.
  • Option to customize the currency formatting.
  • Stock control option. You can limit the number of quantity available for a product.
  • Option to charge shipping for your items. Ability to set a shipping cost for each item separately.
  • Option to charge tax for your items.
  • Option to configure discount coupon codes.
  • Option to give a free product using 100% discount coupon code (offer complimentary product).
  • Option to configure terms and conditions before checkout.
  • You can see all the orders within your WordPress admin dashboard.
  • Option to customize the Thank You page.
  • Option to create product categories and apply it to some products.
  • Option to create product tags and apply it to certain products.
  • Option to export the orders data to a CSV file.
  • Ability to configure the download links to expire after X number of hours.
  • Ability to configure the download links to expire after X number of clicks.
  • Option to test it on PayPal Sandbox mode before going Live.
  • Option to Integrate it with WooCommerce to offer product checkout via PayPal’s express checkout system.

The setup is very easy. Once you have installed the plugin, all you need to do is enter your PayPal Checkout API credentials in the plugin settings and your website will be ready to accept PayPal and credit card payments.

You can also accept payment using PayPal’s Pay in 4 feature (buy now pay later offering). Read the Buy Now, Pay Later Tutorial to learn more.

Optional WooCommerce Integration

There is also an option for WooCommerce. So you can use this plugin to add the new PayPal Express Checkout gateway to WooCommerce.

Please note that the integration with WooCommerce is entirely optional. It is important to highlight that this plugin is primarily designed for standalone use and does not depend on WooCommerce.


This plugin adds the following shortcode to your site:

[wp_express_checkout id=“123″]

Or use the following shortcode to output product details and the express checkout payment button:

[wp_express_checkout id=“123″ template=“1″]

Additionally, you have the option to utilize the product block for adding a product into the post or page editor.


View this usage documentation page for additional info.

Fota wobrazowki


Using The WordPress Dashboard

  1. Navigate to the ‚Add New‘ in the plugins dashboard
  2. Search for ‚wp-express-checkout‘
  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 wp-express-checkout.zip from your computer
  4. Click ‚Install Now‘
  5. Activate the plugin in the Plugin dashboard


Where can I find complete documentation for this plugin

You can find the full documentation for this plugin on the WP Express Checkout plugin documentation page.

Does it use the newest/latest PayPal checkout option?

Yes, this plugin uses the new PayPal checkout API.

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 widget?

Yes, you can.

Can I customize the payment button?

Yes, there are some customization options in the settings menu of this plugin.

Can I test it using PayPal sandbox?

Yes, you can enable the sandbox mode from the settings menu of the plugin.

Can I use WooCommerce with this plugin?

Yes, there is an option to use this plugin to offer PayPal Express Checkout gateway to WooCommerce.

View the WooCommerce Integration for PayPal Express Checkout page for details.


9. junija 2024 1 reply
was looking for a functional and inexpensive way to facilitate membership payments on my local photoclub website. This plugin absolutely works! Ive got three membership types; individual. Family and gift. I set them up as different “products”…added the fields I needed for each one and was off to the races. Thanks.
29. měrca 2024 1 reply
This is a fantastic pp checkout plugin: fast, clean and lean. The interface is well thought out and clear, complete without unneeded bells and whistles, easy and quick to setup and functioning perfectly. Compliments and a big thank you to the developers.
17. januara 2024 1 reply
I had been using another PayPal button plugin which stopped working when the developers made unannounced changes to the api. I’ve been using WP Express Checkout for a little over a month and am really pleased with how it works. The presentation of the payment options is much cleaner and I really like the ability to have it appear in a pop-up, rather than in just a form on the page. The hooks and filters seem to be well thought out and give me the additional capabilities that I need. Well done!
3. januara 2024 1 reply
Been using for several years, highly recommend this plugin to anyone, does what is says and possibly more. The one thing, that could be a premium offering perhaps, would be a Cart Payment add on. I and likely other users would happily pay a subscription for cart payment integration (multiple purchases and up selling options as opposed to single purchases per transaction).
Čitajće 26 pohódnoćenjow

Sobuskutkowarjo a wuwiwarjo

„WP Express Checkout (Accept PayPal Payments Easily)“ je softwara wotewrjeneho žórła. Slědowacy ludźo su k tutomu tykačej přinošowali.


„WP Express Checkout (Accept PayPal Payments Easily)“ je so do 4 rěčow přełožił. Dźakujemy so přełožowarjam za jich přinoški.

Přełožće „WP Express Checkout (Accept PayPal Payments Easily)“ do swojeje rěče.

Na wuwiću zajimowany?

Přehladajće kod, hladajće do SVN-repozitorija abo abonujće wuwiwanski protokol přez RSS.

Protokol změnow


  • Added a new feature to enable per-product customized email notifications. Documentation
  • The order summary (in the orders menu) now shows the product thumbnail (if available).
  • Added a new utility function ‚get_order_data_in_array_format‘ that can be used to retrieve an order data in array format.
  • Added more ‚disable funding‘ options in the settings menu.
  • The ‚From Email Address‘ field value specified in the settings is now used correctly for the seller notification email.


  • The WooCommerce integration has been updated to make it compatible with the latest version.
  • Added Support for WP Express Checkout payment gateway WooCommerce checkout block.


  • Product variation feature related: Negative price variation issue fixed for the pre-api submission check.
  • Reorganized some of the product data that is submitted to the PayPal API.
  • Minor unit testing related changes.


  • Added a new action hook ‚before_wpec_thank_you_page_shortcode_execution‘ that can be used to redirect from the thank you page shortcode.
  • Fixed an issue with item names having special characters.
  • Translation POT file updated.


  • For 100% discount coupon checkout, the billing address fields will be hidden for digital products.
  • Added a new filter ‚wpec_hide_billing_address_fields‘ to hide billing address fields for digital products for the 100% discount coupon checkout.
  • Taxonomy page’s 404 error fixed.
  • Fixed the URL payment feature’s issue with the newly added validation.


  • Added new action hooks that is triggered after the output of download headers (for force download feature).
  • The PayPal create-order and the capture-order API calls have been moved to the server side.
  • Added a new function to handle the server side payment processing.
  • The Transaction ID section in the order status meta box displays the capture ID.
  • API pre-submission validation added.


  • Added a new action hook – wpec_before_file_download.
  • Added new action and filter hooks to the URL payment feature.
  • Added a new settings option in the advanced settings menu to allow configuration of force download manager.
  • Enhanced the force download feature to check if the file is accessible before trying to dispatch it for cURL method.



  • Resolved an issue where product quantities with fractional pricing caused an error with PayPal.
  • Added a new option to ‚sort by chronological order‘ to the products/shop page.


  • Added a new email merge tag {download_link_url_only}. It outputs the download link URL only, omitting any associated product name.
  • The shipping enabled option uses the „shipping_preference“ parameter of the PayPal API.
  • PHP 8.0 compatibility related fix for the wpec_ty shortcode.
  • Product block’s dependency issue fixed.
  • Fixed a css issue for the shop/products page in the small screen devices.


  • Added a new feature: ability to add order notes in the admin order edit interface.
  • The orders menu will show the Capture ID (instead of the Resource ID) in the Transaction ID field.
  • WP eMember integration update for subscription payment addon.
  • Added new email merge tags: {quantity_ordered} and {selected_variations}


  • Added quantity, unit price and total amount columns to the CSV export feature.
  • The order summary table now shows the unit price of the item also.


  • New feature in the orders menu to export the orders data to a CSV file.


  • Added a confirmation dialogue option to the order action items.
  • Added an option to refund a transaction from the orders menu of the plugin. This will work for the new transactions that you receive after the upgrade.
  • Allow the apostrophe character to be used within the email subject field.
  • Output escaping for the settings menu item’s description fields.
  • Fixed the price display formatting (regarding the thousand and decimal separator for some currencies).


  • The Shop page shortcode is now wrapped in a div element so it works better with block themes.
  • The URL payment feature: Improved the scroll bar behavior in Google chrome browser.
  • Better output escaping in the „Add Coupons“ interface.


  • Added a feature to enable „Force Download“ option for digital products.
  • Added option to create product categories and apply it to certain products.
  • Added option to create product tags and apply it to some products.
  • Added the following options to sort products in the shop page (sort by latest, sort by title, sort by price).
  • The „button_text“ parameter can now be used in the [wp_express_checkout] shortcode to customize the text of the Buy Now button.
  • Fixed tax amount display issue with a subscription type product.
  • Added a separate template file for the „button only“ shortcode output.
  • Better thumbnail image fit for product template 1.
  • The shop page has new options to sort the products by title, price, date.
  • Fixed the button preview not working in the settings page.


  • Fixed a version tagging issue.


  • The shop page will list the products by ID in descending order by default.
  • Fixed the Shop Page URL update not working in the settings menu.
  • The „Place Order“ button (for the free checkout option with 100% discount coupon) now has a processing icon while it is being processed.
  • Fixed a JavaScript error with the WooCommerce cart checkout.


  • Added a new shortcode [wpec_show_all_products] that can be used on the „Shop“ page to display all the products in a grid view.
  • The shop page will be automatically created at install time.


  • Fixed coupon code Redemption Count not updating correctly after a discount code is used in a transaction.



  • Option to create a sharable payment link using a simple URL (instead of a shortcode).
  • Documentation – https://wp-express-checkout.com/creating-a-shareable-payment-link-text-link-or-url/


  • Software License Manager plugin integration issue fixed.
  • Added a new function in the logger class to log array data (when needed).


  • Applying discount coupon to digital items will correctly show the discounted amount in the payment popup window.


  • The reset log feature will show an error if the user doesn’t have permission to reset log file.
  • Added nonce validation check to the reset log feature.
  • Added additional comment in the enqueue_styles() function.
  • Added a filter to the plugin’s default settings array.
  • Fixed a PHP Notice when the coupon discount amount was greater than the total amount.
  • Fixed a JavaScript warning in the settings menu.


  • Added new email merge tags for the sale notification email: {product_id} – Product ID, {product_name} – Product Name.
  • Added new Thank You page shortcode options:
    [wpec_ty field=product_id]
    [wpec_ty field=product_name]
  • Added a new feature to sell limited quantity of a product. You can edit a product and enter a value in the „Quantity Available“ field to sell limited quantity of a product.


  • Improved the variation product’s price tag related classes.
  • The donation type product will continue to show the PayPal checkout button even when the default price is set at $0.


  • Added Venmo payments support. Your customers can pay using the Venmo option from the PayPal checkout popup window.
  • Added a new advanced settings option to allow other WP user roles to be able to access the admin dashboard of the plugin.
  • Fixed a decimal precision error.
  • Added Place Order button instead of the PayPal button for orders with total $0 (when 100% discount coupon is applied).
  • Added Billing and Shipping fields on the purchase form for orders with total $0 (when 100% discount coupon is applied).
  • Update the language POT file. Fixes #54


  • New feature for download link expiry option.
  • Increased the transient expiry time to improve the Error Code 3004.
  • Added Spanish language translation file.
  • Fixed a typo in the file download field’s description text.
  • Improved the products and orders list table display for mobile device screens.
  • The Order search feature has been revamped. The revamped search feature will work on new orders going forward.


  • Added gateway option ‚Checkout Popup Title‘ for the WooCommerce integration.
  • Load payment popup form on the WooCommerce checkout page.
  • Fixed paypal actions on input change.
  • Added filter ‚wpec_render_custom_order_tag‘ that allows to render custom fields via Order Tags renderer.
  • Custom Fields Addon integration related:
  • Added action hook ‚wpec_payment_form_before_variations‘ on the product purchase form before variations.
  • Incapsulated fields validation and errors display. Fields now validated independently and addons can add own fields to the form validation process.


  • Added a feature to „Resend sale notification email“ action. You can find it in the „Order Actions“ section of the Order in question.
  • Added class Emails to handle all plugin email notifications. Moved all emails related code to new Emails class.
  • Only allow admin users to be able to create and edit Products.
  • The debug log file name is auto generated to a unique name.
  • Small text change in the woocommerce integration settings.
  • Changed Filters ‚wpec_buyer_notification_email_body‘ and ‚wpec_seller_notification_email_body‘. Replaced parameter $payment with $order.


  • Added a section in the Orders menu to show the download link for the item that was purchased.
  • Added Tools menu that will allow the site admin to send an email to a customer. Useful for re-sending download links to a customer.
  • Woocommerce checkout integration. We will add usage documentation for it soon.


  • Added new product type called „Donation“.
  • The donation type product can be used to specify a minimum donation amount. This forces the customers to enter a minimum donation amount.
  • The documentation for the new Thank You page customization shortcode is now available. View the documentation here.
  • Fixed and issue with the ‚Allow customers to specify quantity‘ option.


  • Added some missing translations strings.
  • Fixed WP 5.0 backward incompatibility issue.
  • Added Order_Tags_Html class to generate order tags with HTML output. Later it will used as the parent class for email tags generator with plain text output.
  • Added Thank You parts shortcodes that will allow the customization of the Thank you page.
  • Allow the use of $content parameter in wpec_thank_you shortcode callback.
  • Changed to using „require_once“ instead of „require“ for the inclusion of the „swpm_handle_subsc_ipn.php“ file to prevent fatal error.
  • Integrated License Manager plugin. 100% Covered by unit tests.
  • Refactor integrations: – Created Integrations namespace – Moved integrations code to separated folders – 100% cover integrations by unit tests
  • Improved Payment processors.


  • Added filter ‚wpec_product_template‘ – to allow plugins override templates.
  • Moved arguments parsing logic from Shortcodes::generate_pp_express_checkout_button() to Shortcodes::shortcode_wp_express_checkout()
  • Added Integration with Simple Membership Plugin. We will create a usage documentation for it in the upcoming days.
  • Added fallback to a Product Price metabox for disabled addons.
  • Use original Variations array structure in payment-form.php
  • Handle Order create/retrieve errors using exceptions.
  • Fixed WP eMember integration.
  • Move back-end methods from Products class to appropriate classes in admin section


  • Save payer’s PayPal email address in the order meta field. Ensures order search by customer email.
  • Added a new column ‚PayPal Transaction ID‘ to the Orders list.
  • Added the ability to search an order using the PayPal Transaction ID.
  • Added order meta field wpec_order_resource_id to use instead of transaction_id item of wpec_order_data meta field.
  • Added ‚Thank You Page URL‘ on a per-product basis.
  • Added shortcode attribute ‚thank_you_url‘ to override global setting via the shortcode.
  • Improved the help text with a link to the documentation page explaining what to do if the thank you page has been deleted accidentally
  • Replaced namespace WPEC with WP_Express_Checkout for better stability
  • Refactored files according to WP standards and new classes names
  • Use namespace WP_Express_Checkout for all classes.
  • Updated the POT files


  • Renamed the „Show in a Modal Window“ field to „Show in a Popup/Modal Window“ to make it easier to understand.
  • Renamed the „Open Modal Button Text“ field to „Popup/Modal Trigger Button Text“ make it easier to understand.


  • Added Product option „Open Modal Button Text“.
  • The open modal button text can be used to customize the button text that triggers the modal/popup window.
  • Save empty Price as 0. Generate Price tag on the Products list in admin dashboard.
  • updated the help text of the „Open Modal Button Text“ field.


  • Triggering wpec_paypal_sdk_loaded event not early than jQuery ready. Fixes issue when event triggered before callback registered and buttons don’t appear.
  • Added hooks ‚wpec_settings_tabs‘ and wpec_settings_tab_{$action}“ for using in addons.
  • load PayPal script asynchronously with a trigger for loading buttons.
  • Added parameter $mode to WPEC\PayPal\Client methods
  • Do not show TOS error on page load
  • Save and validate product price only for One Time payment type.
  • Changed default value for Button Text optoion from „Buy Now“ to „Pay“
  • Process orders with 0 total.
  • Added checkbox to the Products list
  • New usage video updated in the readme file
  • readme file updated with new checkout demonstration video


  • The billing address and shipping address is shown (if available) on the order page or an order.
  • Added Product option ‚This is a Physical Product‘ to enable shipping address collection at the time of checkout
  • Added product id reference to all top level elements in templates. Closes #23
  • Fixed an issue with the global post variable when no template is used in the shortcode.
  • Fixed an issue with variation radio options names.
  • Added Grunt task to generate WIP log from the latest commits log
  • Display product metaboxes above the Yoast SEO metabox
  • updated readme to set wp compatible to wp5.7


  • There is a new checkout form option to show the PayPal buy now button to be on a modal window. If you don’t like this new option, you can turn off the „Show in a Modal Window“ checkbox in the settings menu of the plugin.
  • Added a new parameter modal=“0″ to the shortcode. It can be used to disable the use of modal/popup window.
  • Use SVG spinner on Coupon redemption.
  • Minor CSS changes for Buy Now button.
  • Updated the POT file.


  • Added a feature to enable Terms and Conditions. When enabled, customers have to accepts terms before they can make a payment.


  • Fixed an issue with the variation feature.


  • Added a new feature to allow configuration of variable products.
  • Fixed a small bug with the „Allow customers to enter quantity“ feature.


  • Fixed an issue with the single post page not generating the buy now button on some installs.
  • Added integration for WP eMember plugin:


  • Added discount coupon feature. Admins can configure discount coupon that can be used by your customers.
  • The HTML email type will work with seller email also.


  • Added a new feature to allow sending of HTML emails (for the buyer notification email). Thanks to Pierre.
  • Added a product block inserter.


  • Added feature to handle shipping cost.
  • Added feature to handle tax.
  • Fixed a bug with currency (when non USD currency is used).


  • Added „Button Type“ style in the individual product configuration interface. So the button type style can be set on a per product basis.
  • Added an action hook for the download request processing. Can be used to override the download request processing via an addon plugin.


  • Added a new feature that allows the admin to configure products where the customer can specify the amount. Useful for accepting donations.
  • Added settings link in the plugin’s menu listing page.
  • Added new product download handing via a unique URL.
  • The product thumbnail is now shown in the products listing in the admin menu.


  • Added new settings to allow customization of currency formatting.
  • Added a new settings option to specify the currency symbol.
  • There is a „Product Thumbnail“ field that you can use to specify a thumbnail image of a product.


  • Added a new template to display the product with item details and a PayPal express checkout payment button.


  • Removed the requirement to have to specify a download URL for products.
  • Plugin’s language text domain updated.


  • Minor improvements to the settings menu.


  • First Release