PayPal On-Demand Billing Agreement Module

PayPal On-Demand Billing Agreement Module

Developed By MyWorks Design

Compatible with WHMCS v7.4


Tired of dealing with messy one-off PayPal payments, incorrect PayPal subscriptions, E-Checks and the hassle of free trials? Here’s the module for you! Now you can correctly factor in account credits, varying invoice amounts, and much more! With our module / gateway, you’ll be able to treat your customer’s PayPal account like a credit card, charging it whenever necessary – for whatever amount you’d like!

Our module uses a token-based payment system with PayPal, allowing you to store a ‘token’ that PayPal uses to charge your client’s PayPal account whenever you’d like – just like a credit card! This will change the way you look at your PayPal payments forever – even free trial products can be set to create a billing agreement so that if the client checks out with our module for a free trial, their token will be stored to allow you to charge them upon the expiration of the free trial.

Once the customer sets up the billing agreement by going through the PayPal checkout process once and clicking Agree to set up the Billing Agreement, they’ll never need to go through the PayPal Checkout process ever again – which means easy one-click ordering for them on your site for them in the future!

Complete with awesome features: Total migration control – canceling existing PayPal Subscriptions once a customer uses this gateway; Easy admin features like billing agreement ID management and easy backend charging, and complete compatibility with other gateways, awesome free trial compatibility; this gateway is simply the best WHMCS gateway that exists! It even handles E-Check payments and marks the invoice paid only when the E-Check clears!

We’ve taken all the hassle out of coding and API’s, so you can offer your customers a seamless checkout and billing experience – and enjoy an easier back-end billing process as well!


Auto-Cancel Existing PayPal Subscriptions

Brand new killer feature! When a customer pays with this gateway for the first time, you can set the module to cancel any existing PayPal subscriptions the customer has with you, making the migration process a piece of cake!

Non-Payment Billing Agreement Signup

Using a dedicated client-side page, clients can sign up for a billing agreement without even paying an invoice, making it easier than ever to migrate customers to this new gateway!

Auto-set Default Payment Gateway

Change the default payment method of clients who checkout through this gateway to always use this gateway in the future.


No Additional Monthly PayPal Fees

No extra charges or fees through PayPal for you!

NEW! $0 Checkout / Free Trial Compatibility!

Offering a free trial product and would like to collect a payment method up front? Just like requiring a credit card number at the beginning of a free trial, use our optional feature to redirect the client to create a Billing Agreement before completing checkout of a free product – enabling you to immediately charge them once the trial has expired!

NEW! PayPal E-Check Support

Now when a client pays with an E-Check through our module, their invoice/order won’t be accepted or marked as paid until the E-Check goes through! Finally, this is the first WHMCS PayPal module to offer this support, and we’re excited to share it with you!

Compatible with New PayPal Checkout Design!

Now you can choose between the old (standard) PayPal Checkout design or the New Enhanced version! See images on the right for examples.

Fully PCI Compliant

No PayPal or card details are stored on your site, only a PayPal token, ensuring your site meets the latest PCI requirements.

Confirmed PayPal Address Compatibility

Check your client’s PayPal Account addresses for added seller security, as they now are included in the PayPal transaction details.

PayPal Billing Agreement Functionality

Utilize PayPal’s Billing Agreement API’s to easily charge your customers custom amounts when you choose!

On-Demand Billing Module

Don’t want to create an invoice? Quickly charge a customer (must have already setup a billing agreement) using our QuickCharge module. It will automatically generate an invoice and optionally send an invoice creation and / or payment receipt to your customer!

Optional One-Time Payment Button

Optionally enable a one-time payment button on your order form / invoice page alongside our standard PayPal payment button to give your clients the choice between signing up for a Billing Agreement or just making a one time payment.

Make PayPal Account Optional

If the above one-time payment button is enabled, use this module option to direct your client to an optional PayPal signup page, instead of being forced to make a PayPal account. This is a great option for clients who don’t want to make a PayPal Account!

Enhanced Currency Recognition!

Charge clients in the currency of your choice – recognizes the currency being checked out with & the client’s default currency choice.

Easy One-Click Ordering

After your customer sets up the Billing Agreement by simply checking out through PayPal’s Express Checkout for the first time, they’ll never have to go through that process again. They’ll simply need to click ‘Order’ or ‘Pay’ on the checkout page or invoice screen to pay.

Custom PayPal Checkout Page Variable

Created custom checkout pages in your PayPal account? Perfect! Easily set this module to use a specific custom page theme when your customer goes through the PayPal Checkout Process the first time they checkout using the gateway.


Seamless Billing Agreement Setup

Just like your customer goes through the PayPal Checkout Process now with the standard PayPal module, they will go through the exact same process the first time they checkout with this gateway to agree to the Billing Agreement, then they’ll never have to go through it again, they’ll be automatically charged in the future.

Optionally Disable Invoice Created Emails

When your clients are on automated billing, like our module is, the last thing you want is to send them the confusing emails from WHMCS telling them an invoice has been created. Remove the confusion from your correspondence and move to a truly automated system!

Custom Success URL

Want to send your clients to a custom page after they pay successfully? Enter in a custom URL, and we’ll do just that!

Custom PayPal Button

Set your own URL for a custom PayPal button – don’t be stuck with the standard button!

Admin Billing Agreement Management!

View the Billing ID history of your clients right on their Summary page, as well as being able to delete or cancel the current Billing Agreement ID with one click!

Billing Agreement Summary Page

See all the clients you have signed up with Billing IDs, both active and inactive! Cancel or Delete the Billing Agreement IDs with one click!

3rd Party Compatibility

Compatible with other remote charging gateways, will recognize if the remote token is not a Billing ID and replace it with a Billing ID when checking out.

Auto-Update Billing Agreement & eCheck Statuses

Use IPN or a cron job to automatically update the status of your client’s Billing Agreement IDs – to ensure the active ones are kept in place and the inactive ones are made non-current to avoid billing errors. Choose whether to mark your invoices paid when an eCheck is initiated, or when it clears!

Existing PayPal Gateway Compatibility

Already using the standard PayPal gateway? No worries – keep using it in conjunction with this gateway!

Complete Cron Job Integration

Charge your customers with regularity since this module integrates 100% with cron jobs! They’ll be charged with this module automatically when the cron job runs and their invoice is due.

Refund Compatibility

Need to quickly refund a transaction? No problem – just use the built-in refunds section in the Invoice panel to refund your customer straight to their paypal account!

Invoice Integration

Want to charge your customer for an invoice ahead of time? No problem, this module integrates with the Attempt Capture button on the admin invoice page, so you can automatically capture the invoice amount whenever you choose!

Billing Agreement Visibility Need to cancel or reset a billing agreement? Your customer’s billing agreement ID will be shown on their Customer Summary tab in the admin. You can change this or delete it to force them to setup a new Billing Agreement when checking out or paying for an invoice next.



5 stars
4 stars
3 stars
2 stars
1 star

micheal Cote @getstreamhosting

November 12, 2017 at 12:44:31 AM

Work Great for us.
Had to call Paypal to get Reference Transactions enable. Was approved within 15 Minutes on a Sunday.
Yes, we have paypal pro. Yet Reference Transactions is not part of paypal pro.

  • 2 months ago

Liz Janal @ljanal

September 12, 2017 at 10:04:33 PM

Little buggy

  • 4 months ago

emilio k @ekaram

September 4, 2017 at 04:00:34 PM

Module working perfectly for over 2 years, and support from MyWorks is top notch!

Highly recommended.

  • 4 months ago

Michael Gray @MikeG

August 28, 2017 at 10:58:18 PM

While the module works fine on its own BEWARE that if you are forced to also use the official WHMCS paypal module for existing customers that don't want to migrate over you will have MANY MANY bugs.

Contacting support will result in responses that are weeks apart, and if you purchase the "fast track support" they will not have 1hr response times as they advertise. Additionally any fixes they upload to your site will be untested and they will be testing those fixes out on your live installation. We now have literally hundreds and hundreds of transactions that are blank and not logged in any way due to these untested changes they uploaded to "Fix" the issue.

If you contact their sales they will respond very very quickly, but that is because you are interested in getting service and paying them more money. Once you're a customer it is minimal effort support with no interest in solving bugs with their software.

Summary: While the module by itself is great beware their support. Contacting them will be a very slow process and they will cause far more damage than good in troubleshooting the problem with each response that comes about once a week or so.

Edit: Surprise surprise as soon as we posted this review they responded to our ticket 28 minutes later mentioning the review. Shows that they are indeed ignoring tickets instead of solving them.

Edit2: In response to this developers comment we need to clarify some things since they aren't being honest. What this developer doesn't disclose is that for nearly a month we repeatedly asked them to revert the untested changes they did to our production WHMCS. They continually said there was nothing wrong with their changes and that WHMCS was flawed. After a MONTH of them refusing to go in and fix the problems they caused we decided to take matters into our own hands by uploading a fresh copy of the module removing all of their poor coding that they added. This solved all the problems they introduced and have said below are caused by other things. Sadly the original bug that has been there for nearly a year is still present. There is nothing wrong with our WHMCS and the WHMCS staff have confirmed this. It is simply the MyWorks Design poorly designed and doesn't work well with the official PayPal module. As for their fasttrack support they "guaranteed 1hr response times the life of the ticket" it is unfortunate that expecting 1 hour response times is an "unreasonable attitude" as they have put it.

Again please be wary of this developer. The module works great on installations where you NEVER use the original WHMCS Paypal such as our second license but if you have to use both at the same time be prepared for many bugs that the developers will not fix and will refused to acknowledge when they cause additional problems in your production environment. To avoid this don't give them access to your system. Upload any changes they want to make manually and then test yourself so that you can remove such changes when they cause other bugs.

MyWorks Design @MyWorksDesign

September 4, 2017 at 09:41:39 PM


We're sorry to hear that you're having issues with our module. Obviously there are two sides to this story, and we won't be disclosing the content of your support tickets with us to clarify our position.

Unfortunately, as we mentioned many times in our ticket with you, the errors you're encountering are purely localized to your WHMCS installation. We showed you specific screenshots of very visible WHMCS discrepancies in your system, yet you chose to repeatedly ignore them and demand we resolve an issue we had no control over. As if this couldn't be any clearer, the second license of our PayPal Billing agreement module you have with us was showing none of the same issues, and we repeatedly showed you examples from our live and staging test sites that proved this was not a module-related issue.

We have over 1000+ happy WHMCS users actively using this module (as evidenced by hundreds of reviews and feedback across the WHMCS network), and not one has reported the same issues you asked us to assist you in resolving. We repeatedly attempted to clarify this with you, however you chose to ignore us.

When you didn't receive immediate replies to your fast track support ticket, we refunded your $24.99 payment after you expressed your extreme displeasure in not receiving hourly updates. Your unreasonable attitude has assisted us in better clarifying our fast track support policy for future clients, we appreciate your feedback.

In summary, we advise you contact WHMCS to troubleshoot WHMCS-related issues, set up a staging site and attempt to reproduce the issues you're seeing on your live site there. The second license of our module that's working perfectly fine for you is a great example of the reason this should be done.

Owner@MyWorks Design  
  • 4 months ago
  • Edited

Claudio Rinek @cloferba

July 24, 2017 at 10:52:27 PM

They offer excellent support.

  • 5 months ago
  • Version Number 2.5
  • Edited

Dason Goh @dasongoh

April 19, 2017 at 07:56:56 PM

If you accept payments via PayPal, then this module is a must-have! Support is first class and very patient and understanding. Amazing product and team!

  • 9 months ago
  • Version Number 2.4

Mathieu Reho @cliXtar

February 24, 2017 at 01:35:06 PM

Very powerful and useful module, I recommend it to anybody that like to open a hosting company with no trouble with credit applies on invoices where PayPal recurring payement is enabled. Also, the support is very professionnal and helped me to setup the Reference Transaction option on PayPal (needed to work).

  • 10 months ago
  • Version Number 2.4

Dale Moravec @Dale

December 11, 2016 at 04:59:20 AM

What Can I say fantastic Module after a few bugs from installation ( I must add it was not an issue with the module but with our payPal settings Which the Staff of MyWorks is quite familiar With and advised accordingly).
It is trouble free and just works, no more messy PayPal subscriptions.

One other plus it does something that it was not designed to do it has also been a Fraud screener for those not so desirable customers who are up to criminal/SPAM activity and try to use a disposable PayPal account to make a purchase I notice it wont let the order pass :)

  • 1 year ago
  • Version Number 2.4

Dax Laverne @Serenade

November 30, 2016 at 12:06:17 AM

The module itself works fairly well, however beware that this module requires Reference Transactions be enabled on your Paypal account. They claim this is free and extremely easy to get, but that's not really the case.

We had to call Paypal 3 separate times in order to get this enabled on our account. The first Paypal rep was adamant a PayPal Payments Pro account ($35/month) was required to enable the feature. The second rep told us a minimum amount of transactions per month was required to have the feature enable. It was only until the third call to Paypal we informed told the request was submitted and should be processed within a couple days.

While this is not an issue with the module itself, it should be made clear on the developer's website that the process is not as simple as they make it sound and is in reality quite the run-around and pain in the arse to get enabled on your account.

MyWorks Design @MyWorksDesign

December 11, 2016 at 05:07:35 AM (Edited)

Dax, thanks for the review - we really appreciate your feedback. We try to convey as clearly as possible to potential customers about the requirement of Reference Transactions being needed for this gateway on our module page, checkout & documentation. Additionally, our support team is available 24/7 to walk clients through best practices for contacting PayPal (besides the step-by-step instructions in our documentation), as well as a few workarounds.

We're glad you got Reference Transactions enabled on your account, and we'd appreciate you updating the stars on your review to 5, considering that this isn't an inherent module issue, as we go above and beyond to compensate for this weakness on PayPal's side. :)

- Peter

Owner@MyWorks Design  
  • 1 year ago
  • Version Number 2.3

M S Bhatti @eShopDesigners

November 29, 2016 at 04:24:51 PM

Super amazing module, we love to use it.

  • 1 year ago
  • Version Number 2.3

Paul Nesbitt @PAC-WebHosting-Ltd

September 21, 2016 at 03:00:30 PM

Excellent module and first class support!

We encountered a slight blip when we first installed the software however upon contacting support this was resolved in less than the time it takes to brew a pot of coffee!

An outstanding module backed up by excellent timely support!

If you take PayPal payments then quite frankly you need this module to make it easy for customers and yourself!

  • 1 year ago
  • Version Number 2.3

Raymond Honauer @Runnerray

August 26, 2016 at 09:20:20 PM

Just finished installing this Module and is well
worth the money. The support I received during installation was fantastic and can highly recommend this module

  • 1 year ago
  • Version Number 2.3

William Phillips @MetallicGloss

August 25, 2016 at 04:40:09 PM


I'm going to leave quite a large review, but the service I have received warrants a big one.

The support I have received over the last few weeks has been, stunning. I took issue with PayPal after they continued giving wrong advice, and even was hung up on a couple of times when enquiring about Reference Transactions. Charles, Peter and Venessa (LiveChat support operators), continued to help me, even at ridiculous times at night for me in the UK and assisted me through the whole processes, going above and beyond what they were required to do. PayPal still to this day is being irritating when it comes to keeping their employees up to date on terminology, if you keep trying, you will find someone who knows what you are on about. MyWorks Design's advice solved our problem, after running into issues with PayPal for 3 -4 days straight, which made myself and my business co-owner overjoyed today when we finally got Reference Transactions enabled.

Now, moving on from their stunning support to their software, just, wow... Not only is it crammed with customization options, quite a few being things we weren't even expecting to be able to do, makes this module for WHMCS well worth the price of it, and the best module we have ever used or purchased. If you are worried that a lot of options could cause an issue, don't be. Everything is very easy to understand, with excellent English, and descriptions allowing you to be able to adjust the system exactly to your needs.

When I first found MyWorks Design, I was slightly bothered by the price, as I hadn't purchased a module at all before. But I can confirm, that it is WELL worth the price, I'm now shocked how it is at that price as it is so helpful. They have a trial, so why not test it if you are unsure?

Ok, summing this module up. The module is so customizable and helpful, pair that with excellent customer support and it is well worth the price!

  • 1 year ago
  • Version Number 2.3
  • Edited

Dilyar Batur @dilyar

August 23, 2016 at 12:04:24 AM

Startups can really use any help that they can get, everything from software to finance to automations. MyWorksDesign's softwares and services are not only able to save us time and money, but also mental sanity to keep up our great work! Your tools are very powerful and dependable, more than I could ask for thanks!

  • 1 year ago
  • Version Number 2.3

Eliran M @bStyler

March 17, 2016 at 07:42:08 PM

We have been using this module for over 2 years now and we can't be happier. Billing Agreements have become an integral part of our business plan and changed our company for good. with a great client retention.

In addition, MyWorks team provide top-notch customer service.

Highly recommended!

  • 1 year ago
  • Version Number 2.3

Version Compatibility

Compatible with WHMCS v7.4

Full Version Compatibility

  • All versions of WHMCS v7.4
  • Selected versions of WHMCS v7.3
  • All versions of WHMCS v7.2
  • All versions of WHMCS v7.1
  • All versions of WHMCS v7.0
  • All versions of WHMCS v6.3
  • All versions of WHMCS v6.2
  • All versions of WHMCS v6.1
  • All versions of WHMCS v6.0
  • All versions of WHMCS v5.3

Support for this product

The best place to start if you need help with a specific product is to contact the developer. All WHMCS Marketplace developers have both a website and support URL listed.

Developed By MyWorks Design


v2.6 Released August 8th, 2017

Latest Version

  • Removed reqbillingaddress=1 as a variable from the NVP String - not necessary
  • Added an option to Require/Not Require Shipping Address on payments
  • Improved the way the invoice total is passed to PayPal to display in the menu cart
  • Adjusted language file dependency - if module language files do not exist, will look for lang/override files
  • Fixed currency gateway variables to resolve rare cases where payments weren't made in the correct currency
  • Added option to disable sidebar in client area paypalbilling.php page
  • Added feature to check Reference Transaction status from within module
  • Added option to Disable the PayPal Button on the Checkout Complete Page
  • Added option to only show One Time Payment Button for specific Client Group
  • Fixed javascript bug with Manage/View button in admin Client Summary tab - in specific browsers
  • Added option to show AutoPay Alert on the Client Area Invoice Page. See our documentation to implement.
  • Improved gateway logging for IPN (billing agreement & echeck) notifications
  • Added option to enable/disable IPN call receiving
  • Remove the "Manual Charge" form from the addon modules page - not necessary for continued use
  • Removed functionality to add payment gateway fee on to invoices/payments. We recommend you use a dedicated 3rd module to accomplish this if still necessary


Previous Versions

v2.5 Released May 1st, 2017

View/hide detailed changelog

  • Removed reqbillingaddress=1 as a variable from the NVP String - not necessary
  • Added an option to Require/Not Require Shipping Address on payments
  • Improved the way the invoice total is passed to PayPal to display in the menu cart
  • Adjusted language file dependency - if module language files do not exist, will look for lang/override files
  • Fixed currency gateway variables to resolve rare cases where payments weren't made in the correct currency
  • Added option to disable sidebar in client area paypalbilling.php page
  • Added feature to check Reference Transaction status from within module
  • Added option to Disable the PayPal Button on the Checkout Complete Page
  • Added option to only show One Time Payment Button for specific Client Group
  • Fixed javascript bug with Manage/View button in admin Client Summary tab - in specific browsers
  • Improved gateway logging for IPN (billing agreement & echeck) notifications


v2.4 Released November 27th, 2016

View/hide detailed changelog

  • Added compatibility for automatic multi-language files to be added in modules/addons/paypal_billing_center/lang/english.php for client area page.
  • Added complete support for adding transaction fees to client payments, both as a new invoice line item or as an extra charge in PayPal only.
  • Added error message to client area billing agreement management page if Reference Transactions are not enabled on the merchant PayPal Account specified in Admin > Setup > Payments > Payment Gateways > MyWorks PayPal Billing
  • Added Reference Transactions status check feature in Module Config as well as Addons > MyWorks PayPal
  • Moved language file from lang/overrides/english.php to modules/addons/paypal_billing_center/lang/english.php for client area page.
  • Added feature to block Credit Card Payment Confirmation emails from being sent on a successful transaction - as Invoice Payment Confirmation email is already being sent.
  • Added extra currency variable in SetExpressCheckout to resolve rare cases of payments defaulting to USD instead of correct WHMCS currency.


v2.3 Released June 28th, 2016

View/hide detailed changelog

  • Added the process of checking Billing Agreement & Echeck status to use IPN or cron job.

  • Added option to pass PayPal Fees to client as a line item in the transaction

  • Added module option to make PayPal account optional when client is using the one-time payment button.

  • Added support to specify a custom PayPal payment button

  • Fixed issue where duplicate payments could be made by user clicking button twice

  • Updated Express Checkout Variables to remove deprecated values


v2.2 Released February 25th, 2016

View/hide detailed changelog

  • Moved the process of checking Billing Agreement & Echeck status from cron job to use IPN

  • Added option to offer one-time payment button as well as default button to sign up for a billing agreement

  • Added customizable gateway fields to specify/change the client-side PayPal button images.

  • Updated Security & Compatibility Issues in Client Area Files

  • Cron job is no longer needed

  • Fixed rare cases where Fatal error: Class 'App' not found would be displayed

  • Fixed small module bugs


See also

Stripe Gateway for WHMCS

This module provides support for the Stripe payment gateway for use with WHMCS.

PayPal Deluxe

A complete PayPal Gateway with additional features that aren’t included in a standard PayPal Gateway!

Paypal No Fees Gateway

Transfer the paypal fees to your customer

Accept Bitcoin and Altcoins - CoinGate Bitcoin Payment Method for WHMCS

Accept Bitcoin payments and Altcoins on your WHMCS website checkout with Receive payouts in Euros, U.S. Dollars or bitcoins.

Amazon Pay For WHMCS

Enable "Amazon Pay and Login with Amazon" in WHMCS for single and recurring payments.