🔥Інтеграція 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 наступним чином:

Coroutines
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

  1. Для того щоб мати можливість виклику зовнішнього додатку програмного терміналу, ініціалізуйте клас на рівні активності:

  1. Реалізуйте виклик терміналу в методі 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?