• 微信服务号 微信支付开发


    微信支付,须要通过微信支付验证
    眼下。支付仅限服务号,
    做微信支付开发,主要看开发文档
    统一下单。
    订单查询
    退款等

    1.发起支付。都是通过h5发起的,首先获取prepay_id

    发起支付,须要统一下单的prepay_id

    SortedMap<Object, Object> parameters = new TreeMap<Object, Object>();
            parameters.put("appid", ConfigUtil.APPID);
    
            parameters.put("mch_id", ConfigUtil.MCH_ID);
            parameters.put("nonce_str", PayCommonUtil.CreateNoncestr());
            parameters.put("body", bodyorder);
            parameters.put("out_trade_no", outTradeNo);// 用户订单号
            parameters.put("total_fee", totalfee);// 标价金额(分)
            // parameters.put("spbill_create_ip",IpAddressUtil.getIpAddr(request));
            parameters.put("spbill_create_ip", "192.168.1.1");// 电脑測试
            // parameters.put("spbill_create_ip",NetworkUtil.getIpAddress(request));
            parameters.put("notify_url", ConfigUtil.NOTIFY_URL);
            parameters.put("trade_type", "JSAPI");
            parameters.put("openid", openId);
            String sign = PayCommonUtil.createSign("UTF-8", parameters);
            parameters.put("sign", sign);
            String requestXML = PayCommonUtil.getRequestXml(parameters);
    
            String result = CommonUtil.httpsRequestR2s(ConfigUtil.UNIFIED_ORDER_URL, "POST", requestXML);
            System.out.println("第一弹数据" + result + "ip地址" + NetworkUtil.getIpAddress(request));
    

    数据为

     第一弹数据
      <xml>
      <return_code><![CDATA[SUCCESS]]></return_code>
      <return_msg><![CDATA[OK]]></return_msg>
      <appid><![CDATA[wx06e68e38fcef451d]]></appid>
      <mch_id><![CDATA[1427607202]]></mch_id>
      <nonce_str><![CDATA[vOK9ll6ZylQAOiRV]]></nonce_str>
      <sign><![CDATA[4D7F2D8D55377493503F8BB9E2F94C8B]]></sign>
      <result_code><![CDATA[SUCCESS]]></result_code>
      <prepay_id><![CDATA[wx20170105120958d7d94506790707606719]]></prepay_id>
      <trade_type><![CDATA[JSAPI]]></trade_type>
      </xml>

    2.拿到prepay_id后,就能够发起支付

    支付,须要设置測试路径和真实路径。
    这里写图片描写叙述
    发起支付。将參数转为json,在放到respond里,然后h5页面从request里取

    SortedMap<Object, Object> params = new TreeMap<Object, Object>();
            params.put("appId", ConfigUtil.APPID);
            params.put("timeStamp", Long.toString(new Date().getTime()));
            params.put("nonceStr", PayCommonUtil.CreateNoncestr());
            System.out.println("订单id" + map.get("prepay_id"))
    
              
  • 相关阅读:
    hdu1290献给杭电五十周年校庆的礼物
    hdu1181(变形课)
    Flex结合java实现一个登录功能
    MyEclipse安装spket插件
    线程安全的理解
    很实用的一个ext表格,具有很好的分页功能。
    tomcat配置数据源
    extanychart柱状图呈现取自数据库中的数据
    extanychart饼图呈现取自数据库中的数据
    oracle实现分页总结
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7324861.html
Copyright © 2020-2023  润新知