API Reference

SDK Details

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)

                }
            }
        }