PayPal changelog
-
1.0.3
StableAdded
- Reports its setup state to the core dashboard's Store setup checklist (Solidshop 1.6.0): the method counts as configured once the credential pair for the active environment is filled in, and as live once test mode is off. Both are plain method overrides, so the plugin keeps installing and running on older cores, which simply never ask.
Fixed
- The card form no longer asks the shopper to re-enter a billing address they already gave at checkout. The payer address sent when the order is created was missing the postal code and carried the state's display name where PayPal expects the subdivision code ("CA", not "California"), so PayPal showed a billing address section with State and ZIP left empty. The address is now complete — postal code included, the state's code sent, falling back to its name when the state has no code on record — and PayPal uses it as is.
-
1.0.2
StableAdded
- Captures are recorded on the order's Activity Timeline from all three paths — the synchronous capture at checkout,
PAYMENT.CAPTURE.COMPLETED, and a webhook that resolves the order to PAID by another route. All three deduplicate on the transaction id, so a capture reconciled twice logs one entry. Requires Solidshop 1.3.1, which renders the entries.
Changed
- The purchase unit now carries a description built from the store name and the order reference, so PayPal's activity list identifies Solidshop orders without opening each transaction. PayPal caps the field at 127 characters, so the store name is trimmed — and dropped entirely when there is too little room left for it to say anything — while the reference, which is the reconciliation key, always survives.
custom_idkeeps carrying the local order ID and is untouched: it is the webhook's match key. - The Webhook URL field is now provided by the core component instead of the plugin, and its language keys move to
com_solidshop.ini. Joomla resolves form field types from one global prefix stack, so the plugin's ownCallbackurlFieldcollided with the identically named class in the Stripe plugin and rendered that plugin's field with PayPal's URL. - Minimum Solidshop version raised to 1.3.1 (from 1.0.5).
- Captures are recorded on the order's Activity Timeline from all three paths — the synchronous capture at checkout,
-
1.0.1
Stable- Capture reconciliation via webhooks, min core version on install
- Drop orphaned images folder from PayPal manifest media
-
1.0.0
StableFirst public release of the PayPal Checkout payment plugin for Solidshop (
plg_solidshoppayment_paypal).- PayPal Smart Payment Buttons at checkout via the official PayPal JavaScript SDK — PayPal balance, debit/credit cards (via PayPal's guest card flow), Pay Later instalments, and Venmo surfaced automatically where the customer's region, currency, and order amount are eligible.
- Server-side order create and capture through PayPal's Orders v2 API, using the official PayPal PHP Server SDK bundled with the plugin (no legacy NVP/Classic API code paths).
- Side-by-side sandbox and live credentials stored simultaneously, with a per-store test-mode switch that flips which client ID and secret are used — no need to rotate production secrets to run a test order.
- Multi-currency support across 24 PayPal-supported currencies (AUD, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, ILS, JPY, MXN, MYR, NOK, NZD, PHP, PLN, SEK, SGD, THB, TWD, USD), with PayPal's currency-specific decimal rules applied automatically (whole-number amounts for HUF, JPY, and TWD). Payment method is automatically hidden at checkout when the order currency is unsupported.
- Billing address pass-through to PayPal — customer name, address lines, city, state, and ISO country code are forwarded with each order so eligible transactions can qualify for PayPal Seller Protection without extra developer work.
- Configurable payment surcharge fee per store (flat amount, added through the standard Solidshop payment-fee pipeline).
- Email queue integration — order confirmation emails are enqueued only after PayPal confirms capture, consistent with every other Solidshop payment method.
- Bundled admin translations for 23 languages, including full RTL support (Arabic, Hebrew, Persian).
- Requires Joomla 6.x+, PHP 8.4+, and Solidshop 1.0+.