Токенизация может снизить прямой доступ к карточным данным. При этом в архитектуре должны быть определены жизненный цикл токена, границы ответственности провайдера и порядок работы.

Начните с платёжной задачи и границ применения

Определите, для чего нужен токен: регулярных платежей, операций по инициативе мерчанта, сохранённой карты, переноса между провайдерами или другого конкретного сценария. Укажите, куда поступают исходные карточные данные и какая система создаёт, хранит токен и восстанавливает по нему исходные данные.

Разберитесь с контролем токенов и их переносом

Токен конкретного провайдера может упростить работу с одним PSP, но ограничить возможность его смены. Токены платёжной системы или уровня оркестрации предъявляют другие коммерческие и технические требования. Уточните, кто контролирует токен, где его можно использовать и что происходит при смене маршрута.

Защитите весь жизненный цикл

Наряду с созданием токенов важны контроль доступа, управление ключами, журналирование, удаление, ротация и реагирование на инциденты. Не размещайте карточные данные в обращениях в поддержку, событиях аналитики и публичных формах. Сохраняйте только контекст, необходимый для расследования уполномоченными сотрудниками.

Токен — это мера защиты и часть условий интеграции. Он не должен создавать недокументированную зависимость от одного маршрута.

Опишите поведение для разработчиков и поддержки

Зафиксируйте создание, повторное использование, срок действия, ошибки, callback и ответы провайдера. Поддержка должна находить платёж и объяснять ошибки токенизации без доступа к чувствительным карточным данным.

Включите токенизацию в описание жизненного цикла API.

До реализации проверьте поддерживаемый сценарий, границы доступа к данным и последствия для маршрутизации.

Перейти в раздел для разработчиков ↗