diff --git a/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java b/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
index 01534ec..604e7f5 100644
--- a/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
+++ b/src/main/java/com/supwisdom/dlpay/api/domain/TTransactionMain.java
@@ -66,7 +66,7 @@
   private Timestamp endTime;
 
   @Column(name = "reverse_flag", nullable = false, length = 10)
-  private String reverseFlag = "none"; // 冲正标识， none - 未冲正, reverse - 被撤销, cancel - 被冲正
+  private String reverseFlag = "none"; // 冲正标识， none - 未冲正, refund - 被退款, cancel - 被冲正
 
   @OneToOne(targetEntity = TPersondtl.class, fetch = LAZY, cascade = CascadeType.ALL)
   @JoinColumn(name = "refno", referencedColumnName = "refno")
diff --git a/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java b/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
index a72913a..d5c3eda 100644
--- a/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
+++ b/src/main/java/com/supwisdom/dlpay/framework/util/TradeDict.java
@@ -84,12 +84,12 @@
   public static final String PAYTYPE_RECHARGE_SERVICEFEE = "servicefee"; //收服务费
 
   /**
-   * reverse flag
+   * refund flag
    * - none : 无
    * - cancel : 冲正
-   * - reverse : 手工撤销
+   * - refund : 手工撤销
    */
   public static final String REVERSE_FLAG_NONE = "none";
   public static final String REVERSE_FLAG_CANCEL = "cancel";
-  public static final String REVERSE_FLAG_REVERSE = "reverse";
+  public static final String REVERSE_FLAG_REFUND = "refund";
 }
diff --git a/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java b/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
index f64753f..91f12f8 100644
--- a/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
+++ b/src/main/java/com/supwisdom/dlpay/system/controller/ShopController.java
@@ -192,7 +192,7 @@
                                           @RequestParam("state") String state, @RequestParam("optype") String optype) {
     if (StringUtil.isEmpty(shopaccno) || StringUtil.isEmpty(paytype)
         || (!ConstantUtil.ENABLE_NO.equals(state) && !ConstantUtil.ENABLE_YES.equals(state))
-        || (!"consume".equals(optype) && !"anonymous".equals(optype) && !"reverse".equals(optype))) {
+        || (!"consume".equals(optype) && !"anonymous".equals(optype) && !"refund".equals(optype))) {
       return JsonResult.error("参数传递错误");
     }
 
@@ -212,7 +212,7 @@
           return JsonResult.error("状态错误，请重新查询后操作");
         }
         shopPaytype.setAnonymousEnable(ConstantUtil.ENABLE_YES.equals(state));
-      } else if ("reverse".equals(optype)) {
+      } else if ("refund".equals(optype)) {
         if (state.equals(shopPaytype.getReverseEnable())) {
           return JsonResult.error("状态错误，请重新查询后操作");
         }
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt b/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
index 9665c28..414ad1b 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/controller/consume_api_controller.kt
@@ -11,7 +11,6 @@
 import com.supwisdom.dlpay.api.service.TransactionServiceProxy
 import com.supwisdom.dlpay.api.service.UserService
 import com.supwisdom.dlpay.exception.RequestParamCheckException
-import com.supwisdom.dlpay.exception.TransactionCheckException
 import com.supwisdom.dlpay.exception.TransactionException
 import com.supwisdom.dlpay.framework.ResponseBodyBuilder
 import com.supwisdom.dlpay.framework.domain.TShopacc
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
index dccbf81..2c71695 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/impl/transaction_service_impl.kt
@@ -12,6 +12,7 @@
 import com.supwisdom.dlpay.framework.util.Subject
 import com.supwisdom.dlpay.framework.util.TradeDict
 import com.supwisdom.dlpay.framework.util.TradeErrorCode
+import org.hibernate.Transaction
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.stereotype.Service
 import java.sql.SQLException
@@ -314,19 +315,28 @@
         return transaction
     }
 
-    override fun reverse(originRefno: String): TTransactionMain {
+    private fun preCheckRefund(transaction: TTransactionMain, amount: Double) {
+
+    }
+
+    override fun refund(originRefno: String): TTransactionMain {
+        val originTransation = transactionMainDao.findByRefnoForUpdate(originRefno)
+                ?: throw TransactionProcessException(TradeErrorCode.TRANSACTION_NOT_EXISTS,
+                        "退款流水<$originRefno>不存在")
+
+        preCheckRefund(originTransation, 0.0)
+        TODO("")
+    }
+
+    override fun refundInit(originRefno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
-    override fun reverseInit(originRefno: String): TTransactionMain {
+    override fun refundConfirm(refno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
-    override fun reverseConfirm(refno: String): TTransactionMain {
-        TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
-    }
-
-    override fun reverseFail(refno: String): TTransactionMain {
+    override fun refundFail(refno: String): TTransactionMain {
         TODO("not implemented") //To change body of created functions use File | Settings | File Templates.
     }
 
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt b/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
index 5be7f24..b53672a 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/service/transaction_service.kt
@@ -32,22 +32,23 @@
     @Transactional
     fun success(refno: String): TTransactionMain
 
-    // 撤销接口冲正类接口
-    @Transactional
-    fun reverse(originRefno: String): TTransactionMain
-
-    @Transactional
-    fun reverseInit(originRefno: String): TTransactionMain
-
-    @Transactional
-    fun reverseConfirm(refno: String): TTransactionMain
-
-    @Transactional
-    fun reverseFail(refno: String): TTransactionMain
-
-    // 冲正类接口
     /**
-     * 冲正业务
+     * 退款类业务
+     */
+    @Transactional
+    fun refund(originRefno: String): TTransactionMain
+
+    @Transactional
+    fun refundInit(originRefno: String): TTransactionMain
+
+    @Transactional
+    fun refundConfirm(refno: String): TTransactionMain
+
+    @Transactional
+    fun refundFail(refno: String): TTransactionMain
+
+    /**
+     * 撤销业务
      */
     @Transactional
     fun cancel(originRefno: String): TTransactionMain
@@ -76,9 +77,9 @@
 
 
     fun init(builder: TransactionBuilder): TTransactionMain {
-        try{
+        try {
             return transactionService.init(builder)
-        }catch(ex: DataAccessException){
+        } catch (ex: DataAccessException) {
             //其他SQL错误
             ex.javaClass.name.let {
                 val name = it.substringAfterLast('.')
@@ -116,4 +117,12 @@
     fun success(refno: String): TTransactionMain {
         return success(refno, "")
     }
+
+    fun cancel(refno: String): TTransactionMain {
+        TODO("not implementation")
+    }
+
+    fun refund(originRefno: String, newRefno: String): TTransactionMain {
+        TODO("not implementation")
+    }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt b/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
index 74f77fd..59c05bb 100644
--- a/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
+++ b/src/main/kotlin/com/supwisdom/dlpay/api/transaction_builder.kt
@@ -2,7 +2,6 @@
 
 import com.supwisdom.dlpay.api.domain.TAccount
 import com.supwisdom.dlpay.api.domain.TTransactionMain
-import com.supwisdom.dlpay.api.service.TransactionService
 import com.supwisdom.dlpay.api.service.TransactionServiceProxy
 import com.supwisdom.dlpay.exception.TransactionCheckException
 import com.supwisdom.dlpay.framework.domain.TShopacc
@@ -118,7 +117,7 @@
 class TransactionBuilder {
     companion object {
         private val VALID_REVERSEFLAG = setOf(TradeDict.REVERSE_FLAG_CANCEL,
-                TradeDict.REVERSE_FLAG_REVERSE,
+                TradeDict.REVERSE_FLAG_REFUND,
                 TradeDict.REVERSE_FLAG_NONE)
 
         private val VALID_OPERTYPE = setOf(TradeDict.OPERTYPE_OPER,
@@ -179,8 +178,8 @@
     var tradeType: String = "none"
         private set
 
-    fun reverse(): TransactionBuilder {
-        this.tradeType = TradeDict.REVERSE_FLAG_REVERSE
+    fun refund(): TransactionBuilder {
+        this.tradeType = TradeDict.REVERSE_FLAG_REFUND
         return this
     }
 
@@ -350,7 +349,7 @@
         TODO("not implement")
     }
 
-    fun reverse(transactionService: TransactionServiceProxy, originRefno: String, amount: Double): TTransactionMain {
+    fun refund(transactionService: TransactionServiceProxy, originRefno: String, amount: Double): TTransactionMain {
         TODO("not implement")
     }
 }
