uniapp微信小程序支付+nodejs

nodejs有一个好用的插件(tenpay)

#安装依赖
cnpm i -S tenpay

nodejs

const api = new tenpay({
    appid: appid,//微信小程序中的appid
    mchid: mch_id,//商户号的id
    partnerKey: mch_key,//商户号的密钥
    notify_url: notify_url,//支付需要返回的连接,如:你的域名是http://xxx.xxx.com
    // spbill_create_ip: 'IP地址'//可写可不写要是不写就默认
});
router.route('/wxpayunifiedOrder').post(async function(req,res){
        let {openid,total_fee} = req.body;//获取openid和价格
        var order = {
            out_trade_no: getWxPayOrdrID(),//这里就是生成一个订单号
            body: '一只羊谈火锅',//付完钱要显示什么字
            total_fee: String(total_fee*100),//这里是以分算的如果是1的话也就是1分钱,所以你传入0.01元乘100就可以换算单位
            openid: openid
        }
        let result = await api.getPayParams(order);//这个方法就可以返回前端小程序支付接口所需要的所有数据。
        res.send(result)
    });//统一下单接口

uniapp(微信小程序)

uni.request({
		url:http + '/wxpayunifiedOrder',//就是刚才nodejs的接口
		method:'POST',
		dataType: "JSON",
		data:{openid,total_fee},//传入openid和价格
		success: (res) => {
			let resData = JSON.parse(res.data);
			uni.requestPayment({
				provider: 'wxpay',//uniapp调用微信小程序用的固定的
				timeStamp: timeStamp,//根据刚才nodejs的函数传过来的
				nonceStr: nonceStr,//根据刚才nodejs的函数传过来的
				package: resData.package,//根据刚才nodejs的函数传过来的
				signType: 'MD5',
				paySign: paySign,//根据刚才nodejs的函数传过来的
				success: function (res) {
					console.log(JSON.stringify(res));
				}
			})
		}
})

以上就全都完事了就可以实现支付功能了,不需要在配置其他的东西了,这个插件还有很多方法:点击进入文档

这个实现真的很简单,有不会的可以留言。不需要考虑md5签名这些已经封装好了,特别实用。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值