Разработчикам/Запуск
Безопасность
С вашим API-ключом можно тратить деньги из кошелька и читать коды карт. Берегите его и полученные коды так же, как банковские реквизиты и наличные.
См. также: Аутентификация · Вебхуки · Sandbox
#Ваши секреты
| Секрет | Почему это важно | Где хранить |
|---|---|---|
API-ключ (cvb2b_...) | Любой, у кого он есть, может оформлять заказы и читать коды. | В менеджере секретов, только на серверах |
Секрет вебхука (whsec_...) | Подтверждает, что вебхук действительно пришёл от CardV. | Только на сервере, который принимает вебхуки |
| Пароли от кабинета | Owner может создавать и открывать ключи. | В менеджере паролей, с 2FA |
- Храните ключи только на своих серверах. Никогда не вставляйте их в приложения, браузер, URL, репозитории кода, заявки, чаты и письма.
- Заведите отдельный ключ для каждой системы, чтобы отключить один, не останавливая остальные.
- Ограничьте круг тех, кто может прочитать ключ. Меняйте ключ, когда уходит сотрудник с доступом.
- Если ключ мог утечь, сразу отключите его в кабинете. Затем создайте новый и сообщите в поддержку CardV.
- Включите двухэтапную проверку (2FA) для каждого Owner в кабинете.
#Коды и данные покупателей
GET/orders/{order_id} с API-ключом возвращает полные коды, готовые к использованию.
Это номера карт, PIN-коды, защитные коды, данные QR и ссылки для активации.
В заказе также повторяются данные вашего покупателя для пополнения (inputs).
- Никогда не пишите в лог ответы по заказам, коды, ссылки для активации и
inputsпокупателей. Вместо этого записывайте ID:order_id,external_order_id,sku_idи HTTP-статус. - Никогда не пишите в лог заголовки
X-Api-Key,X-SignatureиX-CardV-Signature. - Храните коды в зашифрованном виде. Читать их должен только процесс, который выдаёт коды покупателям. Удаляйте их, когда истечёт ваш срок хранения.
- Не кешируйте ответы по заказам в общих кешах, CDN и системах мониторинга. Отключите запись тел запросов и ответов для вызовов CardV.
redeem_url— это и есть код. Защищайте его как PIN-код.
#Сеть
- Обращайтесь только к
b2b.cardv.netиsandbox.cardv.netи только по HTTPS. Никогда не отключайте проверку сертификатов. - В рабочей среде используйте список разрешённых IP. Он ограничит ущерб, если ключ утечёт. Обновляйте его, когда меняются ваши серверы.
- Проверяйте подпись каждого вебхука, отклоняйте устаревшее время и пропускайте дубликаты. Не закрывайте адрес вебхука авторизацией: доказательство подлинности — это подпись.
#Сотрудники и доступ
- Давайте каждому пользователю кабинета минимальную роль, которой ему достаточно: Viewer — чтобы смотреть, Manager — чтобы заказывать и пополнять кошелёк, Owner — чтобы управлять безопасностью.
- Удаляйте ушедших сотрудников из кабинета — и в Live, и в Sandbox.
#Журнал аудита
Журнал аудита в кабинете (для Owner) фиксирует действия, связанные с безопасностью: создание и открытие ключей, изменения списка разрешённых IP и секретов вебхуков. CardV также записывает заблокированные IP, ошибки подписи и превышения лимита запросов, а при подозрительной активности оповещается команда CardV.
Регулярно просматривайте журнал аудита. Любое неожиданное открытие ключа считайте возможной утечкой.
#Как сообщить о проблеме
Если вы подозреваете утечку ключа, мошеннические заказы или уязвимость на стороне CardV,
сразу напишите на [email protected]. Укажите свой Merchant ID и номера заказов.
Сами секреты никогда не присылайте.
Вопросы по интеграции? Напишите на [email protected], указав ваш Merchant ID и ID заказа или запроса.