1、用到的插件:
地址:https://github.com/xu-li/cordova-plugin-wechat
安装方式:cordova plugin add cordova-plugin-wechat --variable wechatappid=YOUR_WECHAT_APPID
2、申请微信app支付功能
说明:
(1)、微信公众号支付,进入微信公众平台:https://mp.weixin.qq.com/ ;微信app支付,进入微信开发平台:https://open.weixin.qq.com/cgi-bin/index?t=home/index&lang=zh_CN
(2)商户平台跟上面公众号的说的商户平台不能是同一个,也就是说公众号跟APP各有一个商户平台,所以api秘钥,也是不一样的。
流程:
A、进入账户:获取AppId、APPSECRET
B、创建移动应用,配置好应用签名,包名等信息
C、开发者认证,然后开通支付功能
D、微信会发邮件,收到商户号、密码等信息
E、进入商户号,配置api秘钥
F、后端生成订单相应信息(prepay_id,统一下单):但是参数要对哦,和文档写的不一样:统统小写,不能用驼峰原则:例如:appid、partnerid、prepayid、nonceStr、sign、package;
G、前端调起微信:
cordova 插件Android:Wechat.java 里面的也得改例如:appid、partnerid、prepayid、nonceStr、sign、package;
cordova 插件iOS:目前没有发现异常;
H、最终打工搞成
犯了一个比较严重的错误,如果是打的apk,微信支付,只能一台电脑编译的包可以,就要想想apk的应用签名了,以下是Android签名的一些知识点:
Android系统要求每一个Android应用程序必须要经过数字签名才能够安装到系统中,也就是说如果一个Android应用程序没有经过数字签名,是没有办法安装到系统中的!
你没有给Android应用程序签名并不代表Android应用程序没有被签名。为了方便我们开发调试程序,ADT会自动的使用debug密钥为应用程序签名。debug密钥?它在哪?debug密钥是一个名为debug.keystore的文件,它的位置:
系统盘符:/Documents and Settings/liufeng/.android/debug.keystore
“ liufeng”对应于你自己的windows操作系统用户名,怎么样,是不是已经找到它了。这也就意味着,如果我们想拥有自己的签名,而不是让ADT帮我们签名的话,我们也要有一个属于自己的密钥文件(*.keystore)。
应用签名:根据项目的应用包名和编译使用的keystore,可由签名工具生成一个32位的md5串,在调试的手机上安装签名工具后,运行可生成应用签名串,如图8.9所示,绿色串即应用签名。签名工具下载地址https://open.weixin.qq.com/zh_CN/htmledition/res/dev/download/sdk/Gen_Signature_Android.apk
然后把应用的签名放到微信开放平台