The SDK Can be downloaded from the link provided.
https://drive.google.com/file/d/1LUyqtTtu39Jqp4gd4Y-CviTd7XWryqH8/view?usp=sharing
Once the SDK is downloaded, import the AAR/JAR files in your project.
Implement the following dependencies in your app level gradle.
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation "io.reactivex.rxjava2:rxandroid:2.1.1"
implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.69'
implementation 'com.google.code.gson:gson:2.8.9'
implementation 'com.google.code.ksoap2-android:ksoap2-android:3.6.2'
implementation 'in.credopay.payment.sdk:vm30-payment-sdk:2.0.3'
Add the below repository to the app level gradle
repositories {
maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
}
To Launch the SDK
val intent = Intent(applicationContext, HostActivity::class.java)
intent.putExtra("partnerId", partnerId)
intent.putExtra("apiKey", partnerKey)
intent.putExtra("transactionType", "BE")
intent.putExtra("amount", "0") // 0 for Balance Enquiry and Amount for Cash Withdrawal
intent.putExtra("remarks", "Test Transaction") // Transaction remarks
intent.putExtra("mobileNumber", "9167700212") // Customer Mobile Number
intent.putExtra("referenceNumber", "test00001") // Reference Number
intent.putExtra("latitude", "22.572646") // Latitude
intent.putExtra("longitude", "88.363895") // Longitude
intent.putExtra("subMerchantId", "15") // Sub Merchant Id
intent.putExtra("deviceManufacturerId", 2)
intent.putExtra("token", "1")
resultLauncher.launch(intent)
Result
private var resultLauncher =
registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
if (result.resultCode == Activity.RESULT_OK) {
// There are no request codes
val data: Intent? = result.data
if (data != null) {
val status = data.getBooleanExtra("status", false)
val response = data.getIntExtra("response", 0)
val message = data.getStringExtra("message")
val dataResponse = data.getStringExtra("data:response")
val dataTransAmount = data.getStringExtra("data:transAmount")
val dataBalAmount = data.getStringExtra("data:balAmount")
val dataBankRrn = data.getStringExtra("data:bankRrn")
val dataTxnId = data.getStringExtra("data:txnid")
val dataTransType = data.getStringExtra("data:transType")
val dataType = data.getStringExtra("data:type")
val dataCardNumber = data.getStringExtra("data:cardNumber")
val dataCardType = data.getStringExtra("data:cardType")
val dataTerminalId = data.getStringExtra("data:terminalId")
val dataBankName = data.getStringExtra("data:bankName")
val detailedResponse = "Status: $status, " +
"Response: $response, " +
"Message: $message, " +
"dResponse: $dataResponse, " +
"dAmount: $dataTransAmount, " +
"dBalance: $dataBalAmount, " +
"dBankRRN: $dataBankRrn, " +
"dTxnId: $dataTxnId, " +
"dTransType: $dataTransType, " +
"dType; $dataType, " +
"dCardNumber: $dataCardNumber, " +
"dCardType: $dataCardType, " +
"dTerminalId: $dataTerminalId, " +
"dBankName: $dataBankName"
Toast.makeText(applicationContext, detailedResponse, Toast.LENGTH_LONG).show()
Log.i(logTag, detailedResponse)
}
}
}