Specification » History » Revision 5
Revision 4 (Soh Keong, 06/19/2012 10:08 AM) → Revision 5/19 (Soh Keong, 06/19/2012 03:41 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
*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. Will append sub bill number at the end of the comment.
# *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* -