起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1822|回复: 6

[处理中3] 从支付回调 获取返回信息!急!

[复制链接]

104

主题

310

帖子

877

积分

高级会员

Rank: 4

积分
877
QQ
发表于 2018-8-26 22:50:14 | 显示全部楼层 |阅读模式
本帖最后由 gzh268 于 2018-8-26 22:54 编辑

我是小白,弄了一天了,还是没搞明白,求大神们赐教啊!急急急!先谢谢了!
private static void doNotify(HttpServletRequest req, HttpServletResponse resp) throws IOException {
                System.out.println("进入回调.................................");
                resp.setContentType("text/xml;charset=utf-8");
                resp.setCharacterEncoding("utf-8");
                String resultCode = req.getParameter("return_code");
                System.out.println("进入回调."+resultCode);               
               
               
                if("SUCCESS".equals(resultCode)){
                        String result_code = req.getParameter("result_code");
                        if(result_code.equals("FAIL")){
                                String err_code = req.getParameter("err_code");
                                String err_code_des = req.getParameter("err_code_des");
                                String out_trade_no = req.getParameter("out_trade_no");
                                log.info("有一个交易失败["+err_code+"]:" +  err_code_des + "out_trade_no:" + out_trade_no);
                        }else if(result_code.equals("SUCCESS")){
                                String out_trade_no = req.getParameter("out_trade_no");
                                String transaction_id=req.getParameter("transaction_id");
                                /**
                                 TODO 最好数据库里面有单独的订单支付模块
                                                 首先检查对应业务数据的状态,判断该通知是否已经处理过,
                                                 如果没有处理过再进行处理,如果处理过直接返回结果成功。
                                                 在对业务数据进行状态检查和处理之前,要采用数据锁进行并发控制,以避免函数重入造成的数据混乱。
                                 *
                                 */
                                log.info("订单:" + out_trade_no + ",交易成功");
                        }
                }else if("FAIL".equals(resultCode)){
                        String returnMsg = req.getParameter("return_msg");
                        log.error("有失败交易需要关注:" + returnMsg);
                }else{
                        resp.setContentType("text/html;charset=utf-8");
                        resp.getWriter().write("不要闹!");
                        return;
                }
                resp.getWriter().write("<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[OK]]></return_msg></xml>");
        }
}

我在后台调用了这个方法:
Model.prototype.testNotifyBtnClick = function(event){
                var testData = this.comp("testData");
                justep.Baas.sendRequest({
                                "url" : "/weixin/weixin",
                                "action" : "notify",
                                "async" : false,
                                "params" : {
                                       
                                },
                                "success" : function(resultCode) {
                                        justep.Util.hint(resultCode);
                                        testData.setValue("fState", resultCode);  //我想在这里获取 用户支付结果信息  如果能调到支付成功 和失败 状态参数 就OK了!但不知道上面的JAVA 方法 要获取成功失败code参数或者是他们的相关信息  该怎么写 上边java方法里 哪个是?
                                       
                                }
                        });
                        
        };

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2018-8-27 14:08:23 | 显示全部楼层
支持成功和失败是在app中jsAPI后返回的,在java中写什么意思?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

104

主题

310

帖子

877

积分

高级会员

Rank: 4

积分
877
QQ
 楼主| 发表于 2018-8-28 04:44:19 | 显示全部楼层
jishuang 发表于 2018-8-27 14:08
支持成功和失败是在app中jsAPI后返回的,在java中写什么意思?

我是在前端放了一个测试btn  在JS里 测试 想获取到回调里的值   
Model.prototype.testNotifyBtnClick = function(event){
                var testData = this.comp("testData");
                justep.Baas.sendRequest({
                                "url" : "/weixin/weixin",
                                "action" : "notify",
                                "async" : false,
                                "params" : {
                                       
                                },
                                "success" : function(resultCode) {
                                        justep.Util.hint(resultCode);
                                        testData.setValue("fState", resultCode);  //我想在这里获取 用户支付结果信息  如果能调到支付成功 和失败 状态参数 就OK了!但不知道上面的JAVA 方法 要获取成功失败code参数或者是他们的相关信息  该怎么写 上边java方法里 哪个是?
                                       
                                }
                        });
                        
        }



回复 支持 反对

使用道具 举报

104

主题

310

帖子

877

积分

高级会员

Rank: 4

积分
877
QQ
 楼主| 发表于 2018-8-28 04:46:23 | 显示全部楼层
jishuang 发表于 2018-8-27 14:08
支持成功和失败是在app中jsAPI后返回的,在java中写什么意思?

我想自己  通过案例中定义的JAVA 方法  在app   JS 里 通过baassendrequest 的方法 获取返回值   该怎么写呢
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2018-8-28 11:51:44 | 显示全部楼层
支付成功后获取信息,然后再调用自己的action,把获取的信息传给action吗?

具体用的什么支付,微信内支付还是app中微信支付?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

104

主题

310

帖子

877

积分

高级会员

Rank: 4

积分
877
QQ
 楼主| 发表于 2018-8-28 13:08:04 | 显示全部楼层
jishuang 发表于 2018-8-28 11:51
支付成功后获取信息,然后再调用自己的action,把获取的信息传给action吗?

具体用的什么支付,微信内支付 ...

微信内支付还是app中微信支付 我都想学习,不过方法都是相通的,就拿您方便指教的举例说吧,具体该怎么写呢?先谢谢jishuang 老师!
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
36044
发表于 2018-8-28 15:57:27 | 显示全部楼层
app支付看调用插件支付成功后的返回信息,如果有就可以获取

微信内支付,看看微信提供的jsSDK是否有这样的接口
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-9-24 13:25 , Processed in 0.068855 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表