diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index bd7f8d5..6a1037c 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -1,9 +1,11 @@
 package com.supwisdom.dlpay.paysdktest;
 
 
+import com.supwisdom.dlpay.api.bean.ApiVersionResponse;
 import com.supwisdom.dlpay.api.bean.CitizenCardPayinitParam;
 import com.supwisdom.dlpay.api.bean.CitizenPayResponse;
 import com.supwisdom.dlpay.paysdk.ApiLoginHelper;
+import com.supwisdom.dlpay.paysdk.proxy.ApiCommonProxy;
 import com.supwisdom.dlpay.paysdk.proxy.ApiLoginProxy;
 import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy;
 import org.junit.runner.RunWith;
@@ -20,6 +22,7 @@
 
 import static org.hamcrest.MatcherAssert.assertThat;
 import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.notNullValue;
 
 
 @RunWith(SpringRunner.class)
@@ -41,11 +44,21 @@
   @Autowired
   private CitizenCardPayProxy citizenCardPayProxy;
 
+  @Autowired
+  private ApiCommonProxy apiCommonProxy;
+
   @org.junit.Test
   public void citizencardPayinit() {
     ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
     helper.login(appid, secret);
 
+    ApiVersionResponse version = apiCommonProxy.apiVersion();
+
+    assertThat("get version error " + version.getException(),
+        version.getVersion(), notNullValue());
+
+    System.out.println(version.getVersion());
+
     CitizenCardPayinitParam initParam = new CitizenCardPayinitParam();
     initParam.setBillno("20190708172756000001");
     initParam.setCardNo("1231231213");
