由于小程序 iOS 端不支持购买虚拟物品,例如会员、积分等,所以可以通过公众号开通微信支付,引导用户点击公众号菜单或模版消息跳转 H5 完成支付流程,由于公众号和小程序已经绑定到同一个开放平台,可以通过 unionid 识别用户。
同一个企业可以注册多个微信商户号,数量不限制。个体户也可以开通微信支付,验证信息时可以用个人银行卡验证。
以下产品可以开通微信支付:
微信公众号开通微信支付,涉及两个方面:公众号网页开发、微信支付开发。
可以使用小程序云开发的「静态网站」托管公众号网页,文档给出了一个例子,可以直接上传到静态网站后台。静态网站可以绑定自定义域名,需要先申请 ssl 证书。
微信网页开发需要用到的资源:
npx create-react-app
即可在当前目录创建一个 react app,npm start
运行这个 app,然后在微信开发者工具的网页开发中,输入 localhost:3000
即可预览这个网页。用 React 写代码,写完之后不需要用浏览器预览、调试,而是直接在微信开发者工具预览、调试页面,如果要在真机预览、调试,可以用 ngrok;补充,建议用 vite.js 创建一个 React 应用,而不是用 create-react-app
创建。
微信支付开发文档。nodejs 第三方封装,注意微信支付没有审核或者控制的第三方工具和库,不能保证它们的安全性和可靠性。
微信支付有多个产品,具体看我写的博客文章。在公众号场景下,页面当然都是直接用微信的内部浏览器打开,所以用 JSAPI 就好了。如果一个页面主要用外部浏览器打开,则用 H5 支付。
wx.chooseWXPay
接口,发起一个微信支付请求,需要给这个接口传入多个参数,而这些参数需要通过微信支付 JSAPI 计算获得,即在后台(例如云函数)通过微信支付 JSAPI 计算相关参数后,返回给前端,前端在 wx.chooseWXPay
接口携带上这些参数发起调用,即可完成支付。