Paddle is a payment processing platform designed to handle payments, and international transactions. It supports multiple currencies and provides a seamless user experience.
From £11.99 - View Pricing
What Paddle gives you
Bill and take payment in any of 31 currencies, including USD, EUR, GBP, AUD, CAD, JPY, INR and BRL.
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.
Pick the checkout theme that matches your client area, and optionally show the checkout in the client's own language.
Every staff and client label ships in editable language files, ready to translate into any language or reword to match your brand.
Decide whether clients can enter a Paddle discount code and whether they can supply a business tax ID at checkout, each as a simple on or off setting.
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 whether the Paddle checkout opens as a popup over your payment page or renders directly inside it, so it fits the way your client area is laid out.
Issue a full or partial refund straight from the transaction in your admin area and it is sent to the payment provider for you, with no need to open their dashboard.
Transaction creation, every accepted notification and every refund are recorded in Blesta's gateway log, so you can see exactly what happened on any payment without leaving your admin area.
The checkout opens with the client's email, country and postcode already filled in from their Blesta account, and their tax ID when they have one on file, so there is less to type and less to abandon.
Leave the webhook field blank and the connection Paddle needs to notify Blesta is created and subscribed to the right events on your first save, or point it at a notification setting you manage yourself.
A refund issued in the provider's dashboard, or a dispute raised against a payment, is picked up automatically and applied to the matching Blesta transaction, so your records stay in step without manual reconciliation.
Paddle collects the payment and takes care of sales tax and VAT for you, so clients see the right tax for their country without you registering anywhere. Choose whether your invoice totals already include that tax or Paddle adds it at checkout.

Welcome, and thank you for choosing the Paddle Gateway! We're delighted to have you as a customer and are committed to ensuring you have a seamless experience. This guide aims to walk you through the installation and configuration of your new gateway. If you're new to Blesta or encounter any issues, please don't hesitate to reach out for support.
The Paddle Gateway is designed to handle payments within Blesta, allowing seamless integration with your billing system. It supports a variety of payment options via Paddle, making it a flexible and convenient choice for your business.
This gateway uses Paddle Billing, Paddle's current platform. It is not compatible with legacy Paddle Classic accounts, and it does not use a Vendor ID or Authentication Key.
The gateway settings ask for three things, all from your Paddle Billing dashboard:
API Key - Developer Tools > Authentication > API keys. Create a key with read and write access to products, prices, transactions and adjustments, then copy it. Paddle shows the key once, so store it somewhere safe.
Client Side Token - Developer Tools > Authentication > Client-side tokens. This is the public token the checkout overlay runs with; it is safe to expose in the browser.
Webhook ID - optional. Leave it blank and Blesta creates the notification for you when
you save the settings, subscribed to everything it needs. To manage it yourself instead, go to
Developer Tools > Notifications, create a notification destination of type URL, paste
in the webhook URL shown read-only at the bottom of the Blesta gateway settings page, and
subscribe it to all four of transaction.completed, transaction.payment_failed,
adjustment.updated and adjustment.created. Save it, then copy the notification's ID (it
starts with ntfset_) into the Webhook ID field.
The webhook is what actually records payments in Blesta, so a missing or misconfigured
notification means clients can pay while their invoices stay unpaid. transaction.completed
records the payment; the other three record failed payment attempts, refunds approved in the
Paddle dashboard, and chargebacks.
Tick Sandbox in the gateway settings to point the gateway at Paddle's sandbox environment. Sandbox uses a completely separate dashboard with its own API key, client-side token and notification settings - sandbox credentials will not work against live, or vice versa.
Paddle only opens its overlay checkout on domains you have approved. Add your Blesta domain under Checkout > Website approval in the Paddle dashboard, or the payment button will open an empty overlay.
Transaction Failures:
Currency Mismatch:
Invoice totals and Paddle's tax: the Invoice Amounts setting decides whether Paddle's tax is part of your Blesta invoice total (Include tax, the default - use it with Blesta tax rules or tax-inclusive prices) or added on top of it at checkout (Exclude tax - only for invoices that carry no tax). Pick the one that matches how you invoice; with either, the invoice is applied in full when the client pays.
Taxable Categories error:
Payments not recorded:
transaction.completed. A rejected webhook is
logged too, as unverified_signature - that means the notification's endpoint secret no
longer matches the one stored here, so re-save the gateway settings.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.

Welcome, and thank you for purchasing the Paddle Gateway! We're delighted to have you as a customer and are committed to ensuring you have a seamless experience. This README aims to 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.
For detailed instructions on how to install the Paddle Gateway, please ensure you have the license manager installed for leased extensions and follow these steps:
Obtain the Gateway:
Upload to Blesta:
/var/www/html/blesta/components/gateways/nonmerchant/paddle/Install the Gateway:
This gateway uses Paddle Billing, not the legacy Paddle Classic platform.
Create the Webhook in Paddle:
/admin/settings/company/gateways/installed/), find "Paddle" and click "Manage". Copy the
read-only webhook URL shown at the bottom of the settings form.Subscribe it to all four of these events and save:
transaction.completed - records the payment against the invoice.transaction.payment_failed - records failed payment attempts so staff can see them.adjustment.updated - syncs refunds approved in the Paddle dashboard.adjustment.created - syncs chargebacks.Subscribing to transaction.completed alone still records payments, but refunds,
chargebacks and failed attempts will never appear in Blesta.
ntfset_).Configure the Gateway:
ntfset_ ID from step 1 to use your own.Approve Your Domain in Paddle:
Enable Payment Processing:
Taxable category: this gateway bills under Paddle's Website hosting taxable category. Paddle enables only Standard by default, so request Website hosting under Catalog > Taxable categories first - saving the settings fails until it is approved.
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 are using the latest version of the Paddle Gateway, follow these steps to update the gateway in your Blesta installation.
/var/www/html/blesta/components/gateways/nonmerchant/paddle/Upgrading to 3.0.0 - check the new Invoice Amounts setting: 3.0.0 no longer leaves the tax treatment to your Paddle account's default. New and upgraded installs start on Include tax: the client pays exactly the Blesta invoice total, Paddle takes its tax out of that amount, and the full invoice total is applied in Blesta. Earlier versions applied only the part left after Paddle's tax, which left taxed clients' invoices partly unpaid; that is fixed. If your Paddle account was set to tax-exclusive pricing and your Blesta invoices carry no tax, switch the setting to Exclude tax after upgrading so Paddle keeps adding its tax on top at checkout as before. Do not use Exclude tax together with Blesta tax rules.
Upgrading to 2.0.0 - one manual step: 2.0.0 records refunds, chargebacks and failed payment attempts, but only if your Paddle notification is subscribed to the events that carry them. Existing installs are subscribed to
transaction.completedonly, and re-saving the settings does not change that, so do one of the following once:
- In your Paddle dashboard, open Developer Tools > Notifications, edit the notification Blesta uses, and add
transaction.payment_failed,adjustment.updatedandadjustment.createdalongsidetransaction.completed; or- In Blesta, manage the Paddle gateway, clear the Webhook ID field and click Update. Blesta then creates a fresh notification subscribed to all four events and fills the field back in. Your old notification is left in place on Paddle and can be deleted there.
Until you do, payments still record exactly as before - only the new refund, chargeback and failed-payment syncing stays inactive.
Upgrading to 1.1.0: re-saving the settings is recommended rather than optional. From 1.1.0 the gateway stores your webhook's endpoint secret locally so that incoming webhooks are verified without an extra call to Paddle, and that secret is captured when the settings are saved. Until you re-save, the gateway falls back to fetching it from Paddle on each webhook, exactly as before, so payments keep working either way.
Checkouts that a client had already opened before the update still complete correctly - the gateway understands both the old and new checkout formats.
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 robust updates and value customer feedback.

Welcome, and thank you for purchasing the Paddle Gateway! This guide aims to walk you through how to use the Paddle Gateway effectively within Blesta. If you're new to Blesta or encounter any issues, please don't hesitate to reach out for support.
Once installed and configured, the Paddle Gateway will allow your clients to use the supported payment methods seamlessly.
transaction.completed webhook, not by the
client returning to your site. A client who closes the browser mid-redirect still has their
payment applied once Paddle sends the webhook.Staff can refund a Paddle transaction from the client's transaction list in Blesta, either in full or for a partial amount. Notes entered with the refund are passed to Paddle as the refund reason. Refund amounts are stated the same way the payment was recorded: with Include tax a refund of 6.05 returns 6.05 to the client; with Exclude tax a refund of 5.00 returns 5.00 plus the tax Paddle had added on that part, so the client always gets back what they paid.
Note that Paddle is the merchant of record: on live accounts, refunds must be approved by Paddle before money moves. Blesta marks the transaction refunded as soon as Paddle accepts the refund request, but the actual return to the customer happens once Paddle approves it. Voids are not supported by Paddle and the void action will report as unsupported.
Configuring Payment Settings:
/admin/settings/company/gateways/installed/).Enable Paddle for Invoices:
Test Mode:
Mock API Mode:
Switch to Live Mode:
Transaction Failures:
Currency Mismatch:
Taxable Categories error:
Client paid but the invoice is still unpaid:
transaction.completed,
transaction.payment_failed, adjustment.updated and adjustment.created. An entry logged
as unverified_signature means Paddle is reaching you but the notification's endpoint
secret no longer matches the one stored here - re-save the gateway settings to refresh it.The checkout overlay opens empty:
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-14
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
Fixed taxed payments leaving the invoice partly unpaid: the tax Paddle collected was being left out of the amount applied in Blesta. A new Invoice Amounts setting now states whether your invoice totals include Paddle's tax (the default, for Blesta tax rules or tax-inclusive prices) or Paddle adds it on top at checkout (for invoices without tax), and payments and refunds are applied accordingly - check the setting after upgrading, see the update guide
v2.0.0 - 2026-09-11
PHP 7.2 - 7.4, 8.1 - 8.4 · Blesta 5.x
The webhook is now created and managed automatically when the settings are saved; leave the Webhook ID blank to let Blesta provision it, or enter your own to use an existing one.
Refunds approved in the Paddle dashboard, and chargebacks, now sync back to the matching Blesta transaction, and failed payment attempts are recorded as declined so staff can see them. Existing installs must add the three new events to their Paddle notification, or clear the Webhook ID once to have it recreated, before this takes effect - see the update guide.
Added an inline checkout option that renders Paddle's checkout directly on the payment page instead of in an overlay popup.
Added checkout options: a light or dark theme, showing the checkout in the client's language, and letting clients enter discount codes or a business tax ID. A client's stored tax ID is now passed to Paddle automatically. A payment made with a discount code is recorded for the amount actually collected, so the invoice is credited with what was paid rather than the pre-discount total.
A webhook whose signature does not match your saved settings is now recorded in Tools > Logs > Gateway instead of being dropped silently, so a webhook secret that has gone stale shows up as a rejected delivery rather than looking like Paddle is not calling at all.
Fixed a blank error message when Paddle cannot be reached: the settings and refund screens now report the actual connection problem instead of an empty box, and a failure Paddle answers with something other than its usual error format is reported instead of passing silently. The payment page now shows clients a plain message asking them to try again, rather than Paddle's technical error text, which is written to Tools > Logs > Gateway for staff instead.
Fixed the success page showing only "Your payment is being processed" with no Transaction ID, Amount, Currency or Invoices listed below it
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: £65.55
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 Dual PayPal Payment Buttons for handling multiple payment accounts.
PHP 8.2 - 8.4 · Blesta 6.x
Gateway
Integrate PayPal Billing Agreements for subscription management.
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
Gateway
Bill on demand with our Payment Intents gateway!
PHP 8.2 - 8.4 · Blesta 6.x