微信公众号支付开发

一、注册微信公众号服务号并填写企业信息(个人订阅号没有开发微信支付的权限)

链接: https://mp.weixin.qq.com/

二、在微信公众号内进行微信认证(3-5个工作日)


三、在微信公众号内开通微信支付功能(3-5个工作日)


四、在微信商户平台上配置相关信息(回调域名等)

链接:https://pay.weixin.qq.com/index.php/public/cms/content_detail?lang=zh&id=37000

五、开始正式开发

1.微信公众号配置

链接: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1472017492_58YV5

2.页面开发

JSSDK使用步骤

步骤一:绑定域名

先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

备注:登录后可在“开发者中心”查看对应的接口权限。

步骤二:引入JS文件

在需要调用JS接口的页面引入如下JS文件,(支持https):http://res.wx.qq.com/open/js/jweixin-1.2.0.js

备注:支持使用 AMD/CMD 标准模块加载方法加载

步骤三:微信code获取js

    function GetQueryString(name)

    {

        var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");

        var r = window.location.search.substr(1).match(reg);

        if(r!=null)return  unescape(r[2]); return null;

    }

    function UrlEncode(str){

        str = (str + '').toString();

        return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').replace(/\)/g, '%29').replace(/\*/g,             '%2A').replace(/%20/g, '+');

    }

    $(function(){

                var code = GetQueryString("code");

                var uri = "http%3a%2f%2fwww.abaitu.com%2fwuse-file%2fh5%2frecharge%2fwx%2fwx_order.html";

                if(code == null || code == ""){

                    location = "https://open.weixin.qq.com/connect/oauth2/authorize?"

                            +"appid=自己的appid&redirect_uri="+uri

                            +"&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";

                }else{

                    var wxCode=code;//微信code

                }

});

步骤四:当用户手动授权后将微信code传给自己后台获取到用户信息及自定的订单列表,然后在页面上展示给用户

链接:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

步骤五:当用户手动选择某一产品后将具体产品返回给自己服务器,获取到相关下单参数

步骤六:取到相关下单参数后,前端拉起微信支付

if (typeof WeixinJSBridge == "undefined"){

if( document.addEventListener ){

document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false);

}else if (document.attachEvent){

document.attachEvent('WeixinJSBridgeReady', onBridgeReady);

document.attachEvent('onWeixinJSBridgeReady', onBridgeReady);

}

}else{

onBridgeReady();

}

function onBridgeReady(){

WeixinJSBridge.invoke(

'getBrandWCPayRequest', {

"appId" : appId,    //公众号名称,由商户传入

"timeStamp":timeStamp,        //时间戳,自1970年以来的秒数

"nonceStr" : nonceStr, //随机串

"package" :package,

"signType" : "MD5",        //微信签名方式:

"paySign" : paySign//微信签名

},

function(res){

if(res.err_msg == "get_brand_wcpay_request:ok" ) {

}    // 使用以上方式判断前端返回,微信团队郑重提示:res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。

else{

//alert(res.err_msg);

//失败

}

}

);

}

链接:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6

你可能感兴趣的:(微信公众号支付开发)