Panellicense

Set up PayPal Payments Standard in Blesta with refunds

How to install and configure PayPal Payments Standard in Blesta, locate the Classic API credentials, and enable refunds from the admin panel.

4 min readUpdated 2026-05-16blesta · paypal · payment-gateway · refunds
schema: HowToschema: FAQPage

PayPal Payments Standard is the redirect-style PayPal flow — customer clicks pay, lands on PayPal, comes back to Blesta with an IPN confirmation. It works on day one with no API keys. The friction is refunds: to issue a refund from inside Blesta (instead of logging into PayPal manually for every one), the gateway needs Classic API credentials, which PayPal has buried behind a multi-click menu since the NVP/SOAP deprecation drama.

This guide covers the full install, the exact PayPal menu path to find the Classic API signature, and the IPN configuration. Already running Stripe Payments? PayPal can sit alongside it as a second gateway with no interaction.

Install the gateway

In Blesta admin go to Settings → Company → Payment Gateways → Available, find PayPal Payments Standard, and install. Open Manage on the new entry.

At minimum, enter:

  • PayPal Email Address — the receiving business account
  • Sandbox — toggle on for staging, off for production

Save. Customers can now pay invoices via the PayPal redirect. Refunds and capture-on-Blesta features will not work yet — that needs the API credentials below.

Find the Classic API credentials

PayPal supports two API styles: REST (modern, OAuth2, what their docs push you toward) and Classic (NVP/SOAP, username/password/signature). Blesta's PayPal Payments Standard gateway uses Classic. REST credentials will not work — you will get cryptic auth errors when trying to refund.

The path to request the signature is buried. As of 2026:

  1. Log in at paypal.com with the business account.
  2. Click the gear icon (top right) → Account Settings.
  3. In the left sidebar: Account access.
  4. Find API access → click Update.
  5. Under NVP/SOAP API integration (Classic) click Manage API credentials.
  6. Choose Request API signature (not certificate). Confirm.

PayPal generates three values:

  • API Username (looks like business_api1.example.com)
  • API Password (random alphanumeric)
  • Signature (long random string starting with A...)

Paste all three into the Blesta gateway config screen (API Username, API Password, Signature fields) and save.

Configure the IPN URL

PayPal sends Instant Payment Notification callbacks to confirm completed transactions. Blesta's IPN endpoint pattern is:

https://billing.example.com/callback/gw/<company_id>/paypal_payments_standard/

<company_id> is 1 on a single-company install.

In PayPal: Account Settings → Notifications → Instant payment notifications → Update → Choose IPN settings. Paste the URL, set Receive IPN messages to enabled, save.

You do not need to subscribe to specific message types — IPN is a single endpoint that receives all transaction events. PayPal does not have the Stripe-style "subscribe to all events" footgun.

Test a transaction

Toggle the gateway into Sandbox mode, create a $1 test invoice, and pay it from the client area using a PayPal sandbox buyer account (create one at developer.paypal.com). Confirm:

  1. Customer is redirected to sandbox.paypal.com, completes payment, redirects back.
  2. Blesta invoice flips to Paid within ~30 seconds (IPN is slower than Stripe's webhook).
  3. Billing → Transactions records the transaction with PayPal's transaction ID.

If the invoice does not update, PayPal's IPN history in the merchant dashboard shows whether the callback was sent and what HTTP status Blesta returned. A 200 with no state change usually means the IPN URL has a typo or the <company_id> is wrong.

Once verified, toggle Sandbox off and re-test with a $1 live transaction. Real money, but you can refund it immediately to confirm the refund flow.

Issue a refund from Blesta

With the Classic API credentials saved, refunds work from the Blesta admin: Billing → Invoices → [invoice] → Transactions → Refund. Enter the amount (full or partial), confirm. The gateway calls PayPal's RefundTransaction NVP method, PayPal returns success, and Blesta marks the transaction refunded.

If the refund button is missing or returns "gateway does not support refunds", the API credentials are missing or incorrect — re-check that you used Classic (signature) not REST.

Why can I not refund a PayPal transaction from Blesta?+
The PayPal Payments Standard gateway needs Classic API credentials (username, password, signature) to issue refunds. REST credentials do not work. Request a signature under Account Settings → Account access → API access → NVP/SOAP API integration.
What is the PayPal IPN URL for Blesta?+
https://your-billing-domain/callback/gw/<company_id>/paypal_payments_standard/ — company_id is 1 on a single-company install. Set it under PayPal's Instant Payment Notifications screen.
Does Blesta's PayPal gateway need REST or Classic API credentials?+
Classic (NVP/SOAP) with a signature. PayPal's UI defaults toward REST, but Blesta's PayPal Payments Standard module only speaks Classic for capture and refund operations.
How long does the PayPal IPN take to mark an invoice paid?+
Usually 10-30 seconds after the customer completes payment, depending on PayPal's queue depth. Anything beyond a minute suggests an IPN configuration problem — check IPN History in the PayPal merchant dashboard.

Next steps

Switch in an afternoon

Switch from your current reseller — free.

We migrate active cPanel, Plesk, LiteSpeed and CloudLinux licenses from any reseller. We prorate the first month so you never pay twice, and your customers see zero downtime during the swap.