Portmone eCommerce Android SDK
Терміни та визначення
Термін | Визначення |
---|---|
Мерчант, Інтернет-магазин або Партнер | Організація, що уклала договір з Portmone.com про надання послуг з приймання платежів |
Покупець, Клієнт | Відвідувач Інтернет-магазину Мерчанта з метою ознайомлення з асортиментом товарів (послуг) та здійснення покупки |
Картка, Платіжна картка | Платіжні картки міжнародних платіжних систем Visa, Mastercard та Національної платіжної системи ПРОСТІР |
Токен | Цифровий ідентифікатор картки, що генерується при першій операції і далі використовується для швидкої оплати |
CVV2/CVC2 | CVV2 (Card Verification Value 2) – тризначний код перевірки дійсності картки платіжної системи Visa. Платіжна система MasterCard має аналогічний код перевірки дійсності – CVC2 (Card Validation Code 2) |
Авторизація | Процедура отримання підтвердження від банка-емітента на проведення операції оплати карткою |
Біометрична авторизація | Процес підтвердження платежу за допо могою технології ідентифікації біометричних даних (відбитків пальців) |
Банк-емітент банківських карток | Банк, що є учасником платіжної системи та здійснює випуск (емісію) та обслуговування банківських карток |
3-D Secure | 3-D Secure – це протокол, який використовувався для забезпечення додаткового рівня безпеки онлайн-платежів з використанням банківських карток |
Загальний опис
Portmone SDK підтримує версію Android 5.0, API level 21 та пізніші версії.
Інтеграція
settings.gradle (project level)
pluginManagement {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
google()
mavenCentral()
jcenter()
maven {
url "https://github.com/Portmone/Android-e-Commerce-SDK/raw/master/"
}
}
}
rootProject.name = "TestSDK_v3" include ':app'
build.gradle (project level)
allprojects {
repositories {
google()
jcenter()
mavenCentral()
maven {
url "https://github.com/Portmone/Android-e-Commerce-SDK/raw/master/"
}
}
}
build.gradle (app level)
dependencies {
implementation 'com.portmone.ecomsdk:ecomsdk:1.3.4'
}
У SDK прописана логіка, що дозволяє при необхідності безпечно вилучити із залежностей card_io бібліотеку (функція доступна з версії 1.3.0 SDK).
build.gradle (app level)
dependencies {
implementation ('com.portmone.ecomsdk:ecomsdk:2.2.5'){
exclude group: 'io.card'
}
}
В такому випадку із UI SDK буде прибрано функціонал сканування карток, що в свою чергу дасть виграш у зменшенні розміру додатку.
Якщо використовуєте proguard потрібно дадати наступний рядок: keep class com.portmone.ecomsdk.** { *; }
Сценарії використання
- Оплата карткою.
- Збереження картки.
- Оплата за токеном (токен картки може бути отриманий за сценарієм 1 або 2).
- Переказ коштів з картки на картку за токеном картки відправника.
- Оплата з підтвердженням відбитком пальця.
- Оплата з використанням Google Pay.
- Масова оплата комунальних рахунків.
Опис програмного інтерфейсу
1. Встановлення мови
SDK надає можливість локалізації системного тексту та відповідей з сервера за допомогою методу:
PortmoneSDK.setLanguage(languageСode);
Метод приймає в папарметрах константу з класу Constant$Language.* і може встановлювати українську, англійську або російську мови. У випадку, якщо ця функція не була викликана, буде використовуватись мова, що встановлена на рівні системи. У випадку не знаходження перекладів відповідно до мови системи, буде використовуватись українська мова.
2. Стилізація екранів
Для екранів, які використовуються в SDK, передбачена можливість брендування: зміна кольорів елементів та шрифту, а також кольору текстів. Для цього використовується клас AppStyle. Клас містить набір параметрів, що відповідають за певні елементи на екранах. Можуть бути заповнені тільки потрібні параметри. Всі кольори задаються у форматі hex.
Для задання стилів використовується функція:
PortmoneSDK.setAppStyle(...);
Вказані стилі зберігатимуться до завершення роботи додатку.
App style
Поле | Тип | Опис |
---|---|---|
background | int | Колір заднього фону екранів |
toolbar | int | Колір панелі інструментів на всіх екранах |
iconSuccess | int | Дозволяє змінити іконку успішної оплати (доступна з версії 1.2.1 SDK) |
iconError | int | Дозволяє змінити іконку неуспішної оплати (доступна з версії 1.2.1 SDK) |
type | Constant$Type.* | Цей параметр встановлюється за допомогою значень, які знаходяться у файлі Constant$Type. Можливі три варіанти: 1. Default – стандартний варіант; 2. Phone – відбувається заміна текста заголовка опису “Опис замовлення” на “Номер телефону”, а також до самого значення опису додається “+380” (доступна з версії 1.2.1 SDK) 3. Account – відбувається заміна текста заголовка опису “Опис замовлення” на “Номер особового рахунку” (доступна з версії 1.3.3 SDK) |
buttonStyle | ButtonStyle | Містить колір тексту кнопки та заднього фону в звичайному та натиснутому станах, шрифт для тексту кнопки, а також величину заокруглення кнопок |
editTextStyle | EditTextStyle | Використовується для полей вводу тексту. Дозволяє змінювати колір основного тексту, тексту підказки та помилки, а також відповідні шрифти |
blockTitleTextStyle | BlockTitleTextStyle | Використовується для заголовків блоків на екранах. Дозволяє вказувати колір фону, тексту та шрифт |
titleTextStyle | TitleTextStyle | Дозволяє вказувати колір та шрифт заголовків на екранах |
descriptionTextStyle | TextStyle | Дозволяє вказувати колір та шрифт основних текстів на екранах |
additionalInfoTextStyle | TextStyle | Дозволяє вказувати колір та шрифт додаткових текстів на екранах |
fingerprintButton | TextStyle | Дозволяє вказувати колір та шрифт тексту кнопки оплати за допо могою відбитку пальця (доступна з версії 1.1.4 SDK) |
paymentSuccessDownload | TextStyle | Дозволяє вказувати колір та шрифт тексту кнопки збереження квитанції на екрані успішної оплати (доступна з версії 1.2.1 SDK) |
dialogInfoStyle | DialogInfoStyle | Дозволяє вказувати колір та шрифт заголовку, тексту та тексту кнопки у діалогових вікнах |
paymentDivider | TextStyle | Колір текстового розділювача поміж видами оплат (Google Pay та картка) |
З версії 2.2.5 SDK доступні такі властивості стилів та невелика зміна логіки екранів:
PortmoneSDK.setStandartResultFlow(false); - дозволяє відключити екрани про результат операції з боку SDK. Тоді результат можна обробити - дивись пункт 11.2
PortmoneSDK.setAdditionalCustomize(true); - додаткова кастомізація екранів для зберігання картки та оплати карткою.