Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/fedirina/wp-cloudpayments-site/archive/refs/heads/master.zipШлюз WooCommerce для оплаты на стороне CloudPayments (orders.cloudpayments.ru): покупатель уходит на платёжную форму CloudPayments и после оплаты возвращается на заданный URL.
Версия: 1.2.0
Автор: Irina Fedorova
Лицензия: GPL-2.0-or-later
Онлайн-касса и часть настроек - по образцу WooCommerce CloudPayments Gateway (Konstantin Benko).
Зачем нужен этот плагин
Кейс - два канала заказов в одном магазине WooCommerce:
- Заказы с сайта интернет-магазина - оплату оставляют на стороне магазина (виджет / штатный шлюз CloudPayments).
- Заказы с сайта партнёра через WooCommerce REST API - покупатель не должен заходить на сайт магазина: сразу уходит на форму CloudPayments, а после оплаты возвращается на сайт партнёра (URL успеха/неуспеха из настроек шлюза).
Этот плагин закрывает второй сценарий: создаёт счёт через CloudPayments Orders API и отдаёт ссылку на оплату.
Дополнительно учтено создание заказа через Store API (блочный checkout / Cart): ссылка на оплату создаётся так же, как при REST.
Требования
- WordPress 5.8+, PHP 7.4+
- WooCommerce 6.0+
- Плагин WooCommerce CloudPayments (
woocommerce-cloudpayments) - рекомендуется, если на checkout нужен и виджет на сайте магазина
Подтверждение оплаты - только Pay-уведомление CloudPayments на URL:
https://домен-интернет-магазина/wc-api/wc_cloudpayments
- Если штатный плагин активен, Pay обрабатывает он (этот плагин webhook не регистрирует).
- Если штатный плагин неактивен, Pay принимает этот плагин на том же URL (кабинет CloudPayments менять не нужно).
Редирект покупателя с CloudPayments оплату не подтверждает.
Как проходит оплата
- При оформлении (
process_payment) или при создании заказа через REST / Store API плагин вызываетPOST https://api.cloudpayments.ru/orders/create. - В ответе берётся
Model.Url(страницаorders.cloudpayments.ru). - URL сохраняется в meta заказа
CloudPayments_OrderUrlи используется для редиректа / подменыpayment_url. - Покупатель оплачивает на стороне CloudPayments и возвращается на Success/Fail URL из настроек (если пусто - thank-you / страница оплаты заказа WooCommerce).
- Подтверждение оплаты - Pay-уведомление: штатный плагин (если активен) или этот плагин (если штатный выключен).
Настройки
| Опция | Назначение |
|---|---|
| Public ID / пароль API | Учётные данные CloudPayments |
| URL после успешной / неуспешной оплаты | Куда вернуть покупателя (сайт партнёра и т.п.) |
| Только для администраторов | Показывать способ оплаты на checkout только админам (по умолчанию включено) |
| Отладочный лог | WooCommerce → Статус → Журналы, источник wp-cloudpayments-site |
| Онлайн-касса | Данные чека 54-ФЗ в JsonData |
Структура
wp-cloudpayments-site.php
includes/
class-wc-cloudpayments-site-gateway.php
class-wp-cloudpayments-site-api.php
class-wp-cloudpayments-site-receipt.php
LICENSE
README.md
Важно
- Нельзя регистрировать два обработчика Pay на один URL: при активном штатном плагине этот плагин webhook не включает.
- Редирект покупателя с CloudPayments не подтверждает оплату.
- Id шлюза:
wp_cloudpayments_site(менять нельзя без миграции заказов и настроек).