Programming Guide » History » Revision 7
Revision 6 (chin-yeh, 09/21/2011 01:14 PM) → Revision 7/21 (chin-yeh, 09/21/2011 02:35 PM)
{{toc}} h1. Programming Guide Describes how to integrate the mPay into online mall. *Demo application:* * Generate Redirect URL (for hosted payment form) > http://192.168.2.68/ecosway/mpay-sample/payment_form.html * Query Payment Status: > http://192.168.2.68/ecosway/mpay-sample/query.html h2. Source files > Get the source files from [[wiki#SCM|SCM]]. *Files:* * my.com.eCosway.mpay ** Commons - list of common constant ** MpayInterfaceUtils - an utility to perform data persistence related operation ** MpayPaymentUtils - the mPay APIs ** MpayProperties - data model of the mPay properties ** PaymentRequest - data model of the mPay's payment request ** PaymentResponse - data model of the mPay's payment response * resources.properties.mpay ** mpay.properties - the application properties file *Demo application:* > can be found in mpay-sample folder (web content) h2. Generate Redirect URL Generates the URL which will be used to redirect user to the mPay's hosted payment form. Demo application: > [[Programming Guide]] h3. Input Parameters * *orderNo* - the unique order number * *txtDate* - the transaction date * *amount* - the transaction amount * *returnUrl* - mPay will redirect the user to this URL after made the payment * *locale* - the display language of the payment form * *paymentMethod* - the payment method, e.g. _CUP_, _Alipay_ h3. Output Parameters Use the returned key-pair values to construct the *HTML form*. Due to the maximum length of a URL, the The recommended HTTP method is *POST*. This is because extremely long URL will not work in most popular browsers and most importantly the length of the query string is unknown. *Returned key-pair values:* * *form_action* - the URL of the hosted payment form. To be placed in the *action* attribute of the form * *encmsg* - the encrypted message. To be placed in the input element * *sigmsg* - the signed message. To be placed in the input element * *certserial* - the serial number of the certificate. To be placed in the input element h3. Code Snippets <pre> <code class="JAVA"> <body> <% String orderNo = request.getParameter("order_no"); String txnDate = request.getParameter("txn_date"); String amount = request.getParameter("amount"); String returnUrl = request.getParameter("return_url"); String locale = request.getParameter("locale"); String paymentMethod = request.getParameter("payment_method"); Date transactionDate = new SimpleDateFormat("yyyyMMddHHmmss").parse(txnDate); PaymentMethod cardType = PaymentMethod.valueOf(paymentMethod); Map<String, String> formData = MpayPaymentUtils.genRedirectFormData( orderNo, transactionDate, amount, returnUrl, locale, cardType); %> <p> Redirecting you to the mPay payment form, it may takes up to 1 minute... </p> <form name=form1 method=post action="<%= formData.get("form_action") %>"> <input type=hidden name=encmsg value="<%=formData.get("encmsg")%>"/> <input type=hidden name=sigmsg value="<%=formData.get("sigmsg")%>"/> <input type=hidden name=certserial value="<%=formData.get("certserial")%>"/> </form> <script language="javascript"> function submitForm(){ document.form1.submit(); } window.onload=submitForm ; </script> </body> </code> </pre> h2. Query Payment Status h3. Input Parameters h3. Output Parameters h3. Code Snippets <pre> <code class="JAVA"> </code> </pre>