Lists various payment types supported by SDK and additional parameters supported.
Credit Card/Debit Card/Stored Card(Use PayuConstants.CC)
NetBanking (Use PayUConstants.NB)
EMI (Use PayUConstants.EMI)
No Cost EMI (Use PayUConstants.EMI)
Cash Cards/Wallets (Use PayUConstants.CASH)
PayU Money (Use PayUConstants.PAYU_MONEY)
UPI (Use PayUConstants.UPI)
Google Pay (Use PayUConstants.TEZ)
PhonePe (Use PayUConstants.PHONEPE_INTENT)
LazyPay (Use PayUConstants.LAZYPAY)
Below are the additional parameters that can be configured in PaymentParams object created earlier for various PaymentTypes.
mPaymentParams.setCardNumber(cardNumber);mPaymentParams.setCardName(cardName);mPaymentParams.setNameOnCard(cardholderName);mPaymentParams.setExpiryMonth(expiryMonth);// MMmPaymentParams.setExpiryYear(expiryYear);// YYYYmPaymentParams.setCvv(cvv);
For Recurring payment in CC/DC, merchant need to collect below details
SIParams siParams = new SIParams();siParams.setCcCardType("CC"); //This will be DC for Debit CardsiParams.setCcCategory("MAST"); //Card scheme
Set this siParams in Payment Params created here
mPaymentParams.setCardToken(cardToken);mPaymentParams.setCvv(cvv);mPaymentParams.setNameOnCard(cardName);mPaymentParams.setExpiryMonth(expiryMonth);// MMmPaymentParams.setExpiryYear(expiryYear);// YYYYmPaymentParams.setCardName(storedCard.getCardName());
Get the bankCode (String) of selected bank from your spinner/list view adapter and add it to the mPaymentParams
created above
mPaymentParams.setBankCode(bankCode);
For Recurring payment in NB, merchant need to collect below details
BeneficiaryDetails beneficiaryDetails = new BeneficiaryDetails();beneficiaryDetails.setBeneficiaryName("John Doe");beneficiaryDetails.setBeneficiaryAccountNumber("51234567890");beneficiaryDetails.setBeneficiaryAccountType(BeneficiaryAccountType.SAVINGS);SIParams siParams = new SIParams();siParams.setBeneficiarydetail(beneficiaryDetails);
Parameter | Type | Description |
Beneficiary Name | String | Account Holder Beneficiary name |
Beneficiary Account Number | String | Account number of Beneficiary |
Beneficiary Account Type | Enum of BeneficiaryAccountType | Accepted values are BeneficiaryAccountType.SAVINGS, BeneficiaryAccountType.CURRENT |
Set this siParams in Payment Params created here
Get the bankCode (String) of selected bank from your spinner/list view adapter and add it to the mPaymentParams
along with card details as below
mPaymentParams.setCardNumber(“5123456789012346”);mPaymentParams.setNameOnCard(“test”);mPaymentParams.setExpiryMonth(“06”);mPaymentParams.setExpiryYear(“2023”);mPaymentParams.setCvv(“123”);mPaymentParams.setBankCode(“EMI03”);
For making no cost EMI transactions, subvention amount needs to be sent along with above EMI params
mPaymentParams.setSubventionAmount(“4000”);
To get list of No Cost EMI supporting banks, pass var2 as "all" in Merchant Web Service for GetPaymentRelatedDetailsTask. More details on Merchant Web Service is here.
If subventionAmount is passed than hash formula for payment hash will be
sha512(key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||SALT|SubventionAmount)
Otherwise it will remain same as earlier.
mPaymentParams.setBankCode(bankCode);
mPaymentParams.setVpa(virtualPaymentAddress)
Validations for virtual payment address
Vpa length should be less than or equal to 50
Regex for VPA : value.match(/^([A-Za-z0-9.])[email protected][A-Za-z0-9]+$/)
Notify(Callback) URL of merchant where a notification of transaction status will be sent on completion of transaction. It should be HTTPS.
mPaymentParams.setNotifyURL(<Merchant Callback Url>);