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:
- Log in at paypal.com with the business account.
- Click the gear icon (top right) → Account Settings.
- In the left sidebar: Account access.
- Find API access → click Update.
- Under NVP/SOAP API integration (Classic) click Manage API credentials.
- 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:
- Customer is redirected to sandbox.paypal.com, completes payment, redirects back.
- Blesta invoice flips to Paid within ~30 seconds (IPN is slower than Stripe's webhook).
- 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?+
What is the PayPal IPN URL for Blesta?+
Does Blesta's PayPal gateway need REST or Classic API credentials?+
How long does the PayPal IPN take to mark an invoice paid?+
Next steps
- Run Stripe alongside PayPal: Blesta Stripe Payments setup.
- Migrating customers in? See the WHMCS to Blesta migration checklist.
- Activate a Blesta license for the production hostname.