请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不报错,但是返回prepay_id是null

参数:
图片描述

打印:
图片描述

也没报错,不知为啥是null.
完整入参map的打印:
{nonce_str=vAclehuJda1MGJYYriKigsJ54ybi0hnk, out_trade_no=CX0000000120160522, openid=oNlSI5FwFNy7l6Q0JkWi4dtZ5j6M, total_fee=100, trade_type=JSAPI, body=订单备注, notify_url=https://127.0.0.1/test, spbill_create_ip=127.0.0.1}

正在回答 回答被采纳积分+3

插入代码

2回答

神思者 2020-07-31 08:01:08

debug一下,看看返回的resultMap里面有没有数据

0 回复 有任何疑惑可以回复我~
  • 提问者 fly_烟雨行舟 #1
    老师,解决了已经,打印出来resultMap里面的result_code是FAIL,报了错,订单号重复,我把数据库订单号改一个新的就行了。
    回复 有任何疑惑可以回复我~ 2020-07-31 09:48:49
提问者 fly_烟雨行舟 2020-07-31 01:22:09

找到问题了,把微信返回的map直接打印出来,就能看到具体的报错原因。

微信下单接口只要你请求成功就是SUCCESS,但是具体原因要根据result_code来判断,我这里打印出下单接口返回结果是说订单号重复了,我把数据库的改了下就可以了。


可以这样判断下,把下单结果失败的返回出来,方便调试。

1
2
3
4
5
6
7
Map<String, String> resultMap = wxPay.unifiedOrder(map);
log.debug("微信下单接口返回值: {}", resultMap);
if ("FAIL".equals(resultMap.get("result_code"))) {
   log.error("调用微信下单接口失败: err_code={}, err_code_des={}", resultMap.get("err_code"), resultMap.get("err_code_des"));
   return R.error("创建支付订单发生异常, 原因: " + resultMap.get("err_code_des"));
}
String prePayId = resultMap.get("prepay_id"); //微信生成的订单ID


0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号