先记录一下正常接入微信支付步骤
微信公众号配置:
1. 开通微信公众号
这里就没什么要讲的了
2.服务器配置
进入微信公众平台->开发->基本配置->服务器配置,之后填写服务器地址和令牌,并按照微信官方教程配置即可。下面是我自己的一段Node.js版本的简单服务器配置:
var http = require("http");
var url = require("url");
var crypto = require('crypto');
var token = 'abc123'; //令牌
function getQuery(name,str) {
var reg = new RegExp(name+'=([^&]*)');
var matches = reg.exec(str);
if (matches) {
return matches[1];
}
return '';
}
/**
*监听请求
*/
function onRequest(request,response){
var urlParams = url.parse(request.url);
var result = verify(urlParams.query);
response.writeHead(200,{
"Content-type":"text/plain; charset=UTF-8"});
response.write(result);
response.end();
}
function verify(query) {
var signature = getQuery('signature',query);
var timestamp = getQuery('timestamp',query);
var nonce = getQuery('nonce',query);
var echostr = getQuery('echostr',query);
var arr = [token,timestamp,nonce];
arr.sort();
var tempStr = arr.join('');
var sha1 = crypto.createHash('sha1');
var resultCode = sha1.update(tempStr,'utf-8').digest('hex');
if (resultCode === signature) {
return echostr;
}
return 'nomatch';
}
http.createServer(onRequest).listen(80);
3.js域名设置
进入微信公众平台->公众号设置->功能配置,之后填写业务域名、js接口安全域名和网页授权域名,这三个域名的作用设置时看官方解释即可。
4.获取开发者密码与AppId
进入微信公众平台->基本配置,设置或获取开发者密码与AppId,在获取用户user_info中将用到。
微信支付商户平台配置:
公众平台微信支付公众号支付授权目录、扫码支付回调URL配置入口已于8月1日迁移至商户平台(pay.weixin.qq.com)
1.支付授权目录配置
微信支付商户平台->产品中心->开发配置-&