zoukankan      html  css  js  c++  java
  • 支付宝手机网站支付验签失败解决办法

    验签传入的参数map集合、支付宝公钥、编码格式(UTF-8,GBK....)

    主要验签失败的原因是map集合中存放的值是不正确的

    下面列出map集合中需要放入的参数值

           paramsMap.put("sign",实际取到的sign值,下同。。);
                paramsMap.put("gmt_create",);
                paramsMap.put("gmt_payment",);
                paramsMap.put("notify_time",);
                paramsMap.put("subject",);
                paramsMap.put("buyer_id",);
                paramsMap.put("notify_id",);
                paramsMap.put("notify_type",);
                paramsMap.put("out_trade_no",);
                paramsMap.put("total_amount",);
                paramsMap.put("trade_status",);
                paramsMap.put("trade_no",);
                paramsMap.put("app_id",);
                paramsMap.put("seller_id",);

     如果使用的是springmvc框架,可以直接使用以下的代码进行验证

    @RequestMapping("/yanqian")
        @ResponseBody
        public void tuikaun1(HttpServletRequest request,HttpServletResponse httpResponse) throws ServletException, IOException, AlipayApiException {
            Map<String,String> params = new HashMap<String,String>();
            Map requestParams = request.getParameterMap();
            for (Iterator iter = requestParams.keySet().iterator(); iter.hasNext();) {
                String name = (String) iter.next();
                String[] values = (String[]) requestParams.get(name);
                String valueStr = "";
                for (int i = 0; i < values.length; i++) {
                    valueStr = (i == values.length - 1) ? valueStr + values[i]
                            : valueStr + values[i] + ",";
                }
                //乱码解决,这段代码在出现乱码时使用。如果mysign和sign不相等也可以使用这段代码转化
                //valueStr = new String(valueStr.getBytes("ISO-8859-1"), "gbk");
                params.put(name, valueStr);
            }
            System.out.println(params);
            boolean    signVerified = AlipaySignature.rsaCheckV1(params, ALIPAY_PUBLIC_KEY, "utf-8");
            System.out.println("signVerified======"+signVerified);
            
        }
  • 相关阅读:
    Java for LeetCode 052 N-Queens II
    Java for LeetCode 051 N-Queens
    Java for LeetCode 050 Pow(x, n)
    Java for LeetCode 049 Anagrams
    15-[JavaScript]-ECMAScript 1
    4-观看答辩有感
    51-小米官网
    14-HTML-CSS案例
    13-[CSS]-postion位置:相relative,绝absolute,固fixed,static(默认),z-index
    12-[CSS]-margin塌陷,margin 0 auto,善用父级的padding
  • 原文地址:https://www.cnblogs.com/guokai870510826/p/6061470.html
Copyright © 2011-2022 走看看