Project

General

Profile

Specification » History » Revision 7

Revision 6 (Soh Keong, 06/19/2012 05:29 PM) → Revision 7/19 (Soh Keong, 06/19/2012 05:48 PM)

h1. Specification 

 h1. Activity Diagram 

 Figure 1 showing the process flow from Russia mall to Uniteller Payment Gateway Page. 
 !Uniteller_GW.png! 

 Figure 2 showing the process flow to get Payment Result from Uniteller Payment Gateway. 
 !PaymentResult.png! 

 h1. Programming Guide 

 h2. Resources 

 h3. SCM 

 see [[wiki#SCM]] 

 h3. Classes 

 * *main.java.com.ecosway.constants*            - CommonConstants, EMoneyType, Language, MeanType 
 * *main.java.com.ecosway.model*                - Common, PaymentResponse, Personal, Uniteller 
 * *main.java.com.ecosway.service*              - AuthorizationRequestService 
 * *main.java.com.ecosway.service.impl*         - AuthorizationRequestServiceImpl 
 * *main.java.com.ecosway.unitellerInterface* - UnitellerInterface 
 * *main.java.com.ecosway.utils*                - PropertiesUtils, SignatureUtils 
 * *ru.uniteller.type*                          - SOAPStruct_Helper, SOAPStruct 
 * *ru.uniteller.wsdl* *ru.uniteller.wsd*l                          - Uniteller, UnitellerLocator, UnitellerSoapBindingStub, UnitellerSoapPort, UnitellerSoapPortProxy 

 h3. properties file 

 * *application.properties* 

    # *shop.id*         - The e-shop identifier in the Uniteller system. 
    # *login.id*        - The login assigned to the Merchant during the account creation in the Uniteller system. 
    # *shop.password* - The password assigned to the Merchant during the account creation in the Uniteller system. 
    # *uniteller.url* - As an address of the payment page of the payment gateway. 
    # *uniteller.interface.table.name* - Table Name of Uniteller Interface. 
    # *end.point.url* - Payment Result end point URL. 

 h3. Database Table 

 <pre> 
 CREATE TABLE ECOS.UNITELLER_INTERFACE ( 
	 ORDER_ID VARCHAR(100) NOT NULL,  
	 CHARGE_AMT DECIMAL(15,2),  
	 TRX_TYPE VARCHAR(20),  
	 SHOPPER_REF_NO INTEGER,  
	 COMMENT VARCHAR(255), 
	 RESPONSE_CODE VARCHAR(5), 
	 RESPONSE_MSG VARCHAR(120), 
	 ERROR_MESSAGE VARCHAR(255), 
	 CURRENCY VARCHAR(3), 
	 CARD_TYPE VARCHAR(15), 
	 UNI_BILL_NUMBER VARCHAR(100), 
	 ORDER_STATUS VARCHAR(100), 
	 ERROR_CODE VARCHAR(100), 
	 ERROR_COMMENT VARCHAR(100), 
	 IS_VALID CHARACTER,  
	 DATETIME TIMESTAMP, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)); 
 </pre> 

 h3. Integration 

 There are total 3 methods (getURL, getPaymentResultList & updateStatusByOrderNo). 

 *Get Uniteller URL* 

 <pre> 
 main.java.com.ecosway.service.AuthorizationRequestService service = new main.java.com.ecosway.service.impl.AuthorizationRequestServiceImpl(); 

 String URL = service.getURL(Connection conn, String trxType, String orderNumber, 
			 double amount, String urlReturn, int lifeTime, int shopperRefNo, 
			 MeanType meanType, EMoneyType eMoneyType, Language language, 
			 String comment, main.java.com.ecosway.model.Personal personal); 
 </pre> 

 # *conn*              - Database connection. 
 # *trxType*           - The Type of Transaction. 
 # *orderNumber*       - The unique order Number. 
 # *amount*            - The purchase amount in the currency. 
 # *urlReturn*         - Page URL the Purchaser must be returned to when a transaction is performed in the Uniteller system. 
 # *lifeTime*          - The form (page) lifetime in seconds, staring from the moment it was displayed. 
 # *shopperRefNo*      - Member ID. 
 # *meanType*          - The credit card payment system. (Value: main.java.com.ecosway.constants.MeanType) 
 # *eMoneyType*        - The type of electronic currency type. (Value: main.java.com.ecosway.constants.EMoneyType) 
 # *language*          - The interface language code of the payment page. (Value: main.java.com.ecosway.constants.Language) 
 # *comment*           - Payment comments. 
 # *personal*          - firstName, lastName, middleName, email, phone, address, country, state, city and zip. 

 *Get Payment Response* 

 <pre> 
 main.java.com.ecosway.service.AuthorizationRequestService service = new main.java.com.ecosway.service.impl.AuthorizationRequestServiceImpl(); 

 List<PaymentResponse> paymentResponseList = service.getPaymentResultList(Connection conn, 
			 String orderNumber, String success, MeanType meanType, 
			 EMoneyType eMoneyType, String english); 
 </pre> 

 # *conn*              - Database connection. 
 # *orderNumber*       - The unique order Number. 
 # *success*           - The operations to be included to the response.(0 – unsuccessful, 1 – successful, 2 – all) 
 # *meanType*          - The credit card payment system. (Value: main.java.com.ecosway.constants.MeanType) 
 # *eMoneyType*        - The type of electronic currency type. (Value: main.java.com.ecosway.constants.EMoneyType) 
 # *english*           -  

 *Get Server Call Back Status* 

 <pre> 
 main.java.com.ecosway.service.AuthorizationRequestService service = new main.java.com.ecosway.service.impl.AuthorizationRequestServiceImpl(); 

 void service.updateStatusByOrderNo(Connection conn, String status, String orderNo); 
 </pre> 

 # *conn*      - Database connection. 
 # *status*    - javax.servlet.http.HttpServletRequest.getParameter("Status"). 
 # *orderNo* - javax.servlet.http.HttpServletRequest.getParameter("Order_ID")