Specification » History » Revision 6
Revision 5 (Soh Keong, 06/19/2012 03:41 PM) → Revision 6/19 (Soh Keong, 06/19/2012 05:29 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.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")