Project

General

Profile

Specification » History » Revision 11

Revision 10 (chin-yeh, 07/18/2011 10:23 AM) → Revision 11/18 (chin-yeh, 07/18/2011 10:48 AM)

{{toc}} 

 h1. Introduction 

 High level view of the payment flow: 

 !payment_flow.png! 

 h1. Programming Guide 

 h2. Resources 

 h3. SCM 

 > see [[wiki#SCM]] 

 h3. Classes 

 * *my.com.eCosway.migs.Commons* - Commons Constant 
 * *my.com.eCosway.migs.MigsInterface* - Data Persistence's Interface 
 * *my.com.eCosway.migs.MigsPaymentUtils* - Utility class 
 * *my.com.eCosway.migs.MigsProperties* - Data model of MiGS properties 
 * *my.com.eCosway.migs.PaymentResponse* - Data model of MiGS's payment response 


 h3. Properties files 

 * */resources/properties/migs-hkd.properties* - MiGS's properties file (HKD currency) 
 ** *account.accessCode* - VPC API's access code 
 ** *account.hashSecret* - VPC API's hash secret code 
 ** *account.merchantId* - MIGS merchant ID 
 ** *vpc.twoParty.url* - the posting URL for the 2-party integration model 
 ** *vpc.threeParty.url* - the posting URL for the 3-party integration model 
 ** *vpc.version* - the VPC version 

 h3. Test Pages 

 <pre> 
 /migs-sample/migs_debug.jsp - to debug the payment response which returned by MiGS 
 /migs-sample/migs_receipt.jsp - a very simple receipt page 
 /migs-sample/migs_test.html - a payment test page 
 /migs-sample/migs_test.jsp - controller for the payment test page 
 </pre> 


 h3. Third-Party Library 

 * *log4j* - for logging purpose; bundled with Jboss AS 


 h2. Table Schema Used 

 * *ECOS.MIGS_INTERFACE* - This table schema is identical to *ECOS.EASYPAY_INTERFACE*. 
 <pre> 
 <code class="SQL"> 
 CREATE TABLE ecos.migs_interface    ( 
                   "CCORNBR" VARCHAR(15) NOT NULL , 
                   "TRX_TYPE" VARCHAR(5) , 
                   "SHRFNBR" INTEGER , 
                   "CARD_TYPE" VARCHAR(10) , 
                   "CURRENCY" VARCHAR(3) , 
                   "CHARGE_AMT" DECIMAL(15,2) , 
                   "STATUS" VARCHAR(5) , 
                   "BANK_APPRCODE" VARCHAR(8) , 
                   "MALL_IND" CHAR(1) , 
                   "DATETIME" TIMESTAMP , 
                   "ERROR_MSG" VARCHAR(155) , 
                   "UXID" VARCHAR(30) , 
                   "REVERSE_FLAG" CHAR(1) ) 
                  IN "USERSPACE1" ; 

 ALTER TABLE ecos.migs_interface 
         ADD PRIMARY KEY 
                 ("CCORNBR"); 
 </code> 
 </pre> 


 h2. How To Integrate Use 

 To integrate with the MiGS, one must: 
 * *Redirect* the customer to the MiGS payment page 
 * *Capture* the payment response which returned by MiGS, after the customer submitted the payment 

 *To generate the redirect URL*: 
 * Example:  
 <pre> 
 <code class="java"> 
 String redirectUrl = MigsPaymentUtils.genRedirectUrl(MigsCurrency.HKD, 
				 locale, 
				 orderNo, 
				 amount,  
				 returnUrl); 
 </code> 
 </pre> 
 ** *MigsCurrency.HKD* - the currency of the payment 
 ** *locale* - the display language of the MiGS payment page, e.g. en_US 
 *** *English* - en, en_US 
 *** *Simplified Chinese* - zh_CN 
 *** *Traditional Chinese* - zh_TW