Specification » History » Version 9
Soh Keong, 07/19/2022 11:22 AM
1 | 1 | Soh Keong | {{toc}} |
---|---|---|---|
2 | |||
3 | h1. Specification |
||
4 | |||
5 | h1. Activity Diagram |
||
6 | |||
7 | !atome_open_api_flowchart.jpg! |
||
8 | |||
9 | h1. Programming Guide |
||
10 | |||
11 | h2. Jar version |
||
12 | |||
13 | |_. version |_. Description | |
||
14 | | 1.0 | Init | |
||
15 | 8 | Soh Keong | | 1.1 | without customer info | |
16 | 9 | Soh Keong | | 1.2 | Added Taiwan | |
17 | 1 | Soh Keong | |
18 | h2. Jar File Download |
||
19 | |||
20 | 9 | Soh Keong | "Jar":/redmine/attachments/download/668/atome-1.2.jar |
21 | 3 | Soh Keong | "Properties":/redmine/attachments/download/647/atome.properties |
22 | 1 | Soh Keong | |
23 | h3. Classes |
||
24 | |||
25 | * *com.atome.common* - CommonConstant, CommonProperties |
||
26 | * *com.atome.dao* - AtomeInterface |
||
27 | * *com.atome.model* - AtomeCommonBean, AtomeRequestBean, AtomeResponseBean, CustomerInfoBean, PaymentTransaction, ProductBean, ShippingAddressBean |
||
28 | * *com.atome.service* - AtomeService |
||
29 | * *com.atome.util* - HttpManager |
||
30 | |||
31 | h3. properties file |
||
32 | |||
33 | * *atome.properties* |
||
34 | |||
35 | # *payment.url* - |
||
36 | # *api.key.[myr]* - [myr] for Malaysia; [sgd] for Singapore etc. |
||
37 | # *api.secret.[myr]* - [myr] for Malaysia; [sgd] for Singapore etc. |
||
38 | # *connection.connect.timeout* - |
||
39 | # *connection.read.timeout* - |
||
40 | 3 | Soh Keong | # *data.default.mobile* - |
41 | # *data.default.country* - |
||
42 | # *data.default.address* - |
||
43 | # *data.default.postcode* - |
||
44 | # *data.default.prodId* - |
||
45 | # *data.default.prodName* - |
||
46 | # *data.default.expiryTime* - |
||
47 | 1 | Soh Keong | |
48 | h2. Database Table |
||
49 | |||
50 | <pre> |
||
51 | 2 | Soh Keong | CREATE TABLE ATOME_INTERFACE ( |
52 | ORDER_ID VARCHAR(15) NOT NULL, |
||
53 | TRX_TYPE VARCHAR(5), |
||
54 | SHOPPER_REF_NO INTEGER, |
||
55 | CURRENCY VARCHAR(3), |
||
56 | CHARGE_AMT DECIMAL(15,2), |
||
57 | ATOME_ID VARCHAR(15), |
||
58 | TRAN_ID VARCHAR(20), |
||
59 | STATUS VARCHAR(2), |
||
60 | IS_VALID CHARACTER DEFAULT 'N', |
||
61 | PAY_DATE TIMESTAMP, |
||
62 | CREATE_DATETIME TIMESTAMP DEFAULT CURRENT TIMESTAMP, |
||
63 | MODIFY_DATETIME TIMESTAMP, |
||
64 | PRIMARY KEY (ORDER_ID)); |
||
65 | </pre> |
||
66 | |||
67 | h2. Atome Service |
||
68 | |||
69 | <pre> |
||
70 | com.atome.service.AtomeService service = new com.atome.service.AtomeService(); |
||
71 | </pre> |
||
72 | |||
73 | h3. getURL |
||
74 | |||
75 | <pre> |
||
76 | 6 | Soh Keong | AtomeResponseBean responseBean = service.getURL(Connection conn, AtomeRequestBean payment); |
77 | 2 | Soh Keong | </pre> |
78 | |||
79 | # *conn* - Database connection. |
||
80 | # *payment* - AtomeRequestBean object. |
||
81 | 1 | Soh Keong | > * *orderId* - Order ID. |
82 | 6 | Soh Keong | > * *trxType* - |
83 | 1 | Soh Keong | > * *amount* - Transaction amount. |
84 | 2 | Soh Keong | > * *currency* - com.atome.common.CommonConstant.CURRENCY_* |
85 | > * *shopperRefNo* - |
||
86 | 3 | Soh Keong | > * *callbackUrl* - Backend response. |
87 | 2 | Soh Keong | > * *paymentResultUrl* - |
88 | > * *paymentCancelUrl* - |
||
89 | 5 | Soh Keong | -> * *expirationTimeInSeconds* - int- |
90 | 4 | Soh Keong | -> * *customerInfo* - object CustomerInfoBean- |
91 | ->> * *mobileNumber* -- |
||
92 | -> * *shippingAddress* - object ShippingAddressBean- |
||
93 | ->> * *countryCode* - com.atome.common.CommonConstant.ADDRESS_COUNTRY_*- |
||
94 | ->> * *lines* - Address line- |
||
95 | ->> * *postcode* -- |
||
96 | -> * *productList* - Array- |
||
97 | ->> * *productId* -- |
||
98 | ->> * *productName* -- |
||
99 | ->> * *quantity* - int- |
||
100 | 1 | Soh Keong | ->> * *price* - double- |
101 | 6 | Soh Keong | |
102 | # *responseBean* |
||
103 | > *status* - |
||
104 | > *redirectUrl* - |
||
105 | > *appPaymentUrl* - |
||
106 | > *qrCodeUrl* - |
||
107 | 2 | Soh Keong | |
108 | h3. Update transaction |
||
109 | 1 | Soh Keong | |
110 | <pre> |
||
111 | AtomeResponseBean responseBean = service.updateTransaction(Connection conn, HttpServletRequest request); |
||
112 | </pre> |
||
113 | |||
114 | # *responseBean* |
||
115 | 3 | Soh Keong | > * orderId - |
116 | > * trxType - |
||
117 | > * status - |
||
118 | > * valid - |
||
119 | > * httpCode - |
||
120 | > * httpMessage - |