首先为什么说微信官方的DEMO就是一个坑呢?
(1)java版本的demo仅仅只有刷卡支付,而没有公众号支付和扫码支付的demo。php和c#都有
(2)更要命的是微信的API还有多种版本。例如公众号中微信支付需要调用wx.chooseWXPay 但是在微信的支付API中需要调用的确是getBrandWCPayRequest 我开始的时候选择相信了前者,结果各种被虐
我采用的微信支付模式是java+html5+ajax 以及最新版本的微信支付
1. 建立html5 页面。不需要引入什么 只需要引入jquery 关键性代码:
2. 生成微信支付所需要的各种签名 各种内容.对应前台html 的那个ajax请求的url 这个倒是可以直接使用微信的demo。只需要修改一些自己的配置信息即可。其中几个大坑要说明一下
(1)body 字段不能为空
(2)key 必须是微信财付通后台的api安全中的32位随机字符串
(3)参与签名的时候还要微信财付通的登陆6位密码等等
这些这么重要的东西,API却一点都没有提及
3. 如果没有躺过这些坑,很有可能在手机端调试的时候会被报错 jsapi缺少参数package key 等各种错误
4.就算拼命完成了这些坑,支付好不容易在测试授权的环境下也正了,以为就可以上线结束了吗?no 完全没有,因为微信在正式授权上线的时候,还会在坑的一把
比如你在测试的时候的授权URL是正常使用的。但是同样的地址切换到正式授权的时候就会报“JSAPI的URL未注册”什么的,是因为你的授权地址配错误了
看到区别了吧,在在测试的环境下,URL只需要写到项目名;但是在正式的情况下你必须写到项目名+路径名 否则会报错
本人已经实现了html5+java的微信支付模式。如果需要源代码或者有技术交流的话,请联系我哈 936378933