Интеграция платежей — узкое место, где теряется до 15% заказов. Покупатели бросают корзину, если форма уводит на сторонний сайт или долго грузится. CloudPayments решает это встроенным виджетом: пользователь не покидает страницу. В одном из проектов — интернет-магазин электроники с оборотом 1,5 млн ₽ в месяц — после перехода с редиректа на виджет конверсия выросла на 12%. Типичная потеря от отказов до интеграции составляла 500 000 ₽ в месяц. CloudPayments позволяет удержать клиента, и мы накопили опыт для 20+ проектов. Гарантируем стабильную работу и полную фискализацию по 54-ФЗ.
Как CloudPayments повышает конверсию?
Виджет CloudPayments — всплывающая форма поверх сайта. Скрипт ~180 КБ, загружается лениво. В наших проектах конверсия выросла в среднем на 10% после перехода с уводящей страницы. Сравнение с Checkout (iframe) — виджет даёт на 5–7% больше завершённых транзакций за счёт меньшего числа шагов. При этом дополнительная выручка достигает 200 000 ₽ в месяц для магазина со средним чеком 3 000 ₽ и 1000 заказов.
Какие проблемы решаем?
- Конверсия — платёжная форма поверх сайта без редиректа повышает LTV и снижает отток. Каждый дополнительный шаг отсекает часть покупателей. Виджет минимизирует эти потери.
- Безопасность — 3D Secure 2.0, сертификация PCI DSS Level 1, токенизация карт. CloudPayments проходит ежегодный аудит безопасности — вам не нужно заботиться о хранении чувствительных данных.
- Законность — встроенная онлайн-касса с автоматической передачей чеков в ОФД. Все операции соответствуют 54-ФЗ, штрафы за отсутствие чеков исключены.
- Гибкость — рекуррентные платежи для подписок, возвраты полные/частичные, мультивалютность. CloudPayments поддерживает RUB, USD, EUR — можно принимать платежи из-за рубежа.
Как мы подключаем CloudPayments?
Мы используем виджет как самый быстрый способ (1-2 дня) с конверсией выше, чем при iframe. Для полного кастома UI — API (5-10 дней, требует PCI DSS SAQ A-EP). Для типовых задач хватает виджета.
Сравнение виджета и API для кастомизации
| Параметр | Виджет | API |
|---|---|---|
| Время разработки | 1–2 дня | 5–10 дней |
| Кастомизация UI | Ограничена (темы, скины) | Полная, любой дизайн |
| PCI DSS | Не требуется | SAQ A-EP |
| Конверсия | Выше (5–7% прирост) | Зависит от реализации |
| Поддержка рекуррентов | Да | Да |
| Фискализация | Через data-блок | Через API |
Подключение виджета
<script src="https://widget.cloudpayments.ru/bundles/cloudpayments.js"></script>
const pay = () => {
const widget = new cp.CloudPayments({ language: 'ru-RU' });
widget.charge(
{
publicId: 'pk_xxxxxxxxxxxxxxxxxxxx',
description: 'Заказ #12345',
amount: 1500,
currency: 'RUB',
accountId: '[email protected]',
invoiceId: 'order-12345',
skin: 'mini',
data: {
orderId: 12345,
},
},
(options) => {
console.log('payment success', options);
},
(reason, options) => {
console.error('payment failed:', reason);
},
);
};
publicId — публичный ключ из личного кабинета. Секретный ключ (apiSecret) — только на сервере, никогда во фронтенде.
Как проверить HMAC-подпись webhook?
- Получите тело POST-запроса от CloudPayments.
- Вычислите HMAC SHA256 от тела, используя секретный ключ (
apiSecret). - Сравните полученную подпись с заголовком
Content-HMAC. - Если не совпадает — верните HTTP 403.
- При совпадении обработайте статус платежа.
После оплаты CloudPayments отправляет POST на URL, указанный в личном кабинете (раздел «Уведомления»). Тип уведомления — payment. Для проверки используется HMAC SHA256, описанный в стандарте. Подробнее — в официальной документации CloudPayments.
public function handleWebhook(Request $request): Response
{
$hmac = base64_encode(
hash_hmac('sha256', $request->getContent(), env('CP_API_SECRET'), true)
);
if ($hmac !== $request->header('Content-HMAC')) {
return response('Invalid signature', 403);
}
$data = $request->all();
if ($data['Status'] === 'Completed') {
$orderId = $data['InvoiceId'];
$amount = $data['Amount'];
Order::where('id', $orderId)
->where('total', $amount)
->update(['status' => 'paid', 'transaction_id' => $data['TransactionId']]);
}
return response()->json(['code' => 0]);
}
Если вернуть {"code": 13}, CloudPayments будет повторять уведомление по расписанию до 10 раз. Это полезно при временных ошибках БД.
Как настроить фискализацию по 54-ФЗ?
CloudPayments имеет встроенную онлайн-кассу. Данные для чека передаются в параметре cloudPayments.customerReceipt внутри объекта data виджета:
data: {
cloudPayments: {
customerReceipt: {
Items: [
{
label: 'Товар 1',
price: 1500.00,
quantity: 1.0,
amount: 1500.00,
vat: null,
method: 0,
object: 1,
},
],
taxationSystem: 1,
email: '[email protected]',
amounts: {
electronic: 1500.00,
advancePayment: 0.00,
credit: 0.00,
provision: 0.00,
},
},
},
}
Для повторных платежей без ввода реквизитов CloudPayments возвращает Token в первом успешном платеже. Его сохраняют в БД и используют для последующих списаний:
$response = Http::withBasicAuth(env('CP_PUBLIC_ID'), env('CP_API_SECRET'))
->post('https://api.cloudpayments.ru/payments/tokens/charge', [
'Amount' => 1500,
'Currency' => 'RUB',
'AccountId' => '[email protected]',
'Token' => $savedToken,
'InvoiceId' => 'order-12346',
'Description' => 'Автоматическое списание',
]);
Возвраты выполняются через API: передайте TransactionId и сумму частичного возврата. CloudPayments поддерживает как полные, так и частичные возвраты.
Этапы работы
| Этап | Длительность | Результат |
|---|---|---|
| Анализ требований и настройка аккаунта | 1 день | Настроенные ключи, webhook URL |
| Разработка виджета и серверной логики | 2–3 дня | Готовый платёжный модуль |
| Интеграция фискализации и токенизации | 1–2 дня | Чеки и рекуррентные платежи |
| Тестирование и отладка | 1 день | Прогон сценариев в тестовом режиме |
| Деплой и документация | 0.5 дня | Работающая система, инструкция для операторов |
Что входит в результаты
- Настройка личного кабинета CloudPayments: домен, webhook, публичный/секретный ключи.
- Встраивание виджета с поддержкой рекуррентов и фискализации.
- Разработка серверного webhook с валидацией HMAC-подписи.
- Интеграция возвратов и токенизации.
- Документация и обучение сотрудников работе с платёжным модулем.
Почему выбирают нас
- 5+ лет опыта разработки и интеграции платёжных систем.
- 20+ успешных проектов с CloudPayments.
- Сертифицированные специалисты.
- Поддержка после сдачи: отладка, доработки, мониторинг.
Свяжитесь с нами для оценки вашего проекта — подберём оптимальный вариант интеграции под ваш стек и бюджет. Получите консультацию.







