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

    xiaoxiao2021-12-14  26

    最近要做网页微信公众号网页调微信支付。好了,废话不多说,先看官方的文档:  https://pay.weixin.qq.com/index.php/home/login?return_url=/  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; } 12345678910111213141516171819202122 12345678910111213141516171819202122

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

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

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

    1).引导用户访问链接:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect2).通过code换取access_token和openid(上述链接的参数说明,可以参考接微信的接口文档)

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

    转载请注明原文地址: https://ju.6miu.com/read-963507.html

    最新回复(0)