diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
index 8854b19..08cfbc8 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/mobile/MobileApi.kt
@@ -419,7 +419,7 @@
             return JsonResult.error(resp.message)
         }
         var needupdate = false
-        if (resp.sinstatus == "1") {
+        if (resp.sinstatus == YnrccUtil.TRANSTYPE_SIGNCARD ) {
             signed = TradeDict.STATUS_YES
             if(!card.signed){
                 card.signed = true
@@ -472,7 +472,7 @@
             return JsonResult.error(resp.message)
         }
 
-        if (resp.sinstatus == "1") {
+        if (resp.sinstatus == YnrccUtil.TRANSTYPE_SIGNCARD ) {
             signed = TradeDict.STATUS_YES
             if(!card.signed){
                 card.signed = true
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
index d5150df..c54c0a1 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/Util/DlpayUtil.java
@@ -20,6 +20,8 @@
   public static final String OPTYPE_QUERYRESULT = "queryresult"; //消费结果查询
   public static final String OPTYPE_CHKDTL = "chkdtl"; //流水对账
 
+  public static final String TRANSTYPE_SIGNCARD = "1"; //签约
+
   /**
    * socket方式请求农商行
    */
diff --git a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
index bea60e8..cd6429e 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/service/impl/YnrccParamCheckServiceImpl.java
@@ -1,5 +1,6 @@
 package com.supwisdom.agent.api.service.impl;
 
+import com.supwisdom.agent.Util.DlpayUtil;
 import com.supwisdom.agent.Util.ErrorCode;
 import com.supwisdom.agent.Util.MD5;
 import com.supwisdom.agent.Util.StringUtil;
@@ -131,10 +132,12 @@
       resp.setMessage("请求参数错误[签约标志]");
       return false;
     }
-    if (StringUtil.isEmpty(captcha)) {
-      resp.setCode(ErrorCode.REQ_PARAM_ERROR);
-      resp.setMessage("请求参数错误[验证码为空]");
-      return false;
+    if (DlpayUtil.TRANSTYPE_SIGNCARD.equals(transtype)) {
+      if (StringUtil.isEmpty(captcha)) {
+        resp.setCode(ErrorCode.REQ_PARAM_ERROR);
+        resp.setMessage("请求参数错误[验证码为空]");
+        return false;
+      }
     }
 
     return true;
