一、 提交訂單(商戶通過POST方式用下面代碼將支付請求提交)
<form method="post" name="post" action="http://www.shenzhouxing.com.cn/receive/receive.jsp">
<input type=HIDDEN name="bussinessid" value="商戶編號"> //必填,6位元字,由我們負責分配(註冊後即可線上獲得)
<input type=HIDDEN name="bussinessname" value="商戶名稱"> //必填,不能超過30個字
<input type=HIDDEN name="returnurl" value="返回網址"> //必填,可自設返回網址
<input type=HIDDEN name="userid" value="寄款人ID"> //必填,數字形式,不能超過10位
<input type=HIDDEN name="payid" value="交易號"> //必填,10位元字,不重複。規則為前四位為4位隨機數,後面6位是目前時間的字串形式如(16時:40分:36秒的字串形式為164036)
<input type=HIDDEN name="money" value="金額"> //必填,只能是50、100、300、500
<input type=HIDDEN name="sname" value="寄款人姓名">
<input type=HIDDEN name="semail" value="寄款人EMAIL ">
<input type=HIDDEN name="stel" value="寄款人電話">
<input type=HIDDEN name="spost" value="寄款人郵編">
<input type=HIDDEN name="saddr" value="寄款人地址">
<input type=HIDDEN name="snote" value="留言">
<input type=HIDDEN name="digestString" value="MD5字串值"> //必填,數位簽章,確保訂單安全,通過Md5演算法得出的字串(Md5演算法請下載Md5演算法for asp、jsp文檔,Php內建md5演算法函數)
<input type="submit" style="font-size: 9pt" value="線上支付" name="submit”>
</form>
商戶安裝介面操作的三個步驟:
1. 將每行中value=" " 雙引號中的漢字改為相應程式參數,其中必須填寫的部分有“必填”的字樣在後面注釋;
2. 然後將上面這段程式拷貝到商戶網站的支付頁面;
3. 介面安裝完成,進行測試。
4. 關於數位簽章。系統將啟動數位簽章安全檢測系統,對商戶提交訂單資料及簽名值進行校正,以保證只接受來自商戶的訂單,並且其內容真實可信。在設定私密金鑰計算md5值的同時,請登陸管理後台,進入“商戶管理”中設定私密金鑰(md5key)值,預設為空白。
MD5字串值=md5(“字串”+”私密金鑰”),其中字串為bussinessid + payid + userid + money
設bussinessid =”000001” , payid =”123456” , userid =”01” ,money =”100”。那麼加密效果應該是md5(000000112345601100+”私密金鑰”);
二、 結果返回與結果接收(通過POST方式用下面代碼將支付結果返回至商戶)
註:結果傳回碼是由系統自動實現的,並不需要商戶實現該代碼,提供該代碼的用意是方便商戶理解,返回資料的原理及變數值,從而方便商戶去實現結果接收程式。
<form method="post"name="lastsend" action="您傳給我們的返回地址">
<input type=HIDDEN name="bussinessid" value="*">商戶編號
<input type=HIDDEN name="orderid" value="*">訂單編號
<input type=HIDDEN name="cardsn" value="*">使用者的儲值卡序號
<input type=HIDDEN name="true_money" value="*">支付金額
<input type=HIDDEN name="creattime" value="*">訂單日期
<input type=HIDDEN name="suc_flag" value="*">成功與否 1表示成功,0表示失敗
<input type=HIDDEN name="userid" value="*">支付使用者的ID號
<input type=HIDDEN name="username" value="*">//支付使用者的姓名
<input type=HIDDEN name="email" value="支付使用者的EMAIL">
<input type=HIDDEN name="tel" value="支付使用者的電話">
<input type=HIDDEN name="post" value="支付使用者的郵編">
<input type=HIDDEN name="address" value="支付使用者的地址">
<input type=HIDDEN name="note" value="留言">
<input type=HIDDEN name="verifymd5" value="*">//數位簽章驗證MD5
</form>
說 明:
返回的網址用來接收我們傳回給您的一些參數,您可以將從該頁面得到的資訊存到資料庫,以方便日後查看。
為了確保安全,一定要通過MD5資料簽名來檢驗接收資料的真實有效性,防止惡意行為。
MD5字串值=md5函數(“字串”,”私密金鑰”)
其中字串為bussinessid + orderid + suc_flag + true_money的串連值。
設bussinessid =”000001”, orderid =”123456” ,suc_flag =1,true_money=”100”.,則調用方法如下:
md5(00000011234561100+”私密金鑰”);您需要在您的接收頁面判您產生的MD5字串的值是否與我們傳回給您的值相匹配,如果匹配才可認為該資料的真實有效性。
三、 示範代碼
JSP代碼
//JSP提交程式示範
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="java.sql.*" %>
<%!
public String GetRandom()
{
java.util.Random random=new java.util.Random();
int i_first=random.nextInt(10000);
String s_first=""+i_first;
return s_first;
}
%>
<%
java.util.Date date=new java.util.Date();
java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("hhmmss");
String prefix="";
String ordernum=sdf.format(date);
do{
prefix=GetRandom();
}while(prefix.length()!=4);
ordernum=prefix+ordernum;
%>
<form action="http://www.shenzhouxing.com.cn/receive/receive.jsp" method=post name="a">
<table align=center border="1" >
<input type=hidden value=<%=ordernum%> name=payid>//必填,交易號規則--4位隨機數+目前時間的字串形式(hhmmss)
<input type=hidden value="商戶編號" name="bussinessid">//必填,6位元字,由我們負責分配(註冊後即可線上獲得)
<input type=hidden value="商戶名稱" name="bussinessname">//必填,不能超過30個字
<input type= hidden value="返回地址" name="returnurl">//必填,可自設返回網址
<input type= hidden value="儲值卡面額" name="money">//必填,只能是50、100、300、500
<input type= hidden value="寄款人ID" name="userid" >//必填,數字形式,不能超過10位
<input type= hidden value="寄款人姓名" name="sname">
<input type= hidden value="寄款人EMAIL" name="semail">
<input type= hidden value="寄款人電話" name="stel">
<input type= hidden value="寄款人郵編" name="spost">
<input type= hidden value="寄款人地址" name="saddr">
<input type= hidden value="留言" name="snote">
<input type=HIDDEN value="MD5字串值" name="digestString" >//必填,數位簽章,確保商戶提供的訂單。該值的產生方法如上面所述。
<tr align=center>
<td colspan=2><input type="submit" value="線上支付">
</td>
</tr>
</table>
</form>