发起支付时访问sell.springboot.cn/sell/pay 支付页面提示 404 null
来源:8-4 动态注入参数发起支付
vcfriend
2018-04-27
师兄,你修改支付授信息后,发起支付时,页面错误提示已经由"数据库无此openid" 变成了404了. 这也是什么原因啊,视频中没有提到会遇见这个情况呀.
以上是我的配置截图
@Controller //@RequestMapping("/pay") //错误在此,多一层路径,导致访问 http://xsell.natapp1.cc/pay 出现404 public class PayController { @Autowired private OrderService orderService; @Autowired private PayService payService; /** * 微信支付帐号借用 * 前端支付地址调用回调 * @param openid 师兄干货处获取的openid * @param orderId 订单id * @param returnUrl 支付完返回地址 * @param map 后端支付页面动态参数 * @return 用户支付页面调用 */ @GetMapping("/pay") public ModelAndView index(@RequestParam("openid") String openid, @RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { return create(orderId, returnUrl, map); } @GetMapping("/pay/create") public ModelAndView create(@RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { //1. 查询订单 OrderDTO one = orderService.findOne(orderId); if (one == null) { throw new SellExecption(ResultTypeInfoEnum.ORDER_NOT_EXIST); } //2.发起支付 PayResponse payResponse = payService.create(one); map.put("payResponse", payResponse); map.put("returnUrl", returnUrl); return new ModelAndView("pay/create", map); } }
写回答
3回答
-
廖师兄
2018-04-27
你访问会转发到这个地址 http://xsell.natapp1.cc/pay
你访问它看看,页面上显示什么
122018-11-22 -
vcfriend
提问者
2018-04-28
关于支付成功后, 返回订单状态页面时,报404的错误提示.
需要用到 URLEncoder.encode(returnUrl, "UTF-8"), 把 returnUrl 用 UTF-8 编码一下
@Controller @Slf4j //@RequestMapping("/pay") //错误在此,多一层路径,导致访问 http://xsell.natapp1.cc/pay 出现404 public class PayController { @Autowired private OrderService orderService; @Autowired private PayService payService; /** * 微信支付帐号借用 * 前端支付地址调用回调 * @param openid 师兄干货处获取的openid * @param orderId 订单id * @param returnUrl 支付完返回地址 * @param map 后端支付页面动态参数 * @return 用户支付页面调用 */ @GetMapping("/pay") public ModelAndView index(@RequestParam("openid") String openid, @RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { return create(orderId, returnUrl, map); } @GetMapping("/pay/create") public ModelAndView create(@RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { //1. 查询订单 OrderDTO one = orderService.findOne(orderId); if (one == null) { throw new SellExecption(ResultTypeInfoEnum.ORDER_NOT_EXIST); } //2.创建预支付订单 PayResponse payResponse = payService.create(one); map.put("payResponse", payResponse); //用这个还不行地址返回时会带有 http://sell.springboot.cn/sell/前缀 ,且报404错误 //map.put("returnUrl", URLEncoder.encode(returnUrl)); try { String decode = URLEncoder.encode(returnUrl, "UTF-8"); map.put("returnUrl", decode); } catch (UnsupportedEncodingException e) { log.error("[支付订单] 解析返回地址错误, returnUrl={}", returnUrl); e.printStackTrace(); } //3.生成JSAPI页面调用的支付参数并签名,返回给微信端让用户向微信支付系统发起支付和确认支付. return new ModelAndView("pay/create", map); } }
012018-05-03 -
vcfriend
提问者
2018-04-28
404错误找到了,访问路径多写了一层pay
@Controller //@RequestMapping("/pay") //错误在此,多一层路径,导致访问 http://xsell.natapp1.cc/pay 出现404 public class PayController { @Autowired private OrderService orderService; @Autowired private PayService payService; /** * 微信支付帐号借用 * 前端支付地址调用回调 * @param openid 师兄干货处获取的openid * @param orderId 订单id * @param returnUrl 支付完返回地址 * @param map 后端支付页面动态参数 * @return 用户支付页面调用 */ @GetMapping("/pay") public ModelAndView index(@RequestParam("openid") String openid, @RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { return create(orderId, returnUrl, map); } @GetMapping("/pay/create") public ModelAndView create(@RequestParam("orderId") String orderId, @RequestParam("returnUrl") String returnUrl, Map<String, Object> map) { //1. 查询订单 OrderDTO one = orderService.findOne(orderId); if (one == null) { throw new SellExecption(ResultTypeInfoEnum.ORDER_NOT_EXIST); } //2.发起支付 PayResponse payResponse = payService.create(one); map.put("payResponse", payResponse); map.put("returnUrl", returnUrl); return new ModelAndView("pay/create", map); } }
关于发起支付时,访问pay.html页面空白, 没有提示错误信息, 就是不能发起支付时, 可参考:
http://coding.imooc.com/learn/questiondetail/28679.html
00
相似问题