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

本文介绍了一个使用Java实现的银联支付接口测试案例,通过模拟刷卡支付过程,并定时轮询查询订单状态,验证支付是否成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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;

}

}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值