🔥Інтеграція 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
Was this helpful?