How to set Multiple Option of Payment In PayUMoney Payment Gateway in Android

412 Views Asked by At

Image of Output

my dependency file here

implementation 'com.payumoney.sdkui:plug-n-play:1.6.1'

payUmoney code

 private fun startPay() {
    builder.setAmount(amount)                          // Payment amount
            .setTxnId(txnid)                     // Transaction ID
            .setPhone(phone)                   // User Phone number
            .setProductName(prodname)                   // Product Name or description
            .setFirstName(firstname)                              // User First name
            .setEmail(email)              // User Email ID
            .setsUrl("https://www.payumoney.com/mobileapp/payumoney/success.php")     // Success URL (surl)
            .setfUrl("https://www.payumoney.com/mobileapp/payumoney/failure.php")     //Failure URL (furl)
            .setUdf1("")
            .setUdf2("")
            .setUdf3("")
            .setUdf4("")
            .setUdf5("")
            .setUdf6("")
            .setUdf7("")
            .setUdf8("")
            .setUdf9("")
            .setUdf10("")
            .setIsDebug(true)                              // Integration environment - true (Debug)/ false(Production)
            .setKey(pro_merchantkey)                        // Merchant key
            .setMerchantId(pro_merchantId);
    try {
        paymentParam = builder.build()
        getHashkey()
    } catch (e: Exception) {
        Log.d("afkafbakabkab", " errors $e")
    }

}

payment flow stating from here

 private fun getHashkey() {
    paymentParam!!.setMerchantHash(CreateHash())
    PayUmoneyFlowManager.startPayUMoneyFlow(paymentParam, this as PaymentGateways, R.style.AppTheme_default, true);

}

generating hash key from this code

 private fun CreateHash(): String {

    var hashSequence: String = pro_merchantkey + "|" + txnid + "|" + amount + "|" + prodname + "|" + firstname + "|" + email + "|" +
            udf1 + "|" + udf2 + "|" + udf3 + "|" + udf4 + "|" + udf5 +"||||||"+ pro_salt;

    val hash = hashcal("SHA-512", hashSequence)

    return hash

}

note :- i am getting only one payment option i want to get multiple payment options like netbanking ,Upi

1

There are 1 best solutions below

0
Ezhilan On

you have set setIsDebug() true; for some resaons PayU have only provided test cards for testing purposes. So, the release build will have all the options. in simple words set setIsDebug(false) and you will get all the options.