Project

General

Profile

Specification » History » Revision 10

Revision 9 (Soh Keong, 07/19/2022 11:22 AM) → Revision 10/11 (Soh Keong, 07/19/2022 11:38 AM)

{{toc}} 

 h1. Specification 

 h1. Activity Diagram 

 !atome_open_api_flowchart.jpg! 

 h1. Programming Guide 

 h2. Jar version  

 |_. version |_. Description                            | 
 | 1.0         | Init                                     | 
 | 1.1         | without customer info                    | 
 | 1.2         | Added Taiwan                             | 

 h2. Jar File Download 

 "Jar":/redmine/attachments/download/668/atome-1.2.jar 
 "Properties":/redmine/attachments/download/647/atome.properties 

 h3. Classes 

 * *com.atome.common*    - CommonConstant, CommonProperties 
 * *com.atome.dao*       - AtomeInterface 
 * *com.atome.model*     - AtomeCommonBean, AtomeRequestBean, AtomeResponseBean, CustomerInfoBean, PaymentTransaction, ProductBean, ShippingAddressBean 
 * *com.atome.service* - AtomeService 
 * *com.atome.util*      - HttpManager 

 h3. properties file 

 * *atome.properties* 

 # *payment.url*                  - 
 # *api.key.[myr]*                - [myr] for Malaysia; [sgd] for Singapore etc.  
 # *api.secret.[myr]*             - [myr] for Malaysia; [sgd] for Singapore etc.  
 # *connection.connect.timeout* - 
 # *connection.read.timeout*      - 
 # *data.default.mobile*          - 
 # *data.default.country*         - 
 # *data.default.address*         - 
 # *data.default.postcode*        - 
 # *data.default.prodId*          - 
 # *data.default.prodName*        - 
 # *data.default.expiryTime*      - 

 h2. Database Table 

 <pre> 
 CREATE TABLE ATOME_INTERFACE ( 
	 ORDER_ID VARCHAR(15) NOT NULL,  
	 TRX_TYPE VARCHAR(5), 
	 SHOPPER_REF_NO INTEGER, 
	 CURRENCY VARCHAR(3), 
	 CHARGE_AMT DECIMAL(15,2),  
	 ATOME_ID VARCHAR(15),  
	 TRAN_ID VARCHAR(20),  
	 STATUS VARCHAR(2),  
	 IS_VALID CHARACTER DEFAULT 'N',  
	 PAY_DATE TIMESTAMP, 
	 CREATE_DATETIME TIMESTAMP DEFAULT CURRENT TIMESTAMP, 
	 MODIFY_DATETIME TIMESTAMP,  
	 PRIMARY KEY (ORDER_ID)); 
 </pre> 

 h2. Atome Service 

 <pre> 
 com.atome.service.AtomeService service = new com.atome.service.AtomeService(); 
 </pre> 

 h3. getURL 

 <pre> 
 AtomeResponseBean responseBean = service.getURL(Connection conn, AtomeRequestBean payment); 
 </pre> 

 # *conn*                        - Database connection. 
 # *payment*                     - AtomeRequestBean object. 
 > * *orderId*                   - Order ID. 
 > * *trxType*                   -  
 > * *currency*                  *amount*                    - com.atome.common.CommonConstant.CURRENCY_* (Currency MUST SET before Amount) Transaction amount. 
 > * *amount*                    *currency*                  - Transaction amount. com.atome.common.CommonConstant.CURRENCY_* 
 > * *shopperRefNo*              -  
 > * *callbackUrl*               - Backend response.  
 > * *paymentResultUrl*          - 
 > * *paymentCancelUrl*          -  
 -> * *expirationTimeInSeconds* - int- 
 -> * *customerInfo*              - object CustomerInfoBean-  
 ->> * *mobileNumber*             -- 
 -> * *shippingAddress*           - object ShippingAddressBean- 
 ->> * *countryCode*              - com.atome.common.CommonConstant.ADDRESS_COUNTRY_*- 
 ->> * *lines*                    - Address line- 
 ->> * *postcode*                 --  
 -> * *productList*               - Array- 
 ->> * *productId*                --  
 ->> * *productName*              --  
 ->> * *quantity*                 - int-  
 ->> * *price*                    - double- 

 # *responseBean* 
 > *status*          - 
 > *redirectUrl*     -  
 > *appPaymentUrl* -  
 > *qrCodeUrl*       -  

 h3. Update transaction 

 <pre> 
 AtomeResponseBean responseBean = service.updateTransaction(Connection conn, HttpServletRequest request); 
 </pre> 

 # *responseBean* 
 > * orderId       -  
 > * trxType       -  
 > * status        -  
 > * valid         - 
 > * httpCode      - 
 > * httpMessage -