PayPal Payment Gateway Plugin For Acelle

Bluehost Shared Hosting

PayPal for Acelle Mail

Accept payments through PayPal — the world’s most-recognised checkout brand, 200+ countries, 25+ currencies — directly from your Acelle Mail install. Ships as TWO payment gateways: one-off and recurring. Customers without a PayPal account can still pay with debit/credit card on the one-off flow. No webhook setup, no IPN configuration, no merchant gateway approval. Drop-in plugin for Acelle Mail. Paste Client ID + Secret, save, sell.

Why PayPal?

PayPal is the single payment method customers know without explanation:

  • 200+ countries supported — PayPal handles the country / language / payment-method matrix for you.
  • 25+ currencies with automatic conversion at PayPal-side rates.
  • Guest card payment — for one-off purchases, buyers WITHOUT a PayPal account can still pay with debit/credit card on PayPal’s hosted page (no signup required, no friction added).
  • No merchant-gateway approval — every PayPal Business account can start accepting card + PayPal balance immediately, no waiting for underwriting.
  • Buyer-side recognition — “Pay with PayPal” reduces checkout abandonment vs unfamiliar card forms. Many customers will choose PayPal specifically because they don’t want to type card numbers into yet another website.
  • PayPal Credit / Pay Later — buy-now-pay-later eligibility is exposed automatically in supported markets at no extra integration cost.
  • Built-in buyer protection — increases trust, especially for cross-border B2C SaaS.

Pair PayPal with Acelle Mail and you get a globally-credible checkout option alongside your existing Stripe / Offline / regional gateways.

What this plugin does

Adds two payment gateways to Acelle’s admin under one plugin:

  • PayPal (Direct Payment group) — one-off charges via PayPal Orders v2. Customer pays with PayPal account OR as a guest with debit/credit card.
  • PayPal Subscription (Remote Subscription group) — recurring billing via PayPal Subscriptions v1. Customer approves once at PayPal; auto-charge each cycle.

Both share the same form (Client ID + Secret + Environment) and use the same PayPal REST app. Enable one or both depending on what your customers need — they show up as two entries in the gateway picker, register independently, and are managed independently. Registers without modifying Acelle core code. Requires Acelle 4.0.24+ and PHP 8.1+.

PayPal Payment Gateway Plugin For Acelle

Headline features

Two gateways shipped together — pick one or both

Acelle’s billing layer distinguishes between Direct Payment (Acelle owns the subscription record) and Remote Subscription (vendor owns the subscription record). PayPal does both, but through different APIs. This plugin gives you BOTH as separate, independently-configurable gateway entries:

  • PayPal (Direct Payment) — calls PayPal’s POST /v2/checkout/orders. Customer approves, return handler calls /orders/{id}/capture inline. One transaction per customer click. Best for: one-time plan purchases, top-ups, pay-as-you-go credits.
  • PayPal Subscription (Remote Subscription) — calls PayPal’s POST /v1/billing/subscriptions against a pre-mapped PayPal Billing Plan. Customer approves once; PayPal handles every renewal forever after. Best for: SaaS plans with monthly / annual auto-renewal.

The admin chooses which to enable. Some operators ship both (one-off for ad-hoc credits, subscription for the actual plans); some ship only one. Both use the same PayPal REST app credentials — there is no separate “subscription credential” at PayPal.

Guest card payment — no PayPal account required (one-off gateway)

On the one-off PayPal gateway, PayPal’s hosted checkout exposes a “Pay with Debit or Credit Card” option below the standard “Log in to PayPal” option. The customer can pay with a card directly without signing up for PayPal — meaning you don’t lose customers who associate PayPal with mandatory account creation.

This is automatic on PayPal’s side; no extra integration work. Acelle just sees a successful capture.

Pull-only sync — no public webhook endpoint required

Unlike most payment integrations that require you to expose /webhooks/paypal and verify IPN / signatures, this plugin does not need any inbound URL:

  • One-off completion commits inline at the return URL — the browser brings the ?token=… back, Acelle captures, done.
  • Subscription renewals + cancellations are detected by RemoteSubscriptionSyncService polling GET /v1/billing/subscriptions/{id} hourly through Acelle’s existing scheduler.
  • Manual “Refresh” button on each subscription page forces a fresh fetch.

Net result for the admin: no webhook_id to copy into PayPal’s developer dashboard, no IPN URL to configure, no event subscriptions to maintain, no HMAC secret rotation. Drop the plugin in, save Client ID + Secret, done.

Modern REST API — no IPN, no Express Checkout legacy

PayPal has multiple integration generations. This plugin only uses the latest REST APIs:

  • OAuth 2.0 for authentication (POST /v1/oauth2/token against Client ID + Secret) — no legacy API username / password / signature triple.
  • Orders v2 for one-off (replaces the legacy Payments v1).
  • Billing Subscriptions v1 for recurring (replaces the legacy Express Checkout Recurring Payments).

If you’ve used older PayPal integrations and dread “IPN handler” or “Express Checkout signature”: those are not part of this plugin. Modern PayPal REST is straightforward; this plugin just wraps it cleanly for Acelle.

25+ currencies, 200+ countries

PayPal handles the country / currency / local-payment-method matrix for you. Configure your Acelle gateway in USD and your German customer can still pay in EUR through PayPal — currency conversion happens at PayPal’s side at their published rate. Brazilian customer can pay with their local Boleto if their PayPal account supports it. Japanese customer sees JCB / domestic options. No extra integration work required.

Supported currencies include USD, EUR, GBP, JPY, AUD, CAD, CHF, NZD, SGD, HKD, SEK, DKK, PLN, CZK, HUF, BRL, MXN, TWD, THB, PHP, MYR, ILS, NOK and more.

Free, fully-isolated Sandbox

PayPal’s Sandbox is bundled with every developer account at developer.paypal.com — completely isolated from Live (separate API hosts, separate balances, separate accounts). Test buyer accounts come pre-funded with play money. You can develop, demo, and QA against Sandbox without ever touching real funds — the plugin’s Environment dropdown switches API hosts cleanly. Flip to Live only when you’re ready.

Other features

  • Drop-in installation — upload the ZIP through Acelle’s standard plugin installer; activate with one click
  • Sandbox + Live environments selectable per gateway
  • Multiple gateways side by side — one Sandbox + one Live + both one-off and subscription = up to 4 distinct PayPal rows, all independent
  • Plays nicely with other gatewaysAcelle supports PayPal alongside Stripe, Offline, Paddle, etc. concurrently
  • Connection test on save — wrong Client ID / Secret fails immediately at configuration, not later at customer checkout
  • Saved payment-method display at customer checkout (PayPal account email or card brand + last 4)
  • Remote Plan Mapping UI — admin picks the local-plan ↔ PayPal-plan pairing in a dropdown sourced live from GET /v1/billing/plans
  • Resume cancelled subscriptionsresumeRemoteSubscription exposed for admin un-cancel flow before the period ends
  • Multi-tenant friendly — each Acelle tenant configures its own PayPal app
  • Disable without uninstall — flip the plugin to inactive and both PayPal gateways disappear from the picker; existing rows preserved
  • Translated — English included; ships with translation hooks so your installed Acelle language packs auto-cover the new strings
  • Unobfuscated source — plain .php files, no ionCube, no encoder. Audit and customise freely under the Envato license

What’s included

  • Plugin ZIPacelle-paypal-v1.0.x.zip — ready to install
  • PHP source — Full source (no obfuscation): ServiceProvider (registers BOTH gateways), PayPalGateway (one-off, Orders v2), PayPalSubscriptionGateway (recurring, Subscriptions v1), PayPalApi HTTP client, 2 controller pairs (Checkout + Return)
  • Documentation — HTML user guide (install / enable / pick gateway(s) / configure / plan mapping for subscription / sandbox testing / troubleshoot), this listing description
  • Screenshots — 8 high-resolution screenshots showing every step of the flow
  • Tests — Unit tests for PayPalGateway and PayPalApi (PHPUnit / Pest compatible)
  • License — Envato Regular License (single end-product) — Extended License also available

Compatibility

  • Acelle Mail — 4.0.24 and newer
  • PHP — 8.1+ (matches Acelle’s own minimum)
  • PayPal account — A PayPal Business account at paypal.com with a REST app at developer.paypal.com (free signup, Sandbox bundled). One app serves both gateways.
  • Server — Outbound HTTPS to api-m.paypal.com (live) and api-m.sandbox.paypal.com (sandbox) on port 443. No inbound public endpoint needed for sync.
  • Database — Uses Acelle’s existing payment_gateways table — no new migrations in v1

Frequently asked questions

Do I need to set up a webhook URL in PayPal’s developer dashboard? No. This plugin uses pull-based sync. There is nothing to register in PayPal’s webhook settings page. You can still register webhooks for your own analytics if you want — they won’t conflict with this plugin.

Does it support one-off charges or only subscriptions? Both, as TWO separate gateways. The plugin registers paypal (one-off, Direct Payment) and paypal-subscription (recurring, Remote Subscription). You can enable just one or both — pick from the gateway picker and configure each independently.

Do my customers need a PayPal account? For one-off (PayPal gateway): NO — PayPal’s hosted checkout exposes a guest card-payment option right next to the “Log in to PayPal” button. Buyers can pay with debit/credit card without signing up. For recurring (PayPal Subscription gateway): YES — recurring billing requires a stored billing agreement at PayPal, which means the customer must have (or create) a PayPal account at approve time.

My PayPal account uses the older API (Username / Password / Signature). Does this work? That’s PayPal’s legacy Classic API (Payflow / Express Checkout). This plugin only uses the modern REST API (Client ID / Secret / OAuth 2.0), which is what new PayPal Business accounts get by default. If you only have Classic creds, create a REST app at developer.paypal.com → Apps & Credentials → Create App (free) and use those Client ID / Secret. The two coexist on the same PayPal account.

Can the same PayPal REST app feed both gateways? Yes. The same Client ID + Secret works for both Orders v2 (one-off) and Subscriptions v1 (recurring). You typically paste the same credentials into both gateway rows in Acelle — there is no separate “subscription credential” at PayPal.

Will it work alongside Stripe / Offline / Paddle in the same Acelle install? Yes. Acelle supports multiple active gateways concurrently — customers see all enabled options at checkout and pick one. This plugin only registers paypal and paypal-subscription as new options; existing gateways are unaffected.

Can I run a sandbox gateway and a live gateway side by side? Yes. Each payment_gateways row stores its own Client ID / Secret / environment. Add as many rows as you need — Sandbox + Live for one-off, Sandbox + Live for subscription = up to 4 distinct PayPal rows, all independent.

Does it support PayPal Credit / Pay Later? Yes — these are PayPal-side features automatically exposed at checkout in supported markets when buyer eligibility allows. No extra configuration needed; the plugin just hands off to PayPal’s hosted approve flow which renders these options when applicable.

Is the source open / unobfuscated? Yes. All PHP source is delivered as plain .php files — no ionCube, no obfuscator. You can audit, fork, and customize it under the Envato license terms.

Changelog

v1.0.0 — Current

  • Initial public release on CodeCanyon
  • Two payment gateways: PayPal (Orders v2, one-off) + PayPal Subscription (Subscriptions v1, recurring)
  • Guest card payment supported on the one-off gateway
  • Pull-only sync — no webhook configuration required
  • Remote Plan Mapping UI for subscription gateway
  • Sandbox + Live environments

(Future releases will be appended here. CodeCanyon emails buyers when a new version is uploaded.)

Support

  • Documentation: full HTML user guide bundled with the ZIP (also linked from the CodeCanyon item page)
  • Item comments: ask publicly under the item’s Comments tab
  • Direct contact: see the Author column on the CodeCanyon item page

Reasonable scope: install help, configuration help, plan-mapping help, bug reports against an unmodified install. Out of scope: PayPal account / payout / merchant-account / Business verification issues (those go to PayPal merchant support), Classic API migration, custom development against the plugin source, Acelle core modifications.

License

Envato Regular License — use in a single end-product (one Acelle install / one Acelle SaaS instance). For SaaS providers reselling Acelle to multiple end customers under their own brand, the Extended License applies. Full terms: https://codecanyon.net/licenses/standard

0 average based on 0 ratings.

Basic-Technology

Basic-Technology

Visit Author's Portfolio

View Portfolio
Last Update 2026-05-17
Created 2026-05-17
Sales 1
Discussion Comments
Compatible Browsers
Software Version PHP 8.x
High Resolution
Software Framework
Files Included JavaScript JS HTML PHP
Video Preview Resolution