diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java b/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
index 4ec9e4f..fe5c95a 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/Constants.java
@@ -10,4 +10,5 @@
   public static final String JWT_CLAIM_AUTHORITIES = "authorities";
   public static final String DTLTYPE_WATER = "water";
   public static final String REDISKEY_SHORTURL = "shorturl_";
+  public static final String WECHAT_AGENT = "micromessenger";
 }
diff --git a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
index 62735cd..465fb80 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/water/controller/api_controller.kt
@@ -20,6 +20,7 @@
 import org.springframework.web.bind.annotation.*
 import org.springframework.web.servlet.ModelAndView
 import java.util.concurrent.TimeUnit
+import javax.servlet.http.HttpServletRequest
 
 
 @RestController
@@ -217,15 +218,22 @@
     }
 
     @GetMapping("/qrcode/redirect/{shortId}")
-    fun qrcodePayRedirect(@PathVariable shortId:String) :ModelAndView {
-        return try {
+    fun qrcodePayRedirect(@PathVariable shortId:String,request:HttpServletRequest) :ModelAndView {
+        try {
+            val agent = request.getHeader("user-agent")
+            if (!StringUtil.isEmpty(agent)) {
+                //判断是否微信扫码
+                if (agent.toLowerCase().contains(Constants.WECHAT_AGENT)) {
+                    return ModelAndView("error/prompt")
+                }
+            }
             val cobillno = redisTemplate.opsForValue().get(Constants.REDISKEY_SHORTURL + shortId)
                     ?: return ModelAndView("error/500")
                             .addObject("errorMsg","二维码已过期")
-            ModelAndView("redirect:/api/device/qrcode/pretend?cobillno=" + cobillno)
+            return ModelAndView("redirect:/api/device/qrcode/pretend?cobillno=" + cobillno)
         } catch (e: Exception) {
             logger.error { e.message }
-            ModelAndView("error/500")
+            return ModelAndView("error/500")
         }
     }
 
diff --git a/src/main/resources/templates/error/500.html b/src/main/resources/templates/error/500.html
index 3467419..4820f05 100755
--- a/src/main/resources/templates/error/500.html
+++ b/src/main/resources/templates/error/500.html
@@ -18,9 +18,9 @@
 <div class="layui-fluid">
   <div class="layadmin-tips">
     <i class="layui-icon" face>&#xe664;</i>
-    <div class="layui-text">
-      <p>服务器出错了</p>
-      <p>[[${errorMsg}]]</p>
+    <div class="layui-text" style="text-align: center;width: 350px">
+      <p style="margin: 20px 0 10px 0;font-size: 20px">服务器出错了</p>
+      <p style="margin-bottom: 20px;font-size: 20px">[[${errorMsg}]]</p>
       <p style="display: none">[[${cobillno}]]</p>
       <h1>
         <span class="layui-anim layui-anim-loop layui-anim-">5</span>
diff --git a/src/main/resources/templates/error/prompt.html b/src/main/resources/templates/error/prompt.html
new file mode 100644
index 0000000..8841a72
--- /dev/null
+++ b/src/main/resources/templates/error/prompt.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org">
+<head>
+    <meta charset="utf-8">
+    <title>提示</title>
+    <meta name="renderer" content="webkit">
+    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+    <meta name="viewport"
+          content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+    <link rel="stylesheet" th:href="@{/static/libs/layui/css/layui.css}" media="all"/>
+    <link rel="stylesheet" th:href="@{/static/custom/css/admin.css}" media="all"/>
+</head>
+<style>
+    .record {
+        width: 100%;
+        position: fixed;
+        bottom: 10px;
+        margin-bottom: 60px;
+        color: #F56C6C;
+        text-align: center;
+    }
+</style>
+<body>
+
+<div class="layui-fluid">
+    <div class="layadmin-tips">
+        <i class="layui-icon" face>&#xe702;</i>
+        <div class="layui-text" style="text-align: center;width: 350px">
+            <p style="font-size: 20px;margin: 30px 0 10px 0">请使用市民卡app或小程序</p>
+            <p style="font-size: 20px;">进行扫码支付</p>
+        </div>
+    </div>
+</div>
+<p class="record" style="font-size: 18px;">服务热线 0872-2141808</p>
+</body>
+</html>
\ No newline at end of file
