<!DOCTYPE html>
|
<html>
|
<head lang="en">
|
<meta charset="UTF-8">
|
<title>支付</title>
|
<script type="text/javascript" src="bootstrap-3.3.5-dist/jquery-3.1.0.js"></script>
|
<script type="text/javascript">
|
|
//日期格式化 格式:yyyyMMddHHmmss
|
Date.prototype.Format = function (fmt) {
|
var o = {
|
"M+": this.getMonth() + 1, //月份
|
"d+": this.getDate(), //日
|
"h+": this.getHours(), //小时
|
"m+": this.getMinutes(), //分
|
"s+": this.getSeconds(), //秒
|
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
"S": this.getMilliseconds() //毫秒
|
};
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
for (var k in o)
|
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
return fmt;
|
}
|
|
//获取签名事件
|
$(document).ready(function(){
|
$("#submitBtn").click(function(){
|
$.ajax({
|
type:"POST",
|
url:"getHash.php",
|
data: "input="+JSON.stringify(GetJsonData()),
|
dataType:"json",
|
success:function(message){
|
var $data = JSON.parse(message);
|
$("input[name='sign']").attr("value",$data.data);
|
},
|
error:function(message){
|
alert(2);
|
}
|
});
|
});
|
});
|
|
//提交表单
|
function submitFormWithData (url, data) {
|
var form = document.createElement('form');
|
form.method = 'post';
|
form.action = url;
|
form.target = '_blank';
|
|
var input = document.createElement('input');
|
input.type = 'hidden';
|
input.name = 'jsonRequestData';
|
input.value = data;
|
|
form.appendChild(input);
|
form.submit();
|
}
|
|
//获取代签名的数据
|
function GetJsonData(){
|
var dateTime = new Date().Format("yyyyMMddhhmmss");
|
$("input[name='dateTime']").attr("value",dateTime);
|
$("input[name='date']").attr("value", new Date().Format("yyyyMMdd"));
|
var json = {
|
"dateTime":dateTime,
|
"branchNo":$("input[name='branchNo']").val(),
|
"merchantNo":$("input[name='merchantNo']").val(),
|
"date":$("input[name='date']").val(),
|
"orderNo":$("input[name='orderNo']").val(),
|
"amount":$("input[name='amount']").val(),
|
"expireTimeSpan":$("input[name='expireTimeSpan']").val(),
|
"payNoticeUrl":$("input[name='payNoticeUrl']").val(),
|
"payNoticePara":$("input[name='payNoticePara']").val(),
|
"returnUrl":$("input[name='returnUrl']").val(),
|
"clientIP":$("input[name='clientIP']").val(),
|
"cardType":$("input[name='cardType']").val(),
|
"agrNo":$("input[name='agrNo']").val(),
|
"merchantSerialNo":$("input[name='merchantSerialNo']").val(),
|
"userID":$("input[name='userID']").val(),
|
"mobile":$("input[name='mobile']").val(),
|
"lon":$("input[name='lon']").val(),
|
"lat":$("input[name='lat']").val(),
|
"riskLevel":$("input[name='riskLevel']").val(),
|
"signNoticeUrl":$("input[name='signNoticeUrl']").val(),
|
"signNoticePara":$("input[name='signNoticePara']").val(),
|
"merchantCssUrl":$("input[name='merchantCssUrl']").val(),
|
"merchantBridgeName":$("input[name='merchantBridgeName']").val()
|
};
|
return json;
|
}
|
|
//获取Json格式的请求
|
function GetjsonRequestData(){
|
var json = {
|
"version":$("input[name='version']").val(),
|
"charset":$("input[name='charset']").val(),
|
"sign":$("input[name='sign']").val(),
|
"signType":$("input[name='signType']").val(),
|
"reqData":{
|
"dateTime":$("input[name='dateTime']").val(),
|
"branchNo":$("input[name='branchNo']").val(),
|
"merchantNo":$("input[name='merchantNo']").val(),
|
"date":$("input[name='date']").val(),
|
"orderNo":$("input[name='orderNo']").val(),
|
"amount":$("input[name='amount']").val(),
|
"expireTimeSpan":$("input[name='expireTimeSpan']").val(),
|
"payNoticeUrl":$("input[name='payNoticeUrl']").val(),
|
"payNoticePara":$("input[name='payNoticePara']").val(),
|
"returnUrl":$("input[name='returnUrl']").val(),
|
"clientIP":$("input[name='clientIP']").val(),
|
"cardType":$("input[name='cardType']").val(),
|
"agrNo":$("input[name='agrNo']").val(),
|
"merchantSerialNo":$("input[name='merchantSerialNo']").val(),
|
"userID":$("input[name='userID']").val(),
|
"mobile":$("input[name='mobile']").val(),
|
"lon":$("input[name='lon']").val(),
|
"lat":$("input[name='lat']").val(),
|
"riskLevel":$("input[name='riskLevel']").val(),
|
"signNoticeUrl":$("input[name='signNoticeUrl']").val(),
|
"signNoticePara":$("input[name='signNoticePara']").val(),
|
"merchantCssUrl":$("input[name='merchantCssUrl']").val(),
|
"merchantBridgeName":$("input[name='merchantBridgeName']").val()
|
}
|
};
|
return json;
|
}
|
|
|
</script>
|
</head>
|
<body>
|
<form method="post">
|
<br>接口版本号:<input type="text" name="version" value="1.0"> *<br>
|
<br>参数编码:<input type="text" name="charset" value="UTF-8"> *<br>
|
<br>报文签名:<input type="text" name="sign" style="width:500px;"> *<br>
|
<br>签名算法:<input type="text" name="signType" value="SHA-256"> *<br>
|
<br>时间戳:<input type="text" name="dateTime" maxlength="14"> *<br>
|
<br>分行号:<input type="text" name="branchNo" maxlength="4" value="0755"> *<br>
|
<br>商户号: <input type="text" name="merchantNo" maxlength="6" value="000054"> *<br>
|
<br>商户交易日期:<input type="text"name="date" maxlength="8"> *<br>
|
<br>订单号:<input type="text" name="orderNo" maxlength="10" value="9999000001"> *<br>
|
<br>金额(¥):<input type="text" name="amount" maxlength="14" value="0.01"> *<br>
|
<br>过期时间跨度(分钟):<input type="text" name="expireTimeSpan" value="30"><br>
|
<br>支付结果通知地址:<input type="text" name="payNoticeUrl" size="50" maxlength="128" value="http://www.merchant.com/path/WAPProcResult.dll"><br>
|
<br>支付结果通知参数:<input type="text" name="payNoticePara" maxlength="256" value="支付"><br>
|
<br>返回商户地址:<input type="text" name="returnUrl" size="50" maxlength="256" value=""><br>
|
<br>客户端UP:<input type="text" name="clientIP" maxlength="64" value="99.6.150.83"><br>
|
<br>允许支付的卡类型:<input type="text" name="cardType" maxlength="1"><br>
|
<br>协议号:<input type="text" name="agrNo" maxlength="30" value="9934567890987654332"><br>
|
<br>协议开通请求流水号:<input type="text" name="merchantSerialNo" maxlength="20" value="20160804143807"><br>
|
<br>商户用户id:<input type="text" name="userID" maxlength="20" value="0000000001"><br>
|
<br>商户用户手机号:<input type="text" name="mobile" maxlength="11" value="13888888888"><br>
|
<br>经度:<input type="text" name="lon" maxlength="20" value="50.949506"><br>
|
<br>维度:<input type="text" name="lat" maxlength="20" value="30.949505"><br>
|
<br>风险等级:<input type="text" name="riskLevel" maxlength="1" value="3"><br>
|
<br>签约通知url:<input type="text" name="signNoticeUrl" maxlength="256" value="http://www.baidu.com/notice.aspx?"><br>
|
<br>签约回调商户自带参数:<input type="text" name="signNoticePara" maxlength="256"><br>
|
<br>商户自定义样式地址:<input type="text" name="merchantCssUrl"><br>
|
<br>商户桥名:<input type="text" name="merchantBridgeName"><br>
|
<br><button type="button" id="submitBtn">获取签名</button><br>
|
<!--
|
支付测试地址:http://61.144.248.29:801/netpayment/BaseHttp.dll?MB_EUserPay
|
-->
|
<br><button type="button" id="submit" onclick="submitFormWithData('http://61.144.248.29:801/netpayment/BaseHttp.dll?MB_EUserPay',JSON.stringify(GetjsonRequestData()))">提交</button>
|
</form>
|
</body>
|
</html>
|