Allows multiple PayPal accounts to be used. Dual PayPal Payment Buttons allow admins to choose between different PayPal payment methods within the Blesta Billing system. Based upon predefined limits
From £9.99 - View Pricing
What Dual PayPal Payment Buttons gives you
Configure it independently for each brand on a multi-company install, so every company runs with its own settings.
Flip a single switch to run everything against the provider's sandbox while you test, then turn it off to go live.
Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.
A client can clear multiple outstanding invoices in a single PayPal payment, and each one is credited the right amount back in Blesta automatically.
The debit or credit card button lets clients who have no PayPal account pay by card, so you are not turning away anyone who does not want to sign up.
Each invoice is sent to PayPal as its own line, so the client sees exactly what they are paying for on the PayPal screen and in their PayPal receipt.
A built-in demo mode runs the whole extension from bundled sample data, so you can trial every screen and action before you have an account or API key.
Choose the button colour, shape, label and whether the options stack vertically or sit side by side, so the payment area looks like part of your design.
Leave the second account blank and every payment simply goes to the first, so you can start with a single account and add the second whenever you need it.
PayPal's Smart Buttons render directly on the Blesta payment page, so the client stays on your site and only sees a PayPal window for the moment they approve the payment.
Bill and take payment in any of 24 PayPal currencies, including USD, EUR, GBP, AUD, CAD, JPY, HUF and TWD, with the currencies that have no decimal places handled correctly.
Offer Venmo and PayPal's Pay Later options alongside the standard button, each as a single on or off setting, and hide the card button entirely if you would rather not offer it.
Set an amount limit and anything above it is taken with your second PayPal account while everything else uses the first, spreading volume across accounts without your clients ever noticing.
Order creation, every notification received and the payment capture behind it are recorded in Blesta's gateway log, so you can see exactly what happened on any payment without leaving your admin area.
Both sets of PayPal credentials are authenticated the moment you save the settings, and the message tells you which account failed, so a typo is caught immediately rather than on a client's first payment attempt.
Issue a full or partial refund straight from the transaction in your admin area. The gateway works out which of the two PayPal accounts took the original payment for you, so you never have to remember or look it up.
Give either account the ID of its PayPal webhook and every notification from it is cryptographically verified with PayPal before it is recorded. Leave one blank and its payments are instead re-checked directly with PayPal, without affecting the other account.

Add PayPal payment buttons to allow fast and easy payments without requiring the client to have a PayPal account - and split those payments across two PayPal accounts, chosen automatically by the amount being paid.
Payments greater than the Amount Limit you set are taken with your second PayPal account; everything at or below it uses the first. Leave the limit blank and every payment uses the first account, so you can run single-account until you are ready to add the second.
Upload the source code to a /components/gateways/nonmerchant/dual_paypal_payment_buttons/ directory within your Blesta installation path.
For example:
/var/www/html/blesta/components/gateways/nonmerchant/dual_paypal_payment_buttons/
Log in to your Blesta admin area and navigate to:
/admin/settings/company/gateways/available/
Find the Dual PayPal Payment Buttons gateway and click the "Install" button to install it
Register the webhook shown on the gateway's Manage screen in both PayPal accounts - payments are not recorded without it. See the usage guide.
You're done!
Yes. Tick Demo Mode on the gateway's Manage screen and enter any placeholder credentials. The gateway then serves canned PayPal responses, so you can walk the whole payment flow end to end without contacting PayPal or taking a real payment. Turn it off before going live.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

Welcome, and thank you for purchasing the Dual PayPal Payment Buttons Gateway! We're excited to have you as a customer and are committed to ensuring you have a seamless experience. This README will guide you through the installation of your new gateway. If you're new to Blesta or encounter any issues, please don't hesitate to reach out for support.
To install the Dual PayPal Payment Buttons Gateway, please follow these steps:
Obtain the Gateway:
Upload to Blesta:
/var/www/html/blesta/components/gateways/nonmerchant/dual_paypal_payment_buttons/Install the Gateway:
Configure the Gateway:
/admin/settings/company/gateways/installed/).Register the PayPal Webhook (required):
CHECKOUT.ORDER.APPROVED) and Payment capture completed (PAYMENT.CAPTURE.COMPLETED).Enable Payment Processing:
Trying it out first? Tick Demo Mode, enter any placeholder credentials, and the gateway serves canned PayPal responses so you can walk the full payment flow without a PayPal account. No webhook is needed in demo mode. Turn it off before taking real payments.
You're now done with the installation! Proceed to configure the gateway as needed by following the usage guide.
If you encounter any issues or have suggestions for improving the gateway, please get in touch with us. We are committed to providing robust updates and welcome customer feedback.
Installing and updating extensions can now be done automatically through the Blesta Club Subscription Manager - this is the recommended way going forward.

To ensure you're always using the latest version of the Dual PayPal Payment Buttons Gateway, follow these steps to update the gateway within your Blesta installation.
/var/www/html/blesta/components/gateways/nonmerchant/dual_paypal_payment_buttons/No action is required. v2.0.0 changes no settings and no stored data, so your existing credentials, Amount Limit and webhook registrations keep working exactly as before. The new features - staff-side refunds, optional webhook signature verification, credential checking on save, and the button appearance and funding settings - are all optional additions you can start using whenever you like.
Two things worth knowing:
v1.1.0 changes how payments are recorded. You must register a PayPal webhook on BOTH PayPal accounts, or the gateway will stop recording payments after the upgrade.
Before v1.1.0 the gateway recorded the payment itself when the client's browser returned from PayPal. It now records from PayPal's own webhook instead, which means a payment is no longer lost when a client closes the tab before being redirected back.
To finish the upgrade:
CHECKOUT.ORDER.APPROVED) and Payment capture completed (PAYMENT.CAPTURE.COMPLETED).Also note in v1.1.0:
CNY and RUB have been removed from the currency list (PayPal does not settle them) and TRY has been added. If you had selected CNY or RUB, pick a different currency for the affected order forms.Test Mode:
Transaction Testing:
Missing or Incorrect Files:
Payments stopped being recorded after updating:
Credential Issues:
Version Compatibility:
If you encounter any issues during the update process or have suggestions for improving the gateway, please reach out to us. We are dedicated to providing consistent updates and value your feedback.

Welcome, and thank you for purchasing the Dual PayPal Payment Buttons Gateway! We're excited to help you get the most out of your new gateway. This guide will walk you through how to use the gateway effectively. If you're new to Blesta or encounter any issues, please don't hesitate to reach out for support.
The Dual PayPal Payment Buttons Gateway lets clients pay directly from the Blesta pay page using PayPal Smart Buttons, and spreads those payments across two PayPal accounts:
Routing is decided per payment, on the rounded total the client is about to pay:
| Amount Limit | Payment | Account used |
|---|---|---|
100 |
99.99 |
First |
100 |
100.00 |
First (the limit itself is not "greater than") |
100 |
100.01 |
Second |
| blank | any | First |
Leaving the Amount Limit blank - or leaving the second account's credentials blank - keeps every payment on the first account. The gateway will not route to a second account it has no credentials for.
Payments are recorded from PayPal's webhook, not from the client's browser. This is what stops a payment being lost when a client closes the tab before returning to your site.
The gateway registers this webhook with PayPal for you automatically, per account, the first time you save that account's settings with its Webhook ID field left blank. In most cases there is nothing further to do for either account. If automatic registration fails for an account (for example, that PayPal REST app has the Webhooks feature turned off), settings will not save and that account's Webhook ID field will show an error - register it manually:
CHECKOUT.ORDER.APPROVED) and Payment capture completed (PAYMENT.CAPTURE.COMPLETED).You do not need to tell the gateway which account a payment came from - it identifies the owning account by looking the order up against each of them.
Once installed and configured, the gateway is available to clients paying for their services.
If you encounter any issues or have suggestions for improving the gateway, please get in touch with us. We are committed to providing robust updates and welcome customer feedback.
v3.0.0 - 2026-09-15
PHP 8.2 - 8.4 · Blesta 6.x
Requires Blesta 6.0 or later; Blesta 5.x installs stay on v2.x
The settings page has been redesigned for the Blesta 6 admin interface, including dark mode
v2.0.0 - 2026-09-11
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
Fixed webhook payments silently recording nothing: PayPal's capture response does not echo custom_id on the purchase unit (only order re-fetch does), so the client could never be identified and Blesta recorded no transaction for a genuinely captured payment
Fixed the success page showing only "Your payment is being processed" with no Transaction ID, Amount, Currency or Invoices listed below it
Added staff-side refunds: a captured PayPal payment can now be refunded in full from Blesta, and the correct PayPal account is resolved automatically
Refunds also cover payments taken before v1.1.0, whose records stored the payer's email address where the refund reference is now kept
Added optional webhook signature verification: enter a Webhook ID for either PayPal app to have PayPal verify the signature of its webhooks before a payment is recorded, on top of the existing order re-fetch
Added credential checking when saving settings, so a mistyped Client ID or Secret is caught immediately instead of at the first client payment
Added button appearance settings (color, shape, label and layout) and control over which funding sources appear on the payment page (Venmo, Pay Later, and the debit/credit card button)
v1.0.0 - 2024-09-22
PHP 7.2 - 7.3, 8.1 - 8.4 · Blesta 5.x
Blesta Club release
Get exactly what you need and want.
Requires PHP 8.2 - 8.4 · Blesta 6.x
Value: £42.3
Not sure whether to lease or own? Our FAQ explains how the licence types differ.
What our customers say
(0 customer reviews)
It is possible to leave a review only if you have purchased this extension or a Club tier which contains it.
We reserve the right to alter wording or formatting for presentation.
We will discuss any changes made and offer the option to withdraw review text if the changes can't be agreed on.
It may take up to 1 hour for a review to appear or update due to caching.
More extensions to explore
Gateway
Integrate Cryptomus for cryptocurrency payment processing.
PHP 8.2 - 8.4 · Blesta 6.x
Gateway
Integrate PayPal Payment Buttons for simple payment processing.
PHP 8.2 - 8.4 · Blesta 6.x