WHMCS PayPal Billing Agreements

We are in need if a custom payment module to create recurring payment agreements using PayPal Billing Agreements with Reference Transactions. This module would be different than the default functionality built into WHMCS which creates a recurring payment profile for a customer. We want to use the PayPal reference transaction tokenization and bill-on-demand features to be able to easily change the payment amount and be able to bill on demand instead of waiting for PayPal to send a fixed payment on PayPal's recurring payment schedule. We have our PP account configured to allow these services.

Essentially, this module would make PayPal's functionality in WHMCS nearly identical to a credit card gateway except that instead of supplying CC info to a gateway, the module would supply the PP ref txn token to make a charge.

Functionality will need to include creating the billing agreement with the customer, and provision to tie into the regular WHMCS hooks for regularly scheduled payments. Rebills that are due on invoices would probably need to run with WHMCS cron daily similar to capturing credit card payments unless there is a better method.

In addition, this module must coexist with the current default PayPal recurring payment scheme in WHMCS and continue to support the current (legacy) payment agreements in place with established customers. So, it will need to work with the WHMCS PayPal IPN processor in a way that IPN notices for the existing (legacy) payments go to the current built in WHMCS module while IPN notices related to the new module are properly passed and processed by the new module.

Not really. Basically this module will allow you to bill the client whatever you want after they have authorized you to do so, so if a recurring payment changes, for example, if your selling a service for $50 a month and then later there's a price increase/decrease (let's just say it goes down to $40), the client won't have to cancel their existing $50 PayPal subscription and setup another subscription for the new amount. You can just bill the client whatever amount appears in WHMCS when the price changes.

We are in a position where once our service resellers reach a certain monthly sales volume, or refer a certain number of sales each month, they get a discount and the price decreases for all of their existing recurring orders as well as future ones. So currently this means that they have to go to PayPal and cancel all of their subcription profiles and setup new ones on their next invoice payment. Some of our resellers have 50 or more recurring PayPal subscriptions setup so as you can imagine, it's a really time-consuming chore to have to ask them to cancel them all and setup 50 new ones. It really makes our billing system look out of date and unprofessional. We need to be able to update the amounts they will be charged on our end and then PayPal bills them that amount so the client doesn't have to go through this procedure.

An example would be that of what GoDaddy uses. They don't use PayPal subscription profiles because the amount they charge you often varies from month to month, like when an introductory price ends, or for different billing cycles etc. It would be a pain to have to keep cancelling subscriptions all the time and setting up new ones. For a comapny that size, it will massively effect the bottom line. Same goes for us.

Also, you said to get rid of the old PayPal modules. I wouldn't get rid of them. People may still need to use fixed profiles subscription amounts for whatever reason. I would have this PayPal module in addition to the others.

Yes VPS's are one of many services where this feature would be very useful. VPS's get upgraded/downgraded all the time so having billing agreements for this would make life a lot easier for many VPS providers and their clients. We don't sell VPS's, but I bet a large amount of WHMCS clients do. I still can't understand why this hasn't already been implemented by default. It took me a while to believe that this feature wasn't actually available yet. I actually thought that the support ticket guy got it wrong when he told me this feature wasn't avaialbe in WHMCS at present.

It would basically allow you to bill whatever you choose to bill, provided the client has approved a PayPal authorization request was presented to them. Basically, when they sign up, they would be taken to a PayPal payment screen with would ask them if they would like to authorize you to take payments from their account when due. I can't remember the exact wording they use but that's basically it. Then you can charge the clients PayPal account for any future billing/payments, for whatever amount, instead of having to get them to cancel a subscription profile for a fixed amount per month and having them setup a new one.