Specification » History » Revision 20
Revision 19 (Soh Keong, 11/25/2020 02:50 PM) → Revision 20/39 (Soh Keong, 11/25/2020 03:00 PM)
{{toc}}
h1. Specification
h1. Activity Diagram
!MOLPay.png!
h1. Programming Guide
h3. Jar version
|_. version |_. Description |
| 1.0 | Init |
h3. Jar File Download
"Jar":/redmine/attachments/download/409/mol-1.0-SNAPSHOT.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.
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