Қойылатын талаптар
- Сізге ePay клиенті болу керек
- Сізге интеграциялық деректерді алу керек:
TerminalID | Дүкен сәйкестендіргіші |
ClientID | Клиент сәйкестендіргіші |
ClientSecret | Құпия кілт |
Тестілік деректер
ClientID | test |
ClientSecret | yF587AV9Ms94qN2QShFzVR3vFnWkhjbAK3sG |
TerminalID | 67e34d63-102f-4bd1-898e-370781d0074d |
Қосылу
1. SDK импорты
Жобаға SDK aar қосу
-
- halykepay.aar кітапханасын Android framework сілтемесі бойынша жүктеп алыңыз.
-
- Файлды папкаға жылжытыңыз
libs
- Файлды
- aar файлын Өзіңіздің жобаңызға Jar/Aar Dependency ретінде импорттаңыз.
- File > Project Structure > Dependencies бөліміне өтіңіз
- Declared Dependencies қосымша бетінде «+» батырмасын басып, Module Dependency таңдаңыз
Тәуелділіктерді қосу
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. Төлем немесе аударым жасау үшін баптау
Әрі қарай, тікелей операция жасаған кезде сізге төлемге арналған моделді дайындап, Өзіңізге қажетті операция түрін іске қосу қажет болады. Толығырақ Төлем беті және Аударым беті беттерінде