Project

General

Profile

Specification » History » Revision 18

Revision 17 (Soh Keong, 11/25/2020 09:31 AM) → Revision 18/39 (Soh Keong, 11/25/2020 02:31 PM)

h1. Specification 

 h1. Activity Diagram 
 !MOLPay.png! 

 h1. Programming Guide 

 h2. Resources 

 h3. Jar version  

 |_. version |_. Description    | 
 | 1.0         | Init             | SCM 

 see [[wiki#SCM]] 

 h3. Jar File Download 

 "Jar":/redmine/attachments/download/409/mol-1.0-SNAPSHOT.jar "Download Page":http://192.168.2.13:50000/redmine/projects/pay/files 

 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. 

 h3. 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, 
	 CREATE_DATETIME TIMESTAMP NOT NULL, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)); 
 </pre> 

 *Get MOLPay URL* 

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

 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. 
 > * *paymentMethod* - Identity which payment method to process the payment. (example : credit card or fpx) 


 *Update MOLPay Response into Database* 

 <pre> 
 com.ecosway.mol.service.MOLService service = new com.ecosway.mol.service.impl.MOLServiceImpl(); 
 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