Я на начальных этапах интеграции Square платежей.В моем приложении имеет смысл разрешить пользователям сохранять данные своей карты, поскольку мы ожидаем несколько небольших транзакций.Square называет эту функцию «картами в файле».
В рамках этого процесса вы создаете клиента и связанную карту в системе Square;Идентификаторы для них будут храниться в моей системе и связаны с моими пользователями;таким образом, когда они снова приходят заплатить, они могут выбрать вариант использования карты в файле. API для фактической зарядки карты просто берет эти два идентификатора и сумму .
Меня беспокоит то, что моя база данных содержит все данные, необходимые для зарядки карты клиента;Я мог бы написать сценарий, который просто взимал бы со всех моих клиентов определенную сумму денег - естественно, хакер с доступом к моим данным мог сделать то же самое.
Я не ожидал, что такой уровень риска будет в моемсистема - мое предположение состояло в том, что Square бы изолировал меня от этого (через своего рода вызов пользователя для отсутствующих данных - например, номер CCV).Кажется, безопасный вариант - не использовать функцию «карта в файле» и каждый раз вводить пользователя заново.
Это правильно, или я что-то здесь неправильно понял?