对接支付宝生活号**开发模式
最近需要对接支付宝无感停车,为此需要对接支付宝生活号,而生活号开发除了一系列的添加签约功能后,在对接前需要**开发模式,因此一堆啃爹内容出现了,下面举例一波**开发模式有的坑。
按照如图框框依次下载demo 工具等
先去用支付宝下载的工具生成公钥和私钥并配置到生活号上,如图:
去平台配置公钥私钥后会生成支付宝公钥!!!(这个很重要)
然后下载demo,下载结束你会发现这是个第一代基础web框架。。。jsp,servlet,如果你能在服务器配置tomcat,就用demo走,ok你可以不用看下去了 ,但是要我用基础包去对接。。。臣妾做不到啊~~~因此 我决定创建springboot项目 移值原来代码 然而~坑一波波的来了
记住第一张下载demo图中有个url 是你要去自己服务器修改nginx配置后,重启nginx再启动java服务后 填入对应地址,点击确定后支付宝会发送一波信息到你服务器
我的是 xxx.xxxx.xxx.xxx/zhifubao/gateway.do 对应Controller层
ok,问题开始:当发送信息后 服务器会报个错(很坑):
报了公钥私钥问题。。。好吧 我先去检查了 源码 验签需要的是支付宝公钥而非自己生成公钥(ok没问题啊)如图:
然后询问支付宝人员 硬生生说我公钥私钥错了。。。不行让我用他们demo。。。好吧
我默默的打了一堆日志然后发现问题所在
问题在这句代码
然后自己main方法测试,果然报错了,报错如下:
没错问题来了。。然后精彩的来了 支付宝提供的sdk包只包含这些包
但是,代码中支付宝demo中json用的是(我试着换了fastjson,但是代码会出现大范围报错):
import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;
因为这个json包用的少,可能大多人不知道,如果要用,需要再引入对应的其他jar包才可以,不然会报错,然而支付宝的jar是封装过的,只要报错就要公钥私钥问题(尼玛)
如何解决,引入demo中的lib中如下的包
搞定,重复上传启动配置url**。。。成功了!!!成功后**东西不见了,如图: