zoukankan      html  css  js  c++  java
  • 微信服务号 微信支付开发

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

    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"))
    
                    
  • 相关阅读:
    【IDEA】项目最好强制 utf-8,换行符强制 Unix格式,制表符4个空格
    【Maven】有关 snapshots、releases 的说明
    【Maven】与私服有关的本地操作(上传、拉取jar包;版本发布)
    【Maven】nexus 安装(基于docker)
    【Maven】maven命令(编译、打包、安装、发布)区别
    【Linux、Centos7】添加中文拼音输入
    生成器、列表推导式、生成器表达式
    列表:python基础数据类型
    数据类型之间转化、字符串学习
    while 循环、格式化输出、运算符
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7324861.html
Copyright © 2011-2022 走看看