微信支付结果通知
记一次在项目中基础学习微信支付的知识
微信支付开发中,统一下单后经过balabala一顿操作支付后,微信会访问一个url(也就是统一下单的 notify_url ,不允许带参数,但是你自己可以处理参数再转成url),微信会把支付结果通过访问url返回给你,这时候记得检查一下 签名 (可以通过返回的参数生成),还有 . 检查一下金额 (防止数据被改,金额对不上就支付成功),最后就是确认信息回复微信了,因为微信大佬收不到你的信息会一直访问你这个url,最后就判断支付失败了,好了下面是新手怎么去处理这个结果了
返回结果格式XML
用了node一小段时间,平时都习惯json这种格式的数据了,突然间返回xml格式惊慌失措,小菜鸟的我只能然后上网寻找答案了。发现开源项目一只!(文末附github地址)可以通过 tenpay 这个第三方库去解决,并且它里面已经有大神写好的很多方法,省了很多事,几乎帮你搞定了~它还会自动帮你检查签名,xml与json转换,有错误也会帮你reply微信
Express中使用
app.use(bodyParser.text({type: '*/xml'}));
// 支付结果通知/退款结果通知
router.post('/xxx', api.middlewareForExpress('pay'), (req, res) => {
let info = req.weixin;