小程序集成微信支付(在线充值)全网最简单教程
2019-08-06 本文已影响5人
fe1e31171ab2
前言
本教程是基于 “apifm-wxapi” 模块,教你快速实现小程序开发,所以你可能需要先了解以下知识点:
《创建 HelloWorld 项目》
《使用 “apifm-wxapi” 快速开发小程序》
《免费注册开通后台,获得专属域名》
微信支付,需要用户登录后才能操作,也就是说需要 token 授权,请先了解:
你需要先登录你的小程序后台,左侧菜单“微信支付”开通属于你自己的微信支付后才能完成下面的演示
在后台配置你的微信支付商户号和秘钥
登录上述的免费后台,在左侧菜单 --> 微信设置 --> 修改appid/secret设置
填写 “微信支付商户号” + “微信支付商户秘钥” ;
微信支付商户号: 你申请开通微信支付的商户号
微信支付商户秘钥: 登录微信支付的商户后台 https://pay.weixin.qq.com 你需要手动去设置一个 api安全秘钥 (是api秘钥,不是apiv3秘钥,不要搞错了)
小程序代码:
const WXAPI = require('apifm-wxapi')
WXAPI.init('gooking')
Page({
data: {
},
onLoad: function (options) {
},
pay() {
WXAPI.wxpay({
token: '登录后获取的 token',
money: 100,
payName: '支付测试'
}).then(function (res) {
console.log(res)
})
}
})
WXAPI.init('gooking') 这句代码是将你的小程序链接到你的后台,其中 gooking 这个是你的专属域名(请查看前言中关于专属域名的章节说明);
完成!
你现在可以让用户查看下他自己的资产、资金明细:
wxpay 方法更多参数的高级应用,你可以查看下面的接口文档检阅:
常见问题排查
- 可能是你在后台微信设置里,没有填写你的微信支付商户号和支付秘钥;
- 你设置的微信支付秘钥,必须是 “api安全秘钥” ,而不是 “apiv3”;
- 设置的密钥长度超了,微信规定秘钥长度为32位,如果你设置的超过32位,微信会截断只保留前面的32位,然后你在工厂后台填写的秘钥是超过32位的,就导致了秘钥错误;
- 微信支付的商户号,要么必须是使用当前小程序申请的(并不是随便拿一个微信支付来就可以使用的);要么你进行 MA 授权(具体可以搜索一下百度: 微信支付MA授权);
- 确保微信开发工具上面登录的 APPID 和你在后台配置的 APPID 是同一个;
如果以上确认都没有问题,问题依然存在?
请查看 network 网络请求,api接口返回的完整 json 数据,按照经验判断主要有可能是以下几种情况导致的:
{code: 50000, msg: "商户号该产品权限未开通,请前往商户平台>产品中心检查后重试"}
按照上面的提示,登录您的微信支付后台(微信支付后台!不是工厂后台!也不是公众号的后台!),点击产品大全,开通 JSAPI 的收款功能!
期待你的进步!
感谢!