🔥Інтеграція SDK
Цей розділ містить опис методів для взаємодії додатку партнеру з SDK для реалізації flow приймання платежів. Перелік версій, та змін відокремлено у розділ Історія версій SDK
Залежності
Додайте наступні залежності до вашого build.gradle файлу:
implementation 'androidx.core:core-ktx:1.10.1'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:converter-scalars:2.9.0'
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
implementation 'com.squareup.okhttp3:okhttp-urlconnection:4.9.3'Ініціалізація
Ви можете ініціалізувати SDK наступним чином:
suspend fun Defin.init(
merchantId: String,
terminalId: String,
cashierId: String,
deviceId: String
) : Definабо:
Слухач має наступний формат:
Оплата
Посилання на оплату буде лише у випадку оплати картою
Метод checkout використовується для створення замовлення.
або:
де:
paymentType// ідентифікатор виду оплатиpurpose// Призначення платежу (ТТН)
Методи оплати
Перелік доступних методів для оплати можна отримати у відповідь на ініціалізацію, а також окремим методом, якщо потрібно
Існує метод отримання статусу методу оплати. Повертає true якщо переданий paymentType доступний цьому мерчанту
Існуючі методи в системі:
DefinPaymentType — enum що містить всі можливі варианти оплати, серед них:
DefinPaymentType.CASH — Готівка
DefinPaymentType.QR — Інтернет-еквайринг (QR). Отримуємо лінку на динамічну сторінку оплати банка чи фінансової компанії
DefinPaymentType.PBT2PH — tap2phone від Приватбанку
Перелік продуктів
Перелік продуктів формується з класів DefinGood
Для відправки чеку клієнту є класс DefinCustomer?
Інтерфейс слухача оплати
Приклад використання
Варіанти оплати
На поточний момент реалізовано три методи оплати (готівка, інвойсинг та tap2phone)
У випадку оплати готівкою, зарахування виконується одразу;
Для сплати через банківську форму, слід використати
order.paymentUrl;Для можливості сплати через tap2phone, використовуйте наступну реалізацію:
tap2phone
Для того щоб мати можливість виклику зовнішнього додатку програмного терміналу, ініціалізуйте клас на рівні активності:
Реалізуйте виклик терміналу в методі
onSuccess(order: Defin.Order):
Перевірка статусу оплати
Для отримання інформації про плату, використовуйте метод order.check з інтерфейсом DefinCheckListener.
Інтерфейс DefinCheckListener
Приклад використання
Варіанти status:GoodsStatus
DRAFT// Драфтове замовленняCREATED// Замовлення очікує оплатиCOMPLETED// Замовлення завершеноFAILED// Помилка
Отримання чеку
В order: Defin.Order присутній метод receipt, який приймає обʼєкт, реалізуючий інтерфейс DefinReceiptListener.
Інтерфейс DefinReceiptListener
Метод перевірки статусу та отримання квитанції (відокремлено від DefinOrder)
Перевірка статусу оплати
Отримати квитанцію
Last updated