Требования

  1. Вы должны быть клиентом ePay
  2. Вы должны получить интеграционные данные:
TerminalIDИдентификатор магазина
ClientIDИдентификатор клиента
ClientSecretСекретный ключ

Тестовые данные

ClientIDtest
ClientSecretyF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG
TerminalID67e34d63-102f-4bd1-898e-370781d0074d

Подключение

1. Импорт SDK

Добавление SDK aar в проект

  1. Загрузите библиотеку halykepay.aar по ссылке Android framework
  2. Переместите файл в папку
    libs
  3. Импортируйте .aar файл в Ваш проект как Jar/Aar Dependency
  4. Перейдите в раздел File > Project Structure > Dependencies
  5. Во вкладке Declared Dependencies нажмите на “+” и выберите Module Dependency

Screenshot 2023-07-23 at 14.56.50

Screenshot 2023-07-23 at 14.56.32

Добавление зависимостей

SDK использует следующие зависимости. Добавьте эти зависимости в свой проект для корректной работы EpaySDK:

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.3.50"
implementation 'androidx.appcompat:appcompat:1.1.0'
implementation 'androidx.core:core-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.lifecycle:lifecycle-extensions:2.1.0'

implementation 'com.google.android.material:material:1.1.0'
implementation 'com.google.code.gson:gson:2.8.6'

def nav_version = "2.3.0-alpha01"
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

def okhttp_version = "3.9.1"
implementation "com.squareup.okhttp3:okhttp:$okhttp_version"
implementation "com.squareup.okhttp3:logging-interceptor:$okhttp_version"

implementation 'io.github.ihermandev:format-watcher:1.0.1'
implementation 'com.github.bumptech.glide:glide:4.15.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.15.1'

implementation "com.google.android.gms:play-services-wallet:19.2.0-beta01"
implementation "com.google.android.gms:play-services-pay:16.1.0"

implementation 'io.card:android-sdk:5.5.1'

2. Настройка авторизации

Создайте инстанс конфигов авторизации. Вы можете хранить инстанс в константах, или создавать при непосредственной инициализации Платежной страницы или Страницы Перевода.

import com.ss.halykepay.data.model.AuthConfig

val config = AuthConfig(  
	merchantID = <Идентификатор магазина TerminalID, полученный от epay>, 
	merchantName = <Наименование Магазина>, 
	clientID = <Идентификатор клиента ClientID, полученный от epay>, 
	clientSecret = <Секретный ключ ClientSecret, полученный от epay>
) 

Инициализируйте инстанс EpaySDK для дальнейшего запуска платежной страницы или страницы перевода:

import com.ss.halykepay.data.BuildType
import com.ss.halykepay.HalykEpaySDK

val halykEpaySdk = HalykEpaySDK.instance(<activity instance>, config, BuildType.PROD)

Для работы в тестовой среде установите BuildType.DEBUG

3. Обработка ответа

Для получения и обработки результата операции, необходимо обработать данные полученные с payment activity

Модель данных PaymentResult:

data class PaymentResult(  
	val isSuccessful: Boolean, 
	val paymentReference: String? = null, 
	val errorCode: Int? = null, 
	val errorMessage: String? = null
)  

Пример обработки ответа:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {  
   super.onActivityResult(requestCode, resultCode, data)  

if (requestCode == EPAY_SDK_REQUEST_CODE) { 
	val result = halykEpaySdk.getPaymentResult(requestCode, resultCode, data)  

	if (result.isSuccessful) { 
		resultTextView.text = result.paymentReference ?: "no payment reference" 
	} else { 
		resultTextView.text = result.errorMessage ?: "unknown error" 
	} 
}
} 

4. Настройка для проведения оплаты или перевода

Далее при проведении непосредственной операции, вам будет необходимо подготовить модель для платежа, и запустить нужный Вам тип операции. Подробнее на страницах Платежной страницы и Страницы Перевода