乐趣区

egg(109)–egg之微信支付

微信支付前的准备工作
准备工作
准备工作:个体工商户、企业、政府及事业单位。
需要获取内容

appid:应用 APPID(必须配置,开户邮件中可查看)
MCHID:微信支付商户号(必须配置,开户邮件中可查看)
KEY:API 密钥,参考开户邮件设置(必须配置,登录商户平台自行设置)

express 支付 (测试)
向微信发送带金额和标题参数的请求
// 引入统一下单的 api
var wechatPay = require(‘./module/wechatPay’);

var express = require(‘express’);
var bodyParser = require(‘body-parser’);
var xmlparser = require(‘express-xml-bodyparser’);

var app = new express();

//xmlparser
app.use(xmlparser());

app.use(express.static(‘./public’));
// 使用中间件 body-parser 获取 post 参数
app.use(bodyParser.urlencoded({ extended: false}));
app.use(bodyParser.json());

app.set(‘view engine’, ‘ejs’);

app.get(‘/order’, function(req, res) {

var openid = ”;

var config = {
mch_id: ‘1502539541’,
wxappid: “wx7bf3787c783116e4″,
wxpaykey: ‘zhongyuantengitying6666666666666’
}
var pay = new wechatPay(config);
pay.createOrder({
openid: openid,
notify_url: ‘http://118.123.14.36:8000/notifyUrl’, // 微信支付完成后的回调
out_trade_no: new Date().getTime(), // 订单号
attach: ‘ 名称 ’,
body: ‘ 购买信息 ’,
total_fee: ‘1’, // 此处的额度为分
spbill_create_ip: req.connection.remoteAddress.replace(/::ffff:/, ”)
}, function(error, responseData) {
console.log(‘11111111’);
console.log(responseData);
if (error) {
console.log(error);
}
res.json(responseData); /* 签名字段 */
});
})

app.listen(8000, function() {
console.log(‘port 8000 is running!’);
});
回调里有支付 url

把 url 转成二维码

手机扫码支付
支付页面有金额和标题信息

退出移动版