WHMCS

Set up PayPal payments in WHMCS

Activate the PayPal Payments gateway in WHMCS, connect your PayPal business account, enable subscriptions, test with sandbox and fix payments that do not mark invoices paid.

IntermediateWHMCS3 min read

PayPal is one of the most requested payment methods for hosting customers. Current WHMCS versions include the PayPal Payments gateway (based on PayPal's Commerce Platform), which supports PayPal, Pay Later and card payments, plus the older PayPal Basic gateway. This guide uses PayPal Payments.

Before you start

  • A PayPal Business account in good standing (personal accounts cannot use the API).
  • WHMCS reachable over HTTPS with the correct WHMCS System URL in General Settings – PayPal sends payment notifications there.
  • Your base currency supported by PayPal.

Activate PayPal Payments

  1. Go to Configuration → System Settings → Payment Gateways.
  2. On the All Payment Gateways tab (or Visit Apps & Integrations), click PayPal Payments.
  3. Click Activate.
  4. Click Link PayPal Account (or Connect with PayPal). A PayPal window opens.
  5. Log in to your PayPal business account and approve the permissions. WHMCS stores the credentials automatically.

Configure the gateway

  • Show on Order Form – tick so customers can choose PayPal at checkout.
  • Display Name – for example PayPal / Card.
  • Payment options – enable PayPal, Pay Later and card fields as your account allows.
  • Subscriptions / automatic payments – enable so recurring invoices are paid automatically using PayPal vaulting or billing agreements, depending on your version.
  • Convert To For Processing – if PayPal does not support a currency you bill in, convert to one it does.

Click Save Changes. Use the up and down arrows on the gateways list to set PayPal's order on the checkout page.

Use PayPal Basic (alternative)

The classic PayPal Basic gateway uses your PayPal email address and IPN. Enter the PayPal Email, tick Force One Time Payments if you do not want subscriptions, and in PayPal enable IPN at Account Settings → Website payments → Instant payment notifications with the URL https://billing.example.com/modules/gateways/callback/paypal.php. Only use one PayPal gateway at a time for new orders.

Test with sandbox

  1. Create sandbox business and personal accounts at the PayPal Developer dashboard.
  2. In WHMCS enable the gateway's Sandbox mode (where available) and link the sandbox business account.
  3. Place an order as a test client and pay with the sandbox personal account.
  4. Confirm the invoice changes to Paid and the service is provisioned. Switch sandbox off afterwards.

Check payments

Every PayPal callback is recorded in Billing → Gateway Log. A Successful entry with the invoice ID means WHMCS applied the payment. Transactions appear under Billing → Transactions List.

Troubleshooting

  • Customer paid but invoice still unpaid: the callback failed. Check the Gateway Log; common causes are a wrong System URL, a firewall or Cloudflare blocking PayPal, or a currency mismatch. Add the payment manually with the PayPal transaction ID.
  • "Invalid Receiver" or account not linked: re-link the PayPal account from the gateway settings.
  • Payment marked "Pending": PayPal is holding it (eCheck, new account review). WHMCS marks it paid when PayPal completes it.
  • Duplicate payments: customers with old subscriptions plus a new payment. Cancel the old subscription in PayPal under Automatic payments.

Next steps

Was this guide helpful?

Still stuck?

Ask MdmHost AI for a quick answer, or open a ticket and our team will take a look. We are here 24/7.