Specification » History » Revision 11
Revision 10 (Soh Keong, 11/28/2012 09:38 AM) → Revision 11/39 (Soh Keong, 11/28/2012 10:09 AM)
h1. Specification
h1. Activity Diagram
!MOLPay.png!
h1. Programming Guide
h2. Resources
h3. SCM
see [[wiki#SCM]]
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 ECOS.MOL_INTERFACE (
ORDER_ID VARCHAR(15) NOT NULL,
TRX_TYPE VARCHAR(5),
SHOPPER_REF_NO INTEGER,
CURRENCY VARCHAR(3),
CHARGE_AMT DECIMAL(15,2),
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);
</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.
*Update MOLPay Response into Database*
<pre>
com.ecosway.mol.model.ResponseMOL res = new com.ecosway.mol.service.impl.MOLServiceImpl().updateTransaction(Connection conn,
HttpServletRequest request)
</pre>
# *ResponseMOL*
> * orderId - String
> * amount - double
> * tranId - int
> * status - String
> * errorCode - String
> * errorDesc - String
> * currency - String
> * payDate - Date
> * valid - boolean