Как я могу сохранить информацию о кредитной карте в Expo, используя брелок / хранилище ключей? - PullRequest
0 голосов
/ 20 сентября 2019

Описание

Я разрабатываю приложение (Android / iOS), для которого потребуется использовать информацию о кредитной карте для некоторых транзакций, я уже читал другие вопросы по этому поводу, но нев соответствии с моими потребностями.

  1. Мы хотим сохранить данные CC для удобства пользователя (например, Uber selector)

  2. Нет повторяющихся счетов,пользователь выполнит транзакцию по своему усмотрению.

  3. Я обнаружил, что в документации keychain явно сказано, что я могу сохранить credit card information, но ничего о PCI (почему Apple должна продвигать это, если ониотклонит приложение?), (https://developer.apple.com/documentation/security/keychain_services)

  4. Я использую реагировать нативно (Expo), поэтому я буду использовать пакет expo-secure-store, который за сценой: iOS: Values are stored using the keychain services as kSecClassGenericPassword. iOS has the additional option of being able to set the value's kSecAttrAccessible attribute, which controls when the value is available to be fetched. Android: Values are stored in SharedPreferences, encrypted with Android's Keystore system.

  5. Я все равно буду спрашивать CVC, если необходимо. (Если можно сохранить, лучше)

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

  7. Приложение предназначено для использования за пределами США (Коста-Рика), где Stripe, Google Pay, Apple Pay не являютсяопция (PCI по-прежнему требуется?).

  8. Поставщик ожидает всю информацию о кредитной карте и сумму, по которой будет взиматься плата (будет отправлено по протоколу HTTPS).

Итак, мой вопрос о том, как мне это сделать?Я думаю, что сохранить информацию CC на пользовательском устройстве (безопасным способом) лучше, чем пытаться выполнить весь PCI на моем сервере (что возможно, но невозможно, и я не хочу такую ​​информацию на сервере) Но яЯ не совсем уверен, достаточно ли просто сохранить его с помощью связки ключей / хранилища ключей.

Заранее спасибо.

...