一、注册微信公众号服务号并填写企业信息(个人订阅号没有开发微信支付的权限)
链接: 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