Қойылатын талаптар

  1. Сізге ePay клиенті болу керек
  2. Сізге интеграциялық деректерді алу керек:
TerminalIDДүкен сәйкестендіргіші
ClientIDКлиент сәйкестендіргіші
ClientSecretҚұпия кілт

Тестілік деректер

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

Қосылу

1. SDK импорты

Жобаға SDK aar қосу

    1. halykepay.aar кітапханасын Android framework сілтемесі бойынша жүктеп алыңыз.
    1. Файлды
      libs
      папкаға жылжытыңыз
  1. aar файлын Өзіңіздің жобаңызға Jar/Aar Dependency ретінде импорттаңыз.
  2. File > Project Structure > Dependencies бөліміне өтіңіз
  3. 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. Төлем немесе аударым жасау үшін баптау

Әрі қарай, тікелей операция жасаған кезде сізге төлемге арналған моделді дайындап, Өзіңізге қажетті операция түрін іске қосу қажет болады. Толығырақ Төлем беті және Аударым беті беттерінде