SlideShare une entreprise Scribd logo
1  sur  56
Télécharger pour lire hors ligne
Александр Сычев
Ведущий разработчик iOS
Прием платежей по банковским картам
в iOS-приложении
Прием платежей / 562
Прием платежей
Ограничения
Варианты интеграции
Проблемы
/ 563
Прием платежей
App Store Review Guidelines
3.1.5
Physical Goods and Services Outside of the App
/ 564
Прием платежей
Прием платежей
Прием платежей
• In-app purchase
Прием платежей / 568
Прием платежей
Прием платежей
Ограничения
Варианты интеграции
Проблемы
/ 5610
Прием платежей / 5611
Прием платежей
Комиссия
/ 5612
Прием платежей
• Посредник
• Банк
Поставщики услуги
/ 5613
Прием платежей
Варианты интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
/ 5614
Прием платежей
WebView
/ 5615
Прием платежей
WebView
/ 5616
Прием платежей
Custom WebView
/ 5617
Прием платежей
Скрытый WebView
/ 5618
Прием платежей
Варианты интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
/ 5619
Прием платежей
Платежи в один клик
1.Регистрация
2.Первый платеж
3.Привязка карты
4.Авторизация
5.Ввод только CVV
Прием платежей
Платежи в один клик
1.Регистрация
2.Первый платеж
3.Привязка карты
4.Авторизация
5.Ввод только CVV
/ 5621
Прием платежей
Платежи в один клик
1.Регистрация
2.Первый платеж
3.Привязка карты
4.Авторизация
5.Ввод только CVV
/ 5622
Прием платежей
Прием платежей
Платежи в один клик
1.Регистрация
2.Первый платеж
3.Привязка карты
4.Авторизация
5.Ввод только CVV
Прием платежей
Платежи в один клик
1.Регистрация
2.Первый платеж
3.Привязка карты
4.Авторизация
5.Ввод только CVV
/ 5625
Прием платежей
Платежи в один клик
•ID карты
•Двустадийный
/ 5626
Прием платежей
Варианты интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
/ 5627
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Первый платеж
3.Привязка карты
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Первый платеж
3.Привязка карты
/ 5629
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Первый платеж
3.Привязка карты
/ 5630
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Привязка карты
3.Оплата услуг
/ 5631
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Привязка карты
• Тестовый платеж
3.Оплата услуг
/ 5632
Прием платежей
Рекуррентные платежи
1.Регистрация
2.Привязка карты
• Тестовый платеж
3.Оплата услуг
/ 5633
Прием платежей
Рекуррентные платежи
Изменение суммы без
согласия владельца
/ 5634
Прием платежей
Рекуррентные платежи
• ID первого платежа
• Одностадийный
/ 5635
Прием платежей
Варианты интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
/ 5636
Прием платежей
Токенизация
123a4567@1b234c5de6789000
/ 5637
Прием платежей
Токенизация
/ 5638
Прием платежей
Токенизация
/ 5639
Прием платежей
Токенизация
/ 5640
Прием платежей
Токенизация
/ 5641
Прием платежей
Варианты интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
/ 5642
Прием платежей
Apple Pay
/ 5643
Прием платежей
Apple Pay
/ 5644
Прием платежей
Apple Pay
/ 5645
Прием платежей
Apple Pay
TouchID
Генерация
криптограммы
SE
Apple Pay
Servers
Payment Provider
/ 5646
Прием платежей
Apple Pay
/ 5647
Прием платежей
Apple Pay
/ 5648
Прием платежей
Apple Pay
Конец 2016 года
/ 5649
Прием платежей
Ограничения
Варианты интеграции
Проблемы
/ 5650
Прием платежей
Мерчант становится потерпевшим по
случаям фрода
/ 5651
Прием платежей
Мерчант становится ответственным за
чарджбэк
/ 5652
Прием платежей
Привет, Siri!
/ 5653
Прием платежей
Безопасность
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
😡
☺
☺
☺
😐
/ 5654
Прием платежей
Сложность интеграции
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
😡
☺
☺
☺
😐
☺
😡
😐
☺
😐
/ 5655
Прием платежей
Удобство пользователя
• WebView
• Платежи в один клик
• Рекуррентные платежи
• Токенизация
•
😡
☺
☺
☺
😐
☺
😐
😐
😡
😐
☺
☺
😐 😐
☺
/ 5656

Contenu connexe

En vedette

Rambler.iOS #6: Не рычите на pbxproj
Rambler.iOS #6: Не рычите на pbxprojRambler.iOS #6: Не рычите на pbxproj
Rambler.iOS #6: Не рычите на pbxprojRAMBLER&Co
 
RDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRAMBLER&Co
 
Rambler.iOS #5: Подмодули в VIPER
Rambler.iOS #5: Подмодули в VIPERRambler.iOS #5: Подмодули в VIPER
Rambler.iOS #5: Подмодули в VIPERRAMBLER&Co
 
Rambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRAMBLER&Co
 
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.Кассы
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.КассыRambler.iOS #4: Создание модульных приложений на примере Рамблер.Кассы
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.КассыRAMBLER&Co
 
RDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRAMBLER&Co
 
RDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRAMBLER&Co
 
Rambler.iOS #5: VIPER и Swift
Rambler.iOS #5: VIPER и SwiftRambler.iOS #5: VIPER и Swift
Rambler.iOS #5: VIPER и SwiftRAMBLER&Co
 

En vedette (8)

Rambler.iOS #6: Не рычите на pbxproj
Rambler.iOS #6: Не рычите на pbxprojRambler.iOS #6: Не рычите на pbxproj
Rambler.iOS #6: Не рычите на pbxproj
 
RDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRDSDataSource: YapDatabase
RDSDataSource: YapDatabase
 
Rambler.iOS #5: Подмодули в VIPER
Rambler.iOS #5: Подмодули в VIPERRambler.iOS #5: Подмодули в VIPER
Rambler.iOS #5: Подмодули в VIPER
 
Rambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейса
 
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.Кассы
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.КассыRambler.iOS #4: Создание модульных приложений на примере Рамблер.Кассы
Rambler.iOS #4: Создание модульных приложений на примере Рамблер.Кассы
 
RDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на Swift
 
RDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperienced
 
Rambler.iOS #5: VIPER и Swift
Rambler.iOS #5: VIPER и SwiftRambler.iOS #5: VIPER и Swift
Rambler.iOS #5: VIPER и Swift
 

Plus de RAMBLER&Co

RDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRAMBLER&Co
 
Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!RAMBLER&Co
 
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?RAMBLER&Co
 
Rambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRAMBLER&Co
 
RDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRAMBLER&Co
 
Rambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRAMBLER&Co
 
Rambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRAMBLER&Co
 
Rambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRAMBLER&Co
 
RDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRAMBLER&Co
 
RDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRAMBLER&Co
 
Rambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуйRambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуйRAMBLER&Co
 
Rambler.iOS #6: Pagination Demystified
Rambler.iOS #6: Pagination DemystifiedRambler.iOS #6: Pagination Demystified
Rambler.iOS #6: Pagination DemystifiedRAMBLER&Co
 
Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRAMBLER&Co
 
Rambler.iOS #5: Переходы и передача данных между VIPER модулями
Rambler.iOS #5: Переходы и передача данных между VIPER модулямиRambler.iOS #5: Переходы и передача данных между VIPER модулями
Rambler.iOS #5: Переходы и передача данных между VIPER модулямиRAMBLER&Co
 
Rambler.iOS #5: VIPER a la Rambler
Rambler.iOS #5: VIPER a la RamblerRambler.iOS #5: VIPER a la Rambler
Rambler.iOS #5: VIPER a la RamblerRAMBLER&Co
 

Plus de RAMBLER&Co (15)

RDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRDSDataSource: Основы LLVM
RDSDataSource: Основы LLVM
 
Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!
 
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
 
Rambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memory
 
RDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграммRDSDataSource: Построение UML диаграмм
RDSDataSource: Построение UML диаграмм
 
Rambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тесты
 
Rambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектура
 
Rambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCore
 
RDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOS
 
RDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwift
 
Rambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуйRambler.iOS #6: App delegate - разделяй и властвуй
Rambler.iOS #6: App delegate - разделяй и властвуй
 
Rambler.iOS #6: Pagination Demystified
Rambler.iOS #6: Pagination DemystifiedRambler.iOS #6: Pagination Demystified
Rambler.iOS #6: Pagination Demystified
 
Rambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPERRambler.iOS #5: TDD и VIPER
Rambler.iOS #5: TDD и VIPER
 
Rambler.iOS #5: Переходы и передача данных между VIPER модулями
Rambler.iOS #5: Переходы и передача данных между VIPER модулямиRambler.iOS #5: Переходы и передача данных между VIPER модулями
Rambler.iOS #5: Переходы и передача данных между VIPER модулями
 
Rambler.iOS #5: VIPER a la Rambler
Rambler.iOS #5: VIPER a la RamblerRambler.iOS #5: VIPER a la Rambler
Rambler.iOS #5: VIPER a la Rambler
 

Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении