Project

General

Profile

Specification » History » Revision 28

Revision 27 (Soh Keong, 01/13/2022 09:34 AM) → Revision 28/39 (Soh Keong, 02/07/2022 04:16 PM)

{{toc}} 

 h1. Specification 

 h1. Activity Diagram 
 !MOLPay.png! 

 h1. Programming Guide 

 h2. Jar version  

 |_. version |_. Description                                            | 
 | 1.11        | Init                                                              | 
 | 1.13        | Added Monthly Dedcution                        | 
 | 2.0         | Added Bank Installment Plan              | 
 | 2.0.1       | Split One Time and Installment account | 

 h2. Jar File Download 

 "Jar":/redmine/attachments/download/634/mol-2.0.1.jar "Jar":/redmine/attachments/download/630/mol-2.0.jar 
 "Properties":/redmine/attachments/download/523/mol_cosway.properties 

 h3. Classes 

 * *com.ecosway.mol.common* - CommonConstants, CommonProperties 
 * *com.ecosway.mol.dao* - MOLInterface 
 * *com.ecosway.mol.model* - CommonMOL, PaymentMOL, ResponseMOL 
 * *com.ecosway.mol.service* - MOLService 
 * *com.ecosway.mol.service.impl* - MOLServiceImpl 
 * *com.ecosway.mol.utils* - HashUtils 

 h3. properties file 

 * *mol.properties* 

 # *merchant.id*         - Merchant login name given by MOLPay 
 # *payment.url*         - Front-end payment page URL 
 # *verification.code* - Verify Key provided by MOLPay to merchant. 
 # *secret.code*         - for encryption purpose. 

 h2. Database Table 

 <pre> 
 CREATE TABLE MOL_INTERFACE ( 
	 ORDER_ID VARCHAR(15) NOT NULL,  
	 TRX_TYPE VARCHAR(5), 
	 SHOPPER_REF_NO INTEGER, 
	 CURRENCY VARCHAR(3), 
	 CHARGE_AMT DECIMAL(15,2),  
	 PAYMENT_METHOD VARCHAR(15), 
	 APP_CODE VARCHAR(20),  
	 TRAN_ID INTEGER,  
	 STATUS VARCHAR(2),  
	 ERROR_CODE VARCHAR(20), 
	 ERROR_DESC VARCHAR(100), 
	 IS_VALID CHARACTER NOT NULL,  
	 PAY_DATE TIMESTAMP, 
         FILE_NAME VARCHAR(50), 
	 CREATE_DATETIME TIMESTAMP NOT NULL, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)); 
 </pre> 

 h2. MOL Service 

 <pre> 
 com.ecosway.mol.service.MOLService service = new com.ecosway.mol.service.impl.MOLServiceImpl(); 
 </pre> 

 h3. getURL 

 <pre> 
 String URL = service.getURL(Connection conn, PaymentMOL payment); 
 String URL = service.getURL(Connection conn, PaymentMOL payment, String propertiesFileName); 
 </pre> 

 # *conn*             - Database connection. 
 # *payment*          - PaymentMOL object. 
 > * *orderId*        - Order ID. 
 > * *amount*         - Transaction amount. (Must greater than 1) 
 > * *currency*       - Currency. (Max 3 characters) 
 > * *name*           - Shopper Name. 
 > * *email*          - Shopper Email. 
 > * *mobile*         - Shopper Mobile. 
 > * *description*    - Transaction description. 
 > * *trxType*        - Transaction Type. 
 > * *country*        - Shopper country. Two letter ISO-3166 country code. (http://www.iso.org/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html) 
 > * *shopperRefNo* - Shopper Reference Number. 
 > * *returnURL*      - Page to be return after transaction. 
 > * *callbackURL*     - Page to be return after transaction. 
 > * *cancelURL*       - Page to be return after transaction. 
 > * *paymentMethod* - Identity which payment method to process the payment.  
                     - Refer : com.ecosway.mol.common.PaymentInstallmentEnum (name=display name; page=page to redirect; type= Installment or One Time Payment) 
 > * *installmonth*    - Number of Installment month. 


 h3. Update MOLPay Response into Database 

 <pre> 
 com.ecosway.mol.model.ResponseMOL res = service.updateTransaction(Connection conn, HttpServletRequest request) 
 com.ecosway.mol.model.ResponseMOL res = service.updateTransaction(Connection conn, HttpServletRequest request, String propertiesFileName) 
 </pre> 

 # *ResponseMOL* 
 > * orderId - String 
 > * amount - double 
 > * tranId - int 
 > * status - String 
 > * errorCode - String 
 > * errorDesc - String 
 > * currency - String 
 > * payDate - Date 
 > * valid - boolean