PayPal is a global e-commerce business that operates in 190 markets and manages more than 200 million accounts, allowing you to accept online payments in 25 currencies worldwide.

The PayPal module offers all-in-one payment solution that lets you accept credit card, debit card, and PayPal payments.

  • Accept all major debit and credit cards.
  • Accept PayPal payments.
  • No Credit Application, No Monthly Fees

With this module you can also give an option to subscribe for any recurring services you have created. PayPal will automatically charge your clients every billing period and automatically apply its amount to the appropriate invoices in HostBill.

  • Enable/Disable Subscriptions in invoices
  • Disable One Time payments when subscriptions are available

Activating the module

In order to activate the module login to your HostBill admin panel, go to Settings → Modules → Payment Modules, choose PayPal (class.paypal.php) gateway and click Activate.  

Module configuration

Once the payment gateway is activated you need to configure it. 
Please see external articles on how to setup:

Then proceed to filling in all other configuration fields:

  1. PayPal Email - enter your Email addres used to log into PayPal, this is the only mandatory field.
  2. Tick if you want to Disable Subscriptions
  3. If Subscription is available disable One Time Payment
  4. Terminate Subscription - cancel client subscription if the client's account is terminated (requires API credentials)
  5. API Username - required for automated refunds and subscription termination
  6. API Password - required for automated refunds and subscription termination
  7. API Signature - required for automated refunds and subscription termination
  8. Verify PayPal email - requires API details above. With this option on client will be required to provide PayPal email address during order. It will be used during Order: Authorization step.
  9. Locale - Locale string used in Subscription/Pay now buttons. Example: en_GB, ru_RU
  10. Enable shipping address - if enabled a shipping address will be sent to PayPal
  11. Skip email/business verification - if enabled HostBill will not check business email value of callbacks - useful if using more than one PayPal account
  12. Accept callback with HTTP 500 verify error - sometimes PayPal IPN handler responds with HTTP 500 error even when transaction is valid, when this option is enabled HostBill will accept such transaction
  13. Disable Explicit TLS - on some hosts, setting explicit tls protocol fails with callbacks with fsocsopen error. Try to disable it here and test callback again.

Setting PayPal Instant Payment Notification

This step is required for HostBill to be notified once your customer pays via PayPal

  1. Login to your PayPall Account and go to My Account → Account Settings
  2. Go to Website Payments →  Instant Payment Notification → Update 
  3. On Instant Payment Notification (IPN) page click on Edit Settings
  4. Enter your PayPal module callback url in the Notification URL input box, callback url can be found on PayPal module configuration page in HostBill
  5. Check Receive IPN messages (Enabled) radiobox
  6. Click Save

Configuring refunds through PayPal API

For refunds to work you will need to supply a PayPal API access.

  1. Login to your PayPall Account and go to My Account → Account Settings
  2. Click Update  on the API Acces link under Account access section
  3. Under "NVP/SOAP API integration (Classic)"  click Manage API credentials
  4. Copy your API username, password and signature to HostBill PayPall module settings, and save those changes


Question: I've enabled the module but it does not display in my client portal.
Answer: This module does not support the currency you attempt to display it in, please use background currency conversion.

Question: Subscriptions are enabled in PayPal module, yet subscribe button not always appear.
Answer: Subscribe button only appears on invoices that have recurring services on it. If customer already subscribed for given service but payment was not yet collected - subscribe button will also not appear.