H5集成⽀付宝App⽀付客户端+服务端(java)
由于最近项⽬需要接⼊第三⽅开发,⽀付宝⽀付,⽀付,OSS图⽚上传以及短信服务。为避免第⼀次开发⽀付宝再次花时间查看⽂档,今天总结⼀下接⼊⽀付宝的过程,以及接⼊过程中遇到的问题。
2.在已申请应⽤中查看签约状态,若状态为已⽣效才可以继续开发,签约状态查看如下所⽰,注意:未完成签约的应⽤是⽆法接⼊成功的。
3.配置密钥
4.客户端开发
客户端开发相对简单,可根据需要⾃⾏添加业务。
1var channel=null;
惠普打印机墨盒2// 1. 获取⽀付通道
最喜小儿无赖3 Channels(function(channels){
4 channel=channels[0];
5 },function(e){
6 alert("获取⽀付通道失败:"+e.message);
7 });
8var ALIPAYSERVER=AppDataURL + '/weixinpay.do?price=1';
9// 2. 发起⽀付请求
10function pay(id){
11var PAYSERVER='';
12if(id=='alipay'){
13 PAYSERVER=ALIPAYSERVER;
14 }else if(id=='wxpay'){
15 PAYSERVER=WXPAYSERVER;
身份证过期了能买火车票吗
16 }else{
17 plus.nativeUI.alert("不⽀持此⽀付通道!",null,"");
18return;
19 }
20var xhr=new XMLHttpRequest();
21 adystatechange=function(){
adyState){
23case 4:
24 ast("xhr.status:"+xhr.status);
25if(xhr.status==200){
六一儿童节有趣文案26 quest(sponseText,function(result){
27 plus.nativeUI.alert("⽀付成功!",function(){
28 back();
29 });
30 },function(error){
31 plus.nativeUI.alert("⽀付失败:" + ssage);
32 });
33 }else{
34 alert("获取订单信息失败!");
35 }
36break;
37default:
38break;
39 }
40 }
41 xhr.open('GET',PAYSERVER);
42 xhr.send();
5.服务端开发
以下代码只需配置好正确参数即可使⽤。
1 @RequestMapping(value = "/AliPay.do")
2public void aliPayInfo(HttpServletRequest request, HttpServletResponse response) {
3 response.setHeader("Access-Control-Allow-Origin", "*");
4 String money = Parameter("money");
5 String subject = Parameter("subject");
6 String orderCode = Parameter("orderCode");
7 String outTradeNo = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()) + (int) (Math.random() * 90000 + 88888);
8//实例化客户端
9 AlipayClient alipayClient = new DefaultAlipayClient(ConfigUtil.ALI_SERVER_URL, ConfigUtil.ALI_APPID, ConfigUtil.ALI_PRIVATEKEY);
10//实例化具体API对应的request类,类名称和接⼝名称对应,当前调⽤接⼝为ade.app.pay
11 AlipayTradeAppPayRequest requestR = new AlipayTradeAppPayRequest();
12 AlipayTradeAppPayModel model = new AlipayTradeAppPayModel();
13 model.setBody("我是测试数据");
14 model.setSubject(subject);
15 model.setOutTradeNo(outTradeNo);
16 model.setTimeoutExpress("30m");
17 model.setTotalAmount(money);
18 model.setProductCode("QUICK_MSECURITY_PAY");
19 requestR.setBizModel(model);
20 requestR.setNotifyUrl(ConfigUtil.ALI_NOTIFYURL);中国邮政储蓄银行个人网上银行登录
21try {
22 OrderInfo orderInfo = OrderIdByOrderCode(orderCode);
23if (orderInfo != null){
24boolean res = iTouristService.updateOrderInfoByPrepareField(orderInfo,outTradeNo); 25
26if (res){
27 AlipayTradeAppPayResponse responseR = alipayClient.sdkExecute(requestR);
28 String cao = Body();
29 Writer().write(cao);
30 Writer().flush();
31 Writer().close();
32 }
33 }
34 } catch (Exception e) {
保养灯归零35// TODO: handle exception
36 }
37 }
初次做第三⽅开发,经验不⾜,如有错误,希望指点⼀⼆,谢谢!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论