Rev 22528 | View as "text/plain" | Blame | Compare with Previous | Last modification | View Log | RSS feed
package com.spice.profitmandi.web.payment;import java.util.Collections;import java.util.HashMap;import java.util.List;import java.util.Map;import org.apache.logging.log4j.Logger;import org.apache.logging.log4j.LogManager;import in.shop2020.model.v1.order.EmiScheme;import in.shop2020.payments.Attribute;import in.shop2020.payments.Payment;public class PaymentUtils {private static List<EmiScheme> emiSchemes;private static final Logger logger=LogManager.getLogger(PaymentUtils.class);public static enum PAYMENT_TYPE{NB("Net Banking"),CC("Credit Card"),DC("Debit Card"),WAL("Wallet"),COD("Cash on Delivery"),CAS("Cash Card"),EMI("EMI");PAYMENT_TYPE(String value){this.value = value;}private final String value;public String value() { return value; }}public static PAYMENT_TYPE getPaymentType(Payment payment){List<Attribute> attributes = payment.getAttributes();for(Attribute attribute : attributes) {if(attribute.getName().equals(IPaymentService.PAYMENT_TYPE)) {return PAYMENT_TYPE.valueOf(attribute.getValue());}}return null;}@SuppressWarnings("serial")public static final Map<String, String> PAYU_NET_BANKING_CODES_MAP = Collections.unmodifiableMap(new HashMap<String, String>(){{put("1004","AXIB");put("1135","CRPB");put("1029","FEDB");put("1007","HDFB");put("1016","ICIB");put("1032","SBIB");put("1034","SBHB");put("1038","SBMB");put("1035","SBMB");put("1039","SBTB");put("1127","CITNB");put("1033","SBBJB");//Oriental Bank of Commerce//put("1154","");put("1147","CBIB");put("1146","YESB");put("1214","BOIB");put("1215","CUBB");put("1212","UNIB");put("1224","CABB");put("1210","INGB");put("1148","162B");put("1273","DLSB");put("1015","JAKB");put("1133","KRKB");put("1143","INDB");put("1216","UBIB");put("1213","INOB");put("1229","BOMB");put("1601","CSBN");put("1602","DCBB");put("1603","DSHB");put("1604","IDBB");put("1605","INIB");put("1606","KRVB");put("1607","PNBB");put("1608","SOIB");put("1609","SRSWT");put("1610","VJYB");put("1611","DCBCORP");put("1612","UBIBC");put("1613","CPNB");}});@SuppressWarnings("serial")public static final Map<String, String> PAYU_CREDIT_CARD_CODES_MAP = Collections.unmodifiableMap(new HashMap<String, String>(){{put("2008","CC");put("2017","CC");put("2028","AMEX");put("1010","DINR");}});@SuppressWarnings("serial")public static final Map<String, String> PAYU_DEBIT_CARD_CODES_MAP = Collections.unmodifiableMap(new HashMap<String, String>(){{put("2000","VISA");put("2018","MAST");put("1009","MAST");put("2038","RUPAY");put("SMAE","SMAE");put("1164","MAES");}});//Payu Moneypublic static final String PAYU_CC = "4001";public static String getPayubankCode(String paymentOptions){String payCode = "";if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),"");return PAYU_CREDIT_CARD_CODES_MAP.get(payCode);}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.DC.toString(),"");return PAYU_DEBIT_CARD_CODES_MAP.get(payCode);}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.NB.toString(),"");return PAYU_NET_BANKING_CODES_MAP.get(payCode);}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.NB.toString(),"");if(payCode.equals(PAYU_CC));return "payuw";}return "";}public static String getPayugatewayCode(String paymentOptions){if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {return PaymentUtils.PAYMENT_TYPE.CC.toString();}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {return PaymentUtils.PAYMENT_TYPE.DC.toString();}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {return PaymentUtils.PAYMENT_TYPE.NB.toString();}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {return "Wallet";}return "";}public static long getGatewayId(String paymentOptions) {String payCode = "";// As of on august 2 2016 all the debit,credit and netbanking payments// have to be redirected to payu.// so returning 13 as payment gateway// this can be re-written for other business logicif (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {return 19;}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {// payCode =// paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),// "");return 19;}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {// payCode =// paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),// "");return 19;}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.WAL.toString(), "");if (PaymentUtils.PAYU_CC.equals(payCode))return 19;return 19;}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CAS.toString())) {return 19;}if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.COD.toString())) {payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.COD.toString(), "");if (payCode.equals(IPaymentService.COD)) {return 4;}if (payCode.equals(IPaymentService.COUPON)) {return 17;}}return 0;}}