diff --git a/payapi/build.gradle b/payapi/build.gradle
index 1df7925..bb6058c 100644
--- a/payapi/build.gradle
+++ b/payapi/build.gradle
@@ -62,6 +62,7 @@
     implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
     implementation 'org.springframework.session:spring-session-data-redis'
     implementation 'org.springframework.boot:spring-boot-starter-cache'
+    implementation 'org.springframework.kafka:spring-kafka'
     implementation 'org.springframework.social:spring-social-web:1.1.6.RELEASE'
     implementation 'org.jetbrains.kotlin:kotlin-reflect'
     implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8'
diff --git a/payapi/src/main/java/com/supwisdom/dlpay/agent/AgentResponse.java b/payapi/src/main/java/com/supwisdom/dlpay/agent/AgentResponse.java
index 4c0ff3d..149c3ae 100644
--- a/payapi/src/main/java/com/supwisdom/dlpay/agent/AgentResponse.java
+++ b/payapi/src/main/java/com/supwisdom/dlpay/agent/AgentResponse.java
@@ -1,7 +1,5 @@
 package com.supwisdom.dlpay.agent;
 
-import java.lang.reflect.ParameterizedType;
-
 public class AgentResponse<T> {
   public static final String AGENTCODE_SUCCESS = "0";
 
@@ -72,23 +70,6 @@
     this.payload = payload;
   }
 
-  private T newNullPayload(Class<T> clazz) {
-    try {
-      return clazz.newInstance();
-    } catch (InstantiationException | IllegalAccessException e) {
-      throw new IllegalArgumentException("can't instance " + clazz.getName());
-    }
-  }
-
-  @SuppressWarnings("unchecked")
-  private Class<T> getPayloadBeanType() {
-    Class<T> cls = (Class<T>) ((ParameterizedType) getClass()
-        .getGenericSuperclass())
-        .getActualTypeArguments()[0];
-    return cls;
-  }
-
   public AgentResponse() {
-    this.payload = newNullPayload(getPayloadBeanType());
   }
 }
diff --git a/payapi/src/test/kotlin/com/supwisdom/dlpay/utils_test.kt b/payapi/src/test/kotlin/com/supwisdom/dlpay/utils_test.kt
new file mode 100644
index 0000000..33cba31
--- /dev/null
+++ b/payapi/src/test/kotlin/com/supwisdom/dlpay/utils_test.kt
@@ -0,0 +1,13 @@
+package com.supwisdom.dlpay
+
+import com.supwisdom.dlpay.agent.AgentResponse
+import junit.framework.Assert.assertNotNull
+import org.junit.Test
+
+class UtilsTest {
+    @Test
+    fun testAgentResponse() {
+        val response = AgentResponse<String>()
+        assertNotNull(response.payload)
+    }
+}
\ No newline at end of file
