⼩程序⽀付开发(Java后台)
⼩程序开发⽀付过程:
申请好企业版⼩程序;
有趣的java小程序开发管理开发设置,获取AppID,AppSecre设置服务器域名及对应IP⽩名单等信息。
⽀付选项 开通“⽀付”(即商户功能)。我这⾥已开通(已与商户关联):登录⽀付商户平台:获取商户ID(商户号)及⽀付秘钥(API安全那⾥)
接下来编码:直接将代码搞进去,⼀些信息及逻辑换成⾃⼰的即可运⾏测试
代码经过实践基本没啥问题,只是有的地⽅没有,这⾥指出:
1、MapFromXML 这个其实就是⽤的MapFromXML
2、有⼈问PayConstant这个类没必要出现,可以不⽤,成功的可以⽤字符串代替或者⾃⼰写常量类
3、PayConstant在PayConfig这个类也出现,所以这个类也⼀起删掉,就是从读取配置⽂件读取⼀些配置信息,这些信息可以写⼊常量类中,也直接⽤
@Value("${v}")
private String ENV;
这种⽅式直接获取,⽅便很多
4、RequestStr这个也没有,可以⾃⼰实现,解析前端传过来的参数,公司⼀般⾃⼰有,我的实现是⽤@RequestBody接受的,⽅便很多,没⽤HttpServletRequest request
5、HttpUtils.postData 这个⽐较关键,这⾥补充下,不过⽹上⼀搜也有很多发送post请求的,区别多了个SSL,这⾥贴下代码
public static String doHttpsPostXml(String url, String xmlParam) {
// 创建Httpclient对象
CloseableHttpClient httpClient = null;
CloseableHttpResponse response = null;
String resultString = "";
try {
// 创建Http Post请求
HttpPost https = new HttpPost(url);
// 创建请求内容
https.setEntity(new StringEntity(xmlParam, Consts.UTF_8));
// 信任所有
SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null,
(TrustStrategy) (x509Certificates, authType) -> true).build();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext);
httpClient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
// 执⾏https请求
response = ute(https);
if (response != null) {
HttpEntity entity = Entity();
// 响应内容
resultString = String(entity, Consts.UTF_8);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
response.close();
httpClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return resultString;
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论