uniapp开发app接入微信支付网上踩坑无数,经过自己摸索查询及查阅uniapp官方文档,总结经验以供参考
1、使用uniapp开发,一定优先查看uniapp官方文档,保证所有参数配置正常后测试无效后再查阅别的解决方法。
2、包名、证书、签名信息一定要与微信开放平台记录信息保持一致,否则无法调起支付;
3、运行调试版也可以拉起支付,无需云打包测试,前提是要设置自定义调试基座信息要与正式包配置信息一致。
一、开放平台账号注册
首先,需要再微信开放平台创建应用、填写相应的移动端包名、签名(签名生成方法详情百度),创建成功后开放平台会生成此应用的appid以及secret,可以保存起来在uniapp中微信登录及支付时配置使用。
二、manifest.json配置
在配置文件中勾选相应需要的能力,在调试打包时会将响应服务的的SDK集成入基座中。
支付配置
登录配置
三、基座或云打包配置
在调试阶段为了方便实时查看会选择运行到手机上,运行时先制作自定义调试基座、具体配置项与正式打包app配置几乎一致。
请选择使用自有证书,不会点击旁边如何生成证书链接,
重点配置项为途中红线部分、包名(可自定,或查询网上包名命名规范)及签名需与微信开放平台保持一致。证书(jks/keystore均可)别名及私钥密码、文件等在生成证书过程中会有详细介绍。
四、支付及登录代码
微信orderinfo格式
"{"appid":"xxxxxxxx","partnerid":"xxxxxxx","prepayid":"xxxxxxxxxxxxxxxx"...........}"
支付宝orderinfo格式
app_id=xxxxxxxxx&method=xxxxxxxxxx&format=JSON&charset=UTF-8&sign_type=RSA2&version=1.0&return_url=xxxxxxxxxxxxxxxxxxxxxxxxxxxxx¬ify_url=xxxxx×tamp=xxxxxx&sign=xxxxxxx&biz_content=xxxxxxxxxx
支付支付宝oderInfo参数为字符串格式、微信支付参数为Object格式,具体返回参数由后台根据不同的支付方式官方文档要求返回不同参数,前端调用支付方法发起支付。经测试支付成功;