Каков подход для реализации оплаты банковской картой в мобильном приложении для Android?
В мобильное приложение нужно встроить возможность оплаты материальных товаров или услуг с помощью банковской карты связанной с аккаунтом пользователя в программе (не гугл). Приложение работает в клиент серверном варианте. Неясно следующее:
1. Где хранить и в каком виде (шифрование) данные платежной карты пользователя - на мобильном устройстве или на бэкенде.
2. Какие принципы для обеспечения безопасности сохраненных данных карты существуют в случае их расположения на сервере и на клиенте. Т.е. какими алгоритмами шифровать, и т.д.
3. Как защищенно передавать данные о платежной карте между клиентом и бэкендом?
4. Какая сторона выполняет платеж (взаимодейсвует с платежной системой) - мобильное устройство или бэкенд?
5. Какие есть готовые сервисы для выполнения таких платежей в России?
6. Стоит ли использовать возможность оплаты через платформу Google Play (Насколько я знаю там высокий операционный сбор 30%)?
Может есть уже готовые best practices, как выполнять в принципе такие вещи?
asdz: Ну PayPal работает в России, мы используем его в одном из наших приложений для продажи услуг.
Хранить данные карт где-либо, по моему мнению, вообще не очень хороший вариант.
belozerow: Узнал, что данные карты не хранятся на стороне пользователя, а сохраняются в платежном сервисе. Платежный сервис генерирует первый раз токен карты, который можно сохранить в приложении и используется в дальнейшем для выполнения повторных платежей. Но опять таки, насколько безопасно хранить токен и что будет если он утечет?