Billing Agreements

Does your module accept credit cards as well, or just PayPal payments?
Although our gateway’s main purpose is to create a billing agreement between your PayPal account and your client’s, if your client wants to pay with a card, they would simply need to add this card to their PayPal Account, and choose this card to pay when setting up the Billing Agreement (below).

Do I need any particular type of PayPal account to use your module?
ANY PayPal Account will work! Premier or Business type of accounts are recommended, but there are no limitations. All you need to do is contact PayPal and ask them to enable Reference Transactions on your account. It’s a hidden setting you have to contact them to turn on. We make this process as painless as possible for you with our step-by-step instructions.

What are Billing Agreements, and how are they better for me & my clients than subscriptions?
PayPal Subscriptions basically send you a set amount on a set time frame from your client’s PayPal account, so it’s very difficult to bill your clients while they’re adding new products, upgrading, downgrading, etc.

Our module uses PayPal Billing Agreements, which is a complete authorization for you to bill your client’s PayPal account at any time for any amount. PayPal provides you a token through our gateway for this purpose. This token is then stored on your client’s WHMCS account, and can be used through our module to charge them for any new orders, invoices, anything. One Billing Agreement covers the client’s entire WHMCS account, and you can charge the client for whatever amount you’d like at whatever time – just like they have a credit card on file with you, no limitations.

This is better for your billing than subscriptions, as now neither you nor your clients need to worry about missed or late payments, cancelling and re-creating a PayPal Subscription upon a client’s product upgrade, or cancelling a Subscription if a client terminates a product.

When / how could I or my client cancel this Billing Agreement?
Our gateway comes with a dedicated client area page, where the client can manage, view, create or cancel a billing agreement. Through your admin area, you’ll also be able to view and manage the Billing Agreement on the Client Summary page. The client can also cancel any billing agreement through their PayPal account, as can you through your PayPal account.

How does your module affect my standing in PCI Compliance?
Since our gateway uses 100% token-based billing, only a token (B-10282231827222, for example) is stored under the WHMCS client’s account. This token can only be used by your paypal account through our gateway to charge a client, and is thus totally secure. Your PCI Compliance will not be affected.

How many Billing Agreements would one client need? After all, my current clients have 17 subscriptions…one for each product.
Only one Billing Agreement is needed per WHMCS client account, as since it acts like a stored credit card, it will be used for any due invoices or new orders – automatically.

How does a client set up this Billing Agreeement?
The first time a client pays (an order or invoice) using our gateway, they’ll be directed to PayPal’s site, as in a normal PayPal gateway. There, they’ll be shown the total that they’re paying, but instead of the ‘Continue’ button, there will be an ‘Agree & Continue’ button, where they’ll agree to the billing agreement. They will then be returned to your site, and all future payments will use this Billing Agreement, so they will not be redirected to PayPal’s site – the page will simply reload and show confirmation of payment.

Clients can also set up a Billing Agreement without any exchange of funds, simply to have one on file. Our gateway comes with a dedicated client area page, where the client can manage, view, create or cancel a billing agreement.

Module Functionality

Does the gateway capture payment for an invoice on its due date or creation date?
The gateway captures payment for an invoice on it’s due date (or a set number of days before that if set in Setup > Automation Settings) just like a credit card gateway would.

How do I know if Reference Transactions are enabled in my PayPal account?
There’s no actual setting, but if you can check out for a paid product from WHMCS using our gateway, be brought to the PayPal site, login, view an Agree and Continue button (as opposed to a Pay Now button) then Reference Transactions are enabled.

Now that I’ve installed your module, how do I migrate existing customers to sign up for a Billing Agreement so I can automatically bill them in the future.
To migrate your existing clients, follow the instructions in Addons > MyWorks PayPal Billing > Migration Instructions (in the sidebar). Your clients can manage their billing agreement with you by going to http://yourwhmcsinstall.com/paypalbilling.php

How do I view all of the Billing Agreement IDs for my clients in one place?
To see all of the IDs in a Summary, go to Addons > MyWorks PayPal Billing Center > Billing ID Summary

How do I know if a client has a Billing Agreement ID on file?
To view the Billing Agreement ID of a client – just go to their summary page, and you’ll see a new blue bar across the top displaying the details of their Billing Agreement Status if they have an ID on file. If they do not have a Billing Agreement ID on file, this will not show up.


How does WHMCS handle Invoice Created and Payment Confirmation emails for invoices with PayPal Billing as a payment method?
Because of the unique classification of our module, both one-time and recurring payments, WHMCS will by default send out two emails when an invoice is created and paid. We resolve this by blocking one of the two emails – one by default, and one optionally.

Blocking the first type is optional to you: Invoice Created emails. When an invoice is created with our payment method selected, two emails are sent to clients due to the one time AND recurring nature of our module. You may select the option in our module Configuration to turn these emails off for invoices with our gateway, as the payment will be automatically captured, clients don’t need to know that the invoice exists until it’s paid.
Invoice Created
Credit Card Invoice Created

The other type of email is automatically blocked by us: Invoice Payment Confirmation. When an invoice is paid with our gateway, WHMCS sends users two emails, again because of the nature of our gateway:

Invoice Payment Confirmation
Credit Card Invoice Payment Confirmation

We automatically block “Invoice Payment Confirmation” email from sending. No action is needed on your end, and the client will still receive the Credit Card Invoice Payment Confirmation

How can I customize my email content to be conditional on whether or not my client has a Billing Agreement ID?
Simply edit the email template and use the following if/else smarty tags to specify conditional content for that email. The example below is intended for an Invoice Payment Reminder email.

{if $client_gateway_id|strpos:'B-'===0}
Since you have a Billing Agreement ID ({$client_gateway_id}) on file with us, your invoice will be automatically captured X days before it is due.
You do not have a Billing Agreement ID on file with us, so you will need to manually login and pay your invoice before the due date.

Client Area

How can I easily add a Manage PayPal menu item to my WHMCS V6 client area menubar?
We’ve specially crafted a simple hook for you to upload to accomplish this. Simply upload the insertpaypalmenu.zip file below to your includes/hooks folder. You can edit the file contents to place the menu item in the place you desire.

Is there a client area page where my clients can manage and view their Billing Agreement?
Yes! Your clients can manage (view, create and cancel) their billing agreement with you by going to http://yourwhmcsinstall.com/paypalbilling.php

Updated on July 31, 2017

Article Attachments

Was this article helpful?