Тестирование интеграций 1С-Битрикс с платежными системами

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Тестирование интеграций 1С-Битрикс с платежными системами
Средняя
~2-3 рабочих дня
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Тестирование интеграций 1С-Битрикс с платёжными системами

Платёжная интеграция — один из самых болезненных участков в e-commerce проекте на Битрикс. Сбой здесь означает прямые финансовые потери: деньги списаны, заказ не создан, клиент в панике. Тестирование платёжных обработчиков принципиально отличается от тестирования обычного функционала — нельзя просто «нажать кнопку и посмотреть». Нужно воспроизвести весь жизненный цикл транзакции, включая асинхронные события и сбои.

Что и как тестировать

Перед запуском тестов необходимо развернуть проект с корректными тестовыми credentials платёжной системы. Большинство агрегаторов (ЮКасса, Сбер, Тинькофф, Robokassa) предоставляют sandbox-окружение с отдельным shopId и secretKey. Их вводят в настройках платёжной системы: Магазин → Платёжные системы → {Система} → Настройки.

Сценарии, которые обязательны для тестирования:

  1. Успешная оплата — стандартный флоу: корзина → оформление → редирект → оплата → возврат на сайт → смена статуса заказа
  2. Отклонённый платёж — карта отклонена, статус заказа должен остаться «Ожидает оплаты», не «Отменён»
  3. Сценарий «закрыл браузер» — покупатель ушёл после редиректа, не завершив оплату; webhook не пришёл; заказ должен корректно обрабатываться при повторном визите
  4. Задержанный webhook — webhook приходит через 10–20 минут после оплаты (частое явление у Robokassa, Сбера); статус заказа должен обновиться корректно
  5. Дублирующий webhook — одно и то же уведомление приходит дважды; повторная обработка не должна задваивать статус «Оплачен»
  6. Частичный возврат — через 1–2 дня после оплаты, проверяем POST /refunds и чек возврата
  7. Полный возврат — с проверкой фискального чека (если подключена касса по 54-ФЗ)

Технические точки проверки

Ключевая таблица для проверки статусов — b_sale_pay_system_action (конфигурация обработчика) и b_sale_order_payment (платежи заказов). После каждой транзакции в тесте:

SELECT o.account_number, p.paid, p.date_paid, p.ps_status, p.ps_status_message
FROM b_sale_order_payment p
JOIN b_sale_order o ON o.id = p.order_id
WHERE o.account_number = '12345'
ORDER BY p.date_paid DESC;

Проверяем, что ps_status содержит оригинальный статус от платёжной системы, а не просто Y/N. Это критично для постфактумной диагностики.

Webhook-обработчик — самое уязвимое место. Стандартный URL в Битрикс: /bitrix/tools/sale_ps_result.php. При тестировании обязательно проверяем:

// Идемпотентность обработчика — защита от дублей
$cache = Cache::createInstance();
$cacheId = 'payment_processed_' . $paymentId;
if ($cache->initCache(86400, $cacheId, '/sale/payment')) {
    return; // Уже обработано
}
// ... логика обработки ...
$cache->startDataCache();
$cache->endDataCache(['processed' => true]);

Инструментарий

Для тестирования webhook-уведомлений в локальном окружении используют ngrok или localtunnel — они пробрасывают внешний URL на локальный сервер. Без этого тестировать асинхронные уведомления от платёжных систем невозможно.

Для автоматизации сценариев — Playwright или Cypress с реальными тестовыми картами. Тестовые карты разных систем:

Платёжная система Успех Отказ
ЮКасса 5555555555554477 5555555555554444
Тинькофф 4300000000000777 4300000000000885
Robokassa тестовый режим в настройках
Сбер 4276300010000006 4276300010000014

Сроки

Объём работ Срок
Тестирование 1 платёжной системы (стандартные сценарии) 1–2 дня
Тестирование 2–3 систем + возвраты 3–5 дней
Полный цикл с 54-ФЗ и автотестами 6–10 дней