Project

General

Profile

Actions

Programming Guide » History » Revision 9

« Previous | Revision 9/21 (diff) | Next »
chin-yeh, 09/21/2011 02:43 PM


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

Source files

Get the source files from 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
  • source file of demo application (JSP):
    • mpay-sample folder

Generate Redirect URL

Generates the URL which will be used to redirect user to the mPay's hosted payment form.

  • Method Signature:
    public static Map<String, String> genRedirectFormData(String orderNo,
                Date txnDate, String amount, String returnUrl, String locale,
                PaymentMethod paymentMethod)
    
  • Demo application:

Programming Guide

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

Output Parameters

Use the returned key-pair values to construct the HTML form.

Due to the limit of the length of a URL, 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

Code Snippets

<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>

Query Payment Status

Input Parameters

Output Parameters

Code Snippets



Updated by chin-yeh almost 13 years ago · 9 revisions