Project

General

Profile

Specification » History » Revision 10

Revision 9 (Soh Keong, 07/05/2012 11:04 AM) → Revision 10/19 (Soh Keong, 07/05/2012 04:37 PM)

h1. Specification 

 h1. Activity Diagram 

 Figure 1 showing the process flow from Russia mall to Uniteller Payment Gateway Page. 
 !Uniteller_GW.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*                          - 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. 

 h3. Database Table 

 <pre> 
 CREATE TABLE ECOS.UNITELLER_INTERFACE ( 
	 ORDER_ID VARCHAR(18) NOT NULL,  
	 CHARGE_AMT DECIMAL(15,2),  
	 TRX_TYPE VARCHAR(20) NOT NULL, VARCHAR(20),  
	 SHOPPER_REF_NO INTEGER NOT NULL, INTEGER,  
	 COMMENT VARCHAR(255), 
	 ERROR_MESSAGE VARCHAR(255),  
	 CURRENCY VARCHAR(3), 
	 ORDER_STATUS VARCHAR(100), 
	 IS_VALID CHARACTER NOT NULL, CHARACTER,  
	 LOCAL_DATETIME TIMESTAMP, 
	 DATETIME TIMESTAMP NOT NULL, TIMESTAMP, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)); (ORDER_ID)) 
 </pre> 

 h3. Integration 

 There are total 2 methods (getURL & 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, 
			 String currency, 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. 
 # *currency*          - The currency of the order expressed as an ISO 4217 alpha code. (Value: main.java.com.ecosway.constants.CommonConstants.CURRENCY_) 
 # *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 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, java.util.Date localDateTime); 
 </pre> 

 # *conn*      - Database connection. 
 # *status*    - javax.servlet.http.HttpServletRequest.getParameter("Status"). 
 # *orderNo* - javax.servlet.http.HttpServletRequest.getParameter("Order_ID") 
 # *localDateTime* - Russia payment date and time.