Subversion Repositories SmartDukaan

Rev

Rev 23568 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
21409 amit.gupta 1
package com.spice.profitmandi.web.payment;
2
 
3
import java.util.Collections;
4
import java.util.HashMap;
5
import java.util.Map;
6
 
23568 govind 7
import org.apache.logging.log4j.Logger;
8
import org.apache.logging.log4j.LogManager;
21409 amit.gupta 9
 
36625 amit 10
public class PaymentUtils {
21409 amit.gupta 11
 
23568 govind 12
	private static final Logger logger=LogManager.getLogger(PaymentUtils.class);
21409 amit.gupta 13
 
14
	public static enum PAYMENT_TYPE{
21805 amit.gupta 15
		NB("Net Banking"),
22528 amit.gupta 16
		CC("Credit Card"),
21805 amit.gupta 17
		DC("Debit Card"),
18
		WAL("Wallet"),
19
		COD("Cash on Delivery"),
20
		CAS("Cash Card"),
21
		EMI("EMI");
22
 
23
		PAYMENT_TYPE(String value){
24
			this.value = value;
25
		}
26
 
27
		private final String value;
28
	    public String value() { return value; }
29
	}
21409 amit.gupta 30
 
31
    @SuppressWarnings("serial")
32
	public static final Map<String, String> PAYU_NET_BANKING_CODES_MAP = Collections.unmodifiableMap(
33
    		new HashMap<String, String>(){
34
	    		{
35
	    			put("1004","AXIB");
36
	    			put("1135","CRPB");
37
	    			put("1029","FEDB");
38
	    			put("1007","HDFB");
39
	    			put("1016","ICIB");
40
	    			put("1032","SBIB");
41
	    			put("1034","SBHB");
42
	    			put("1038","SBMB");
43
	    			put("1035","SBMB");
44
	    			put("1039","SBTB");
45
	    			put("1127","CITNB");
46
	    			put("1033","SBBJB");
47
    				//Oriental Bank of Commerce
48
	    			//put("1154","");
49
	    			put("1147","CBIB");
50
	    			put("1146","YESB");
51
	    			put("1214","BOIB");
52
	    			put("1215","CUBB");
53
	    			put("1212","UNIB");
54
	    			put("1224","CABB");
55
	    			put("1210","INGB");
56
	    			put("1148","162B");
57
	    			put("1273","DLSB");
58
	    			put("1015","JAKB");
59
	    			put("1133","KRKB");
60
	    			put("1143","INDB");
61
	    			put("1216","UBIB");
62
	    			put("1213","INOB");
63
	    			put("1229","BOMB");
64
	    			put("1601","CSBN");
65
	    			put("1602","DCBB");
66
	    			put("1603","DSHB");
67
	    			put("1604","IDBB");
68
	    			put("1605","INIB");
69
	    			put("1606","KRVB");
70
	    			put("1607","PNBB");
71
	    			put("1608","SOIB");
72
	    			put("1609","SRSWT");
73
	    			put("1610","VJYB");
74
	    			put("1611","DCBCORP");
75
	    			put("1612","UBIBC");
76
	    			put("1613","CPNB");
77
	    		}
78
    		});
79
 
80
    @SuppressWarnings("serial")
81
	public static final Map<String, String> PAYU_CREDIT_CARD_CODES_MAP = Collections.unmodifiableMap(
82
    		new HashMap<String, String>(){
83
	    		{
84
	    			put("2008","CC");
85
	    			put("2017","CC");
86
	    			put("2028","AMEX");
87
	    			put("1010","DINR");
88
	    		}
89
    		});
90
 
91
    @SuppressWarnings("serial")
92
	public static final Map<String, String> PAYU_DEBIT_CARD_CODES_MAP = Collections.unmodifiableMap(
93
    		new HashMap<String, String>(){
94
	    		{
95
	    			put("2000","VISA");
96
	    			put("2018","MAST");
97
	    			put("1009","MAST");
98
	    			put("2038","RUPAY");
99
	    			put("SMAE","SMAE");
100
	    			put("1164","MAES");
101
	    		}
102
    		});
22507 amit.gupta 103
    //Payu Money
21409 amit.gupta 104
    public static final String PAYU_CC = "4001";
105
 
106
    public static String getPayubankCode(String paymentOptions){
107
    	String payCode = "";
108
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {
109
    		payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),"");
110
			return PAYU_CREDIT_CARD_CODES_MAP.get(payCode);
111
		}
112
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {
113
    		payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.DC.toString(),"");
114
			return PAYU_DEBIT_CARD_CODES_MAP.get(payCode);
115
		}
116
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {
117
    		payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.NB.toString(),"");
118
			return PAYU_NET_BANKING_CODES_MAP.get(payCode);
119
		}
120
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {
121
    		payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.NB.toString(),"");
122
    		if(payCode.equals(PAYU_CC));
123
    			return "payuw";
124
		}
125
 
126
    	return "";
127
    }
128
 
129
    public static String getPayugatewayCode(String paymentOptions){
130
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {
131
			return PaymentUtils.PAYMENT_TYPE.CC.toString();
132
		}
133
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {
134
			return PaymentUtils.PAYMENT_TYPE.DC.toString();
135
		}
136
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {
137
			return PaymentUtils.PAYMENT_TYPE.NB.toString();
138
		}
139
    	if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {
140
    			return "Wallet";
141
		}
142
 
143
    	return "";
144
    }
145
 
146
	public static long getGatewayId(String paymentOptions) {
147
		String payCode = "";
148
 
149
		// As of on august 2 2016 all the debit,credit and netbanking payments
150
		// have to be redirected to payu.
151
		// so returning 13 as payment gateway
152
		// this can be re-written for other business logic
153
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CC.toString())) {
22507 amit.gupta 154
			return 19;
21409 amit.gupta 155
 
156
		}
157
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.DC.toString())) {
158
			// payCode =
159
			// paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),
160
			// "");
22507 amit.gupta 161
			return 19;
21409 amit.gupta 162
		}
163
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.NB.toString())) {
164
			// payCode =
165
			// paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.CC.toString(),
166
			// "");
22507 amit.gupta 167
			return 19;
21409 amit.gupta 168
		}
169
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.WAL.toString())) {
170
			payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.WAL.toString(), "");
171
			if (PaymentUtils.PAYU_CC.equals(payCode))
22507 amit.gupta 172
				return 19;
173
			return 19;
21409 amit.gupta 174
		}
175
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.CAS.toString())) {
22507 amit.gupta 176
			return 19;
21409 amit.gupta 177
		}
178
		if (paymentOptions.startsWith(PaymentUtils.PAYMENT_TYPE.COD.toString())) {
179
			payCode = paymentOptions.replace(PaymentUtils.PAYMENT_TYPE.COD.toString(), "");
180
			if (payCode.equals(IPaymentService.COD)) {
181
				return 4;
182
			}
183
			if (payCode.equals(IPaymentService.COUPON)) {
184
				return 17;
185
			}
186
		}
187
 
188
		return 0;
189
	}
190
 
191
 
192
}