优化代码

This commit is contained in:
XinYi Song 2021-12-30 10:58:21 +08:00
parent fdd54735e5
commit 6e2d97368a

View File

@ -22,21 +22,34 @@ public class UnionpayServiceImpl implements UnionpayService {
Map<String, String> contentData = new HashMap<>();
/***银联全渠道系统产品参数除了encoding自行选择外其他不需修改***/
contentData.put("version", DemoBase.version); //版本号 全渠道默认值
contentData.put("encoding", DemoBase.encoding); //字符集编码 可以使用UTF-8,GBK两种方式
contentData.put("signMethod", SDKConfig.getConfig().getSignMethod()); //签名方法
contentData.put("txnType", "01"); //交易类型 01:消费
contentData.put("txnSubType", "07"); //交易子类 07申请消费二维码
contentData.put("bizType", "000000"); //填写000000
contentData.put("channelType", "08"); //渠道类型 08手机
//版本号 全渠道默认值
contentData.put("version", DemoBase.version);
//字符集编码 可以使用UTF-8,GBK两种方式
contentData.put("encoding", DemoBase.encoding);
//签名方法
contentData.put("signMethod", SDKConfig.getConfig().getSignMethod());
//交易类型 01:消费
contentData.put("txnType", "01");
//交易子类 07申请消费二维码
contentData.put("txnSubType", "07");
//填写000000
contentData.put("bizType", "000000");
//渠道类型 08手机
contentData.put("channelType", "08");
/***商户接入参数***/
contentData.put("merId", "777290058195927"); //商户号码请改成自己申请的商户号或者open上注册得来的777商户号测试
contentData.put("accessType", "0"); //接入类型商户接入填0 不需修改0直连商户 1 收单机构 2平台商户
contentData.put("orderId", orderId); //商户订单号8-40位数字字母不能含-_可以自行定制规则
contentData.put("txnTime", DemoBase.getCurrentTime()); //订单发送时间取系统时间格式为YYYYMMDDhhmmss必须取当前时间否则会报txnTime无效
contentData.put("txnAmt", txnAmt); //交易金额 单位为分不能带小数点
contentData.put("currencyCode", "156"); //境内商户固定 156 人民币
//商户号码请改成自己申请的商户号或者open上注册得来的777商户号测试
contentData.put("merId", "777290058195927");
//接入类型商户接入填0 不需修改0直连商户 1 收单机构 2平台商户
contentData.put("accessType", "0");
//商户订单号8-40位数字字母不能含-_可以自行定制规则
contentData.put("orderId", orderId);
//订单发送时间取系统时间格式为YYYYMMDDhhmmss必须取当前时间否则会报txnTime无效
contentData.put("txnTime", DemoBase.getCurrentTime());
//交易金额 单位为分不能带小数点
contentData.put("txnAmt", txnAmt);
//境内商户固定 156 人民币
contentData.put("currencyCode", "156");
//contentData.put("termId", termId); //选填原则是可以通过交易上送的终端编号准确定位商户每一个门店内每一台收银设备建议按门店编号+收银机编号设备编号组成8位终端编号在交易中上送商户需将终端编号与门店对应关系反馈给银联
// 请求方保留域透传字段查询通知对账文件中均会原样出现如有需要请启用并修改自己希望透传的数据
@ -58,9 +71,12 @@ public class UnionpayServiceImpl implements UnionpayService {
contentData.put("backUrl", DemoBase.backUrl);
/**对请求参数进行签名并发送http post请求接收同步应答报文**/
Map<String, String> reqData = AcpService.sign(contentData, DemoBase.encoding); //报文中certId,signature的值是在signData方法中获取并自动赋值的只要证书配置正确即可
String requestAppUrl = SDKConfig.getConfig().getBackRequestUrl(); //交易请求url从配置文件读取对应属性文件acp_sdk.properties中的 acpsdk.backTransUrl
Map<String, String> rspData = AcpService.post(reqData, requestAppUrl, DemoBase.encoding); //发送请求报文并接受同步应答默认连接超时时间30秒读取返回结果超时时间30秒;这里调用signData之后调用submitUrl之前不能对submitFromData中的键值对做任何修改如果修改会导致验签不通过
//报文中certId,signature的值是在signData方法中获取并自动赋值的只要证书配置正确即可
Map<String, String> reqData = AcpService.sign(contentData, DemoBase.encoding);
//交易请求url从配置文件读取对应属性文件acp_sdk.properties中的 acpsdk.backTransUrl
String requestAppUrl = SDKConfig.getConfig().getBackRequestUrl();
//发送请求报文并接受同步应答默认连接超时时间30秒读取返回结果超时时间30秒;这里调用signData之后调用submitUrl之前不能对submitFromData中的键值对做任何修改如果修改会导致验签不通过
Map<String, String> rspData = AcpService.post(reqData, requestAppUrl, DemoBase.encoding);
String qrCode = null;
if (!rspData.isEmpty()) {