Плагін
Оплата через PayPal
автор: Celena
Додайте спосіб оплати, якому довіряють мільйони покупців: покупець підтверджує платіж на paypal.com, а захоплення коштів виконує сервер — дані картки на сайт не потрапляють.
- Схема Orders v2 — створення замовлення → редирект на підтвердження → серверне захоплення, з ідемпотентністю через
PayPal-Request-Id. - Доступи пісочниці та бойові зберігаються окремо, кожне середовище має свій webhook ID; перемикання одним селектом.
- Підпис вебхуків перевіряє сам PayPal через
/v1/notifications/verify-webhook-signature, плюс власна перевірка, що адреса сертифіката веде на домен paypal.com. - Без webhook ID не приймається нічого — неперевірений запит не може позначити замовлення оплаченим.
- Оброблювані події: замовлення підтверджено (захоплення самостійно, якщо покупець не повернувся), захоплення завершено, відхилено, повернуто, реверсовано.
- Оплата зараховується рівно один раз — id подій зберігаються, ретраї та повернення покупця не дають подвійної оплати.
- Повернення з адмінки — повне і часткове, зі зміною статусу оплати та історії замовлення.
- Журнал платежів із посиланнями на замовлення, обома ідентифікаторами PayPal, середовищем, e-mail платника та сумою за валютами.
- Посилання «оплатити пізніше», налаштовувані назва бренду та стартовий екран (вхід у PayPal чи одразу форма картки).
- Контроль валюти — непідтримувана валюта магазину пояснюється покупцеві текстом, а не помилкою на боці PayPal.
| Версія | Дата | Вимоги | Розмір |
|---|---|---|---|
| 1.0.0 | 2026-08-19 | PHP >=8.3 · Celena >=1.0 | 59 KB |
Initial marketplace release |
|||
Вимоги
- PHP >=8.3 або новіше
- Celena CMS >=1.0 або новіше
- Перевірено аж до Celena CMS 3.6
Встановлення
Після оплати ви отримаєте ліцензійний ключ. Встановіть пакет з адмінки клієнтського сайту — під час активації вона запитає ключ.
- Відкрийте розділ «Плагіни/Теми» в адмінці Celena.
- Натисніть «Встановити з файлу» і завантажте скачаний архів (або «Встановити з маркетплейсу», якщо підключено).
- Активуйте пакет — для платних під час активації введіть ліцензійний ключ.