微信支付--网页版-V3-(1)

最近要做网页微信公众号网页调微信支付。好了,废话不多说,先看官方的文档:
https://pay.weixin.qq.com/index.php/home/login?return_url=%2F
1、打开公众号支付:
这里写图片描述
2、查看第二阶段的开发文档
此处输入图片的描述
进入到 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_1
3、先查看业务流程
https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_4
4、重点如下图红框标识
这里写图片描述
5、重点在第4和第5步;图中有提到调用【统一下单API()】来生成预付订单()也就是先要生成prepay_id。
废话不多说,先看接口文档中的统一下单API:统一下单API
6、在该接口中有提到【“除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。”】。OK,其它的先不管;先根据接口API,编写代码:

    /**
     * 构建微信统一支付请求xml串
     * @param payParams
     * @return str
     */
    public static String buildUnifiedOrderReq(Map<String,String> payParams){
        String payStr = "";
        payStr += "<xml>";
        payStr +=    "<appid>"+payParams.get("appid")+"</appid>";
        payStr +=    "<body>"+payParams.get("body")+"</body>";
        payStr +=    "<mch_id>"+payParams.get("mch_id")+"</mch_id>";
        payStr +=    "<nonce_str>"+payParams.get("nonce_str")+"</nonce_str>";
        payStr +=    "<notify_url>"+payParams.get("notify_url")+"</notify_url>";
        payStr +=    "<openid>"+payParams.get("openid")+"</openid>";
        payStr +=    "<out_trade_no>"+payParams.get("out_trade_no")+"</out_trade_no>";
        payStr +=    "<spbill_create_ip>"+payParams.get("spbill_create_ip")+"</spbill_create_ip>";
        payStr +=    "<total_fee>"+payParams.get("total_fee")+"</total_fee>";
        payStr +=    "<trade_type>JSAPI</trade_type>";
        payStr +=    "<sign>"+payParams.get("sign")+"</sign>";
        payStr +="</xml>";
        return payStr;
    }

7、在编写代码的过程中,你会发现在调用统一下单接口前,需要获取支付用户的openid。在接口中有获取openid的相关链接。因我是公众号,故来到此页面:公众号获取openid
8、因是网页获取,故点此链接进入获取用户openid的api,如下图
此处输入图片的描述
9、点击链接,来到了微信公众号网页授权获取用户基本信息;初步一看,一堆堆的说明,怎么搞啊,头大了。不用担心,一步一句看下去,到最后,你会发现获取openid有两种不同的方式:

  • 静默授权(用户无感知)
  • 感知授权(需用户授权)

10、为了提升用户体验,初步决定使用静默授权方式。
11、浏览完该api说明,可以得到静默授权方式获取到微信用户的openid获取步骤。

12、那么问题又来了,如何测试-请看下篇~

  • 6
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值