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/controller/YnrccApiController.java b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java
index d7dfcb4..398cd67 100644
--- a/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java
+++ b/ynrcc-agent/src/main/java/com/supwisdom/agent/api/controller/YnrccApiController.java
@@ -222,7 +222,7 @@
     params.put("categorie", categorie);
     params.put("bankcardno", bankcardno);
     params.put("username", username);
-    //params.put("idtype", idtype);
+    params.put("idtype", idtype);
     params.put("idno", idno);
     params.put("merchant_bankcardno", merchant_bankcardno);
     params.put("merchant_bankaccname", merchant_bankaccname);
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;
