For TPV transactions, you need to have different Merchant ID. Please contact your Key Account Manager at PayU for the same.
For TPV transaction, hash calculation formula is different from normal type of payment:
For multiple account number, account number should be pipe separated and max 4 account numbers are allowed.
// For single account numberbeneficiarydetail = "{'beneficiaryAccountNumber':'123456789'}"// For multiple account numberbeneficiarydetail = "{'beneficiaryAccountNumber':'123456789|54321234|98765673|34767988'}"// Hash calculationHash = sha512(key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||beneficiarydetail|SALT)
To Pay using NetBanking, you need to pass payment params along with below additional params
mPaymentParams.setBeneficiaryAccountNumber("123456789");mPaymentParams.setBankCode("AXNBTPV");
mPaymentParams.beneficiaryAccountNumber = "123456789"mPaymentParams.bankCode = "AXNBTPV"
After setting the above parameters, you can get the payment post params using below
try {mPostData = new PaymentPostParams(mPaymentParams, PayuConstants.NB).getPaymentPostParams();} catch (Exception e) {e.printStackTrace();}
try {mPostData = PaymentPostParams(mPaymentParams, PayuConstants.NB).paymentPostParams} catch (Exception e) {e.printStackTrace();}
To Pay using UPI, you need to pass beneficiaryAccountNumber param as below
// For single account numbermPaymentParams.setBeneficiaryAccountNumber("123456789");// For multiple account numbersmPaymentParams.setBeneficiaryAccountNumber("123456789|23456782|1234567");
// For single account numbermPaymentParams.beneficiaryAccountNumber = "123456789"// For multiple account numbersmPaymentParams.beneficiaryAccountNumber = "123456789|23456782|1234567"
After setting the above parameters for UPI Collect transaction, you can get the payment post params using below
try {mPostData = new PaymentPostParams(mPaymentParams, PayuConstants.UPI).getPaymentPostParams();} catch (Exception e) {e.printStackTrace();}
try {mPostData = PaymentPostParams(mPaymentParams, PayuConstants.UPI).paymentPostParams} catch (Exception e) {e.printStackTrace();}