微信内部浏览器分享支付功能

1、注册一个微信公众账号 地址:https://mp.weixin.qq.com/cgi-bin/loginpage?t=wxm2-login&lang=zh_CN
2、进入开发者中心,点击接口测试申请系统。在改页面添加:JS接口安全域名,测试地址跨域是ip,如果有端口号要带上端口号。
3、获取签名(关键)。这一步必须要和后台交互。
    a、获取签名时前端要和后台进行一次交互,需要传一个参数url,这个参数是动态获取的当前页面的url出去#好和#号后面的部分。
    b、后台在第二步的开发者中心拿到:AppId和AppSecret,然后根据前台传过去的url计算签名。详细文档:http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html,附录1-JS-SDK使用权限签名算法。
    c、后台返回的数据格式JSON,字段包括:noncestr,jsapi_ticket,timestamp,url
4、拿到3-c中的数据配置微信分享。
var shareMsg = {
        title: '这里是TITLE',
        desc: '在长大的过程中,我才慢慢发现,我身边的所有事,别人跟我说的所有事,那些所谓本来如此,注定如此的事,它们其实没有非得如此,事情是可以改变的。更重要的是,有些事既然错了,那就该做出改变。',
        link: 'http://movie.douban.com/subject/25785114/',
        imgUrl: 'http://demo.open.weixin.qq.com/jssdk/images/p2166127561.jpg',
        trigger: function (res) {
            alert('用户点击发送给朋友');
        },
        success: function (res) {
            alert('已分享');
        },
        cancel: function (res) {
            alert('已取消');
        },
        fail: function (res) {
            alert(JSON.stringify(res));
        }
    };
//xxxxx 后台返回的数据
wx.config({
            debug: true,
            appId: 'xxxxx',
            timestamp: xxxxx,
            nonceStr: xxxxx,
            signature: xxxxx,
            jsApiList: [
                'checkJsApi',
                'onMenuShareTimeline',
                'onMenuShareAppMessage',
                'onMenuShareQQ',
                'onMenuShareWeibo'
            ]
        });
wx.ready(function() {
            wx.checkJsApi({
                jsApiList: ['onMenuShareAppMessage'],
                success: function (res) {
                    alert('checkJsApi success: ' + JSON.stringify(res));
                },
                fail: function(res) {
                    alert('checkJsApi error: ' + JSON.stringify(res));
                }
            });
            //分享到朋友圈
            wx.onMenuShareTimeline(shareMsg);
            //分享给朋友
            wx.onMenuShareAppMessage(shareMsg);
            //分享给QQ好友
            wx.onMenuShareQQ(shareMsg);
            //分享到微博
            wx.onMenuShareWeibo(shareMsg);
        });
5、如果是开发者测试账号,要关注改测试账号才能测试。
6、如果是线上的 需要在公众账号设置,功能设置里面添加JS接口安全域名非ip。
7、关于支付目录的配置:单页面应用
    a:IPhone 例如支付最终进入页面的路由为 /ab/cd/pay,但是入口路由为 /ab/cd 支付目录只需要配置收到/ab/
    b:Android 接 a 部分,Android手机的配置目录就必须配置到 /ab/cd/

相关推荐