前台页面端:
<form action="https://payment.chinapay.com/pay/TransGet" METHOD=Post>
<input type=hidden name="MerId" value="************" ><!--商户号-->
<input type=hidden name="OrdId" value="************"><!--订单号-->
<input type=hidden name="TransAmt" value="000000001234"><!--金额-->
<input type=hidden name="CuryId" value="156"><!--人民币-->
<input type=hidden name="TransDate" value="20081024"><!-交易日期->
<input type=hidden name="TransType" value="0001" ><!--类型:缴费-->
<input type=hidden name="Version" value="20070129"><!--版本号-->
<input type=hidden name="BgRetUrl" value="http://www.163.com"/><!--返回的后台处理页面-->
<input type=hidden name="PageRetUrl" value="www.163.com"/><!--返回的前台处理页面-->
<input type=hidden name="ChkValue" value=${ChkValue}><!--通过私有密钥加密的字符串-->
<input type=submit name="提交" >
</form>
后台服务端:
public ActionForward queryAllMenus(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
String MerId, OrdId, TransAmt, CuryId, TransDate, TransType,ChkValue;
/* …… 给以上变量分别赋值 */
chinapay.PrivateKey key=new chinapay.PrivateKey();
chinapay.SecureLink t;
boolean flag;
flag=key.buildKey("***************",0,"F:*********.key");//商户号+密钥地址
if (flag==false)
{
System.out.println("build key error!");
//return;
}
t=new chinapay.SecureLink (key);
ChkValue= t.signOrder("***********", "*********", "000000001234", "156", "20081024", "0001") ;
//商户号,单据号,金额,货币类型,交易日期,
request.setAttribute("ChkValue", ChkValue);
return mapping.findForward("aaaa_page");
}