Требования:
Для подключения этой системы необходимо:
- Carbon Billing (версии 423_582 или выше)
- Реальный внешний IP-адрес
Для того чтобы пользователь мог внести платеж:
- Пользователь должен быть с признаком Финансовый
- Пользователь не должен быть удален или отключен. То же самое для вышестоящих групп
Подключение:
Шаг 1. Вам необходимо пройти регистрацию и заключить договор с ООО "Биллинговые системы"
Шаг 2. Получить необходимые данные для настройки.
Шаг 3. В локальной консоли сервера Carbon Billing включить прием платежей по https с шифрованием
При необходимости указать адреса с которых сервер сбербанка может слать данные. Только с этих адресов биллинг будет обрабатывать запросы.
Шаг 4. Включить опцию "Требовать и проверять клиентский сертификат" после этого "Создать клиентский сертификат"
После создания клиентского сертификата, вам нужно будет передать его оператору платежной системы. Сертификат с суффиксом .pfx будет доступен на сервере в каталоге /var/lib/usrcert и будет иметь имя файла равное CN-имени, указанном вами при создании сертификата.
Скачать файл сертификата с сервера можно программой winscp. Если платежный оператор требует сертификат в формате .p12, то переконвертируйте сертификат по статье Сертификаты .p12 .Как правило, вся цепочка сертификатов не требуется и достаточно самоподписанного.
Шаг 5. Переходим в настройку платежной системы
Включаем платежную систему и указываем согласованный со специалистами пароль. Как правило, на время тестов устанавливается пароль test1234
Пароль платежной системы - это пароль для подписи md5 суммы, передаваемой в параметрах запроса.
Примечание: после этапа тестирования, как правило, специалисты сбербанка требуют поменять пароль для тестов test1234 на "боевой", потому уточните длину пароля и требования по шифрованию при его передаче в сбербанк.
Шаг 6. Сохраняем параметры и выполняем мягкую перезагрузку.
Шаг 7. Провести этап тестирования согласно протоколу обмена сбербанка. При тестах и будущей работе платежной системы нужно указать обработчик для приема запросов <ваш_внешний_ip>:<порт_для_подключения>/sberbank_bs.php и передать учетные записи на которые будет производиться тестирование
- Номер личного счета, который существует в системе
- Номер личного счета, который в системе отсутствует.
- Номер личного счета, на который можно совершить несколько тестовых платежей, без реальной оплаты.
Передача своих полей в ответе на запрос проверки платежа.
По протоколу взаимодействия сбербанка есть возможность на запросы проверки платежа возвращать дополнительные данные, например ФИО абонента.
В данный момент есть возможность передавать в ответах ФИО абонента из поля "Абонент" в менеджере в виде
<client_name>имя_фамилия_абонента</client_name>
Но при этом нужно обязательно сообщить в сбербанк что будет использоваться дополнительный тег <client_name></client_name> чтоб специалисты биллинговых систем провели дополнительную настройку на своей стороне.