对接中国银联刷卡支付系统架构小demo

package com.vagun.Service.zxUnionPay;


import org.apache.log4j.Logger;


import net.sf.json.JSONObject;


public class TestzxUnionPayService {

private static Logger logger = Logger.getLogger(TestzxUnionPayService.class.getName());



/**
*刷卡支付测试 ,每隔5秒刷新请求一次服务器
* @throws  Exception 
*/
public static void TestSleep()   { 
int i=0;
JSONObject resC2B;
JSONObject resQuery;
try {
System.out.println("=============请求前休眠================");
//执行刷卡接口
 resC2B = TestzxUnionPayService.C2B();
 
 //调用刷卡接口成功后调用;轮询查询订单支付状态
 if ("00".equals(resC2B.getString("respCode"))) {
//调用订单查询接口
for(i=0 ;i<12;i++){
Thread.sleep(5000); //5 秒循环一次
resQuery =  TestzxUnionPayService.queryOreder();
if("00".equals(resQuery.getString("origRespCode"))){ //00支付成功
 i=12;
 } 

 }

System.out.println("================请求后休眠,返回给POS打印小票==============");
} catch ( Exception e) {
e.printStackTrace();
}
 
}

/**
* 查询订单状态
* @return
*/

public static JSONObject queryOreder(){
JSONObject responseJson = new JSONObject();
try {
Thread.sleep(1000);
System.out.println("正在查询订单状态");
responseJson.put("origRespCode", "00"); //交易应答码

} catch (InterruptedException e) {
e.printStackTrace();
}
return responseJson;

}
 

/**
* 银联刷卡消费
* @return
*/
public static JSONObject C2B(){
JSONObject responseJson = new JSONObject();
try {
Thread.sleep(1000);
System.out.println("刷卡支付成功");
responseJson.put("respCode", "00");
} catch (InterruptedException e) {
e.printStackTrace();
}
return responseJson;

}

}

你可能感兴趣的:(系统架构)