diff --git a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/citizencard_service_impl.kt b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/citizencard_service_impl.kt
index 554ece6..2eddc6b 100644
--- a/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/citizencard_service_impl.kt
+++ b/payapi/src/main/kotlin/com/supwisdom/dlpay/agent/service/impl/citizencard_service_impl.kt
@@ -252,7 +252,7 @@
                 "transdate" to accdate, //我们的记账日期
                 "transtime" to systime.hosttime,
                 "refno" to refno,
-                "refund_refno" to orignRefno,
+                "refundRefno" to orignRefno,
                 "amount" to amount,
                 "description" to "市民卡代扣消费退款",
                 "sign_type" to "MD5"
@@ -299,7 +299,7 @@
                 "transdate" to systime.hostdate,
                 "transtime" to systime.hosttime,
                 "refno" to refno,
-                "orign_refno" to orignRefno,
+                "orignRefno" to orignRefno,
                 "sign_type" to "MD5"
         ))
         val sign = MD5.encodeByMD5(StringUtil.createLinkString(StringUtil.paraFilter(params)) + config[YnrccUtil.YNRCC_SIGNKEY]!!.trim())
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 9775635..af77687 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
@@ -257,8 +257,9 @@
   @PostMapping("/cardpayrefund")
   public DlpayResp cardpayRefund(@FormParam("transcode") String transcode, @FormParam("transdate") String transdate,
                                  @FormParam("transtime") String transtime, @FormParam("refno") String refno,
-                                 @FormParam("refund_refno") String refundRefno,
-                                 @FormParam("amount") Integer amount, @FormParam("description") String description,
+                                 @FormParam("refundRefno") String refundRefno,
+                                 @FormParam("amount") Integer amount,
+                                 @FormParam("description") String description,
                                  @FormParam("sign_type") String sign_type, @FormParam("sign") String sign) {
     DlpayResp resp = new DlpayResp();
     if (!ynrccParamCheckService.checkPayRefundParam(transcode, transdate, transtime, refno, refundRefno, amount, description, sign_type, sign, resp)) {
@@ -271,7 +272,7 @@
     params.put("transdate", transdate);
     params.put("transtime", transtime);
     params.put("refno", refno);
-    params.put("refund_refno", refundRefno);
+    params.put("refundRefno", refundRefno);
     params.put("amount", String.valueOf(amount));
     params.put("description", description);
     params.put("sign_type", sign_type);
@@ -307,7 +308,7 @@
   @PostMapping("/queryresult")
   public DlpayResp queryResult(@FormParam("transcode") String transcode, @FormParam("transdate") String transdate,
                                @FormParam("transtime") String transtime, @FormParam("refno") String refno,
-                               @FormParam("orign_refno") String orignRefno,
+                               @FormParam("orignRefno") String orignRefno,
                                @FormParam("sign_type") String sign_type, @FormParam("sign") String sign) {
     DlpayResp resp = new DlpayResp();
     if (!ynrccParamCheckService.checkQueryResultParam(transcode, transdate, transtime, refno, orignRefno, sign_type, sign, resp)) {
@@ -320,7 +321,7 @@
     params.put("transdate", transdate);
     params.put("transtime", transtime);
     params.put("refno", refno);
-    params.put("orign_refno", orignRefno);
+    params.put("orignRefno", orignRefno);
     params.put("sign_type", sign_type);
     params.put("sign", sign);
     if (!checkYnrccSign(params, resp)) {
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 5a3c5ab..52009b1 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
@@ -115,7 +115,7 @@
       }
     }
 
-    return false;
+    return true;
   }
 
   @Override
