支付宝支付页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<title>支付页面</title>
</head>
<body>
<div class="payment-body">
<!-- 此处由各自业务设计的页面为主 -->
<p class="payment-tip">请在<span id="payment_tip"></span>内完成支付</p>
<div class="payment-btn" οnclick="payBtn()">支付</div>
</div>
<div id="pay_form" style="display: none;">
${payParam}
</div>
<script src="/js/jquery-3.3.1.min.js"></script>
<script>
$(document).ready(function() {
document.forms[0].submit();
})
</script>
</body>
</html>
微信授权页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>、
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
<meta name="screen-orientation" content="portrait">
<meta name="x5-orientation" content="portrait">
<title></title>
</head>
<body>
<script src="/js/jquery-3.3.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
aClick();
});
function aClick () {
window.location = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${url}&response_type=code&scope=snsapi_base&state=${state}#wechat_redirect";
}
</script>
</body>
</html>
微信支付页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge">
<title>微信支付页面</title>
</head>
<body>
<div class="payment-body">
<!-- 此处由各自业务设计的页面为主 -->
<p class="payment-tip">请在<span id="payment_tip">09分59秒</span>内完成支付</p>
<div class="payment-btn" οnclick="payBtn()">支付</div>
</div>
<input type="hidden" id="appId" value="${result.appId}">
<input type="hidden" id="nonceStr" value="${result.nonceStr}">
<input type="hidden" id="prepayId" value="${result.prepayId}">
<input type="hidden" id="paySign" value="${result.paySign}">
<input type="hidden" id="timeStamp" value="${result.timeStamp}">
<script src="/js/jquery-3.3.1.min.js"></script>
<script>
var timeEnd = null;
var isFirst = true;
var statusTimer = null;
var isExpire = false;
$(document).ready(function() {
initBase();
})
function initBase() {
var orderNum = $('#orderNum').val();
statusTimer = setInterval(function() {
//TODO此处可查询订单的支付状态
}, 1000);
payBtn();
}
function payBtn() {
//TODO 可做其他处理如过期
if (typeof WeixinJSBridge == "undefined") {
if (document.addEventListener) {
document.addEventListener('WeixinJSBridgeReady',
onBridgeReady, false);
} else if (document.attachEvent) {
document.attachEvent('WeixinJSBridgeReady',
onBridgeReady);
document.attachEvent('onWeixinJSBridgeReady',
onBridgeReady);
}
} else {
onBridgeReady();
}
}
function onBridgeReady() {
WeixinJSBridge.invoke('getBrandWCPayRequest', {
"appId" : $("#appId").val(), //公众号名称,由商户传入
"timeStamp" : $("#timeStamp").val(), //时间戳,自1970年以来的秒数
"nonceStr" : $("#nonceStr").val(), //随机串
"package" : $("#prepayId").val(),
"signType" : "MD5", //微信签名方式:
"paySign" : $("#paySign").val()
//微信签名
}, function(res) {
if (res.err_msg == "get_brand_wcpay_request:ok") {// 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回 ok,但并不保证它绝对可靠。
window.location = '';//跳转到支付成功
}
});
}
</script>
</body>
</html>