Specification » History » Revision 8
Revision 7 (Soh Keong, 06/07/2022 08:45 PM) → Revision 8/11 (Soh Keong, 06/10/2022 09:48 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 | h2. Jar File Download "Jar":/redmine/attachments/download/649/atome-1.1.jar "Jar":/redmine/attachments/download/648/atome-1.0.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* - > * *amount* - Transaction amount. > * *currency* - 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 -