pay.njk 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <title>确认订单</title>
  5. <meta charset="utf-8"></meta>
  6. <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0"></meta>
  7. <script type="text/javascript" src="https://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  8. <script type="text/javascript" src="http://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
  9. <script type="text/javascript" src="https://res.wx.qq.com/open/libs/weuijs/1.1.3/weui.min.js"></script>
  10. <link rel="stylesheet" type="text/css" href="https://res.wx.qq.com/open/libs/weui/1.1.2/weui.min.css"></link>
  11. </head>
  12. <body>
  13. <div class="weui-msg">
  14. <div class="weui-msg__icon-area">
  15. <i class="weui-icon-waiting weui-icon_msg" id="waiting"></i>
  16. </div>
  17. <div class="weui-msg__text-area">
  18. <h2 class="weui-msg__title" id="waiting2">
  19. 微信支付中......
  20. </h2>
  21. </div>
  22. </div>
  23. <script>
  24. var openid = '{{openid}}';
  25. var appid = '{{appid}}';
  26. var prepay_id = '{{prepay_id}}';
  27. var payTimestamp = '{{payTimestamp}}';
  28. var payNonceStr = '{{payNonceStr}}';
  29. var createSign = '{{createSign}}';
  30. var redirect_uri = '{{redirect_uri}}';
  31. var out_trade_no = '{{out_trade_no}}';
  32. {# 支付接口 #}
  33. function onBridgeReady() {
  34. WeixinJSBridge.invoke('getBrandWCPayRequest', {
  35. "appId": appid, //公众号ID,由商户传入
  36. "timeStamp":payTimestamp, //时间戳,自1970年以来的秒数
  37. "nonceStr": payNonceStr, //随机串
  38. "package": `prepay_id=${prepay_id}`,
  39. "signType": "RSA", //微信签名方式:
  40. "paySign": createSign //微信签名
  41. },
  42. function(res) {
  43. if (res.err_msg == "get_brand_wcpay_request:ok") {
  44. window.location.replace(`${redirect_uri}/${out_trade_no}?result=success`);
  45. } else {
  46. window.location.replace(`${redirect_uri}/${out_trade_no}?result=fail`);
  47. }
  48. });
  49. }
  50. if (typeof WeixinJSBridge == "undefined") {
  51. if (document.addEventListener) {
  52. document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);
  53. } else if (document.attachEvent) {
  54. document.attachEvent('WeixinJSBridgeReady', onBridgeReady);
  55. document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);
  56. }
  57. } else {
  58. onBridgeReady();
  59. }
  60. </script>
  61. </body>
  62. </html>