接下去谈谈对接。
公司业务一般分为公司独立开发,以及跟外面渠道对接的大致是这二部分。独立开发,自己公司主导,交流以及一些修改都是内部修改,只要交流到位,不要反反复复修改,一般难度不是很大,你自己写的代码你应该知道是干什么用,你使用别人提供的代码,那么咨询一下当事人也能很快得到答案。接下去就是跟外部的对接。
1.支付部分。对接支付宝跟微信。这里页面支付,我接触到的是支付宝。支付宝网络教程很多,一开始很盲目去寻找一些自己能用的网页,资料。这里有一点很重要,你的编码思维会影响你的代码顺序,以及你去完成代码的方式。因为算是第一次接触,感觉支付是一个很重要的部分因为设计到资金流,所以很拘束,幸好组长大D给我这次锻炼机会,让我试试,不成功没关系。我按照网页上写的,成功运行的阿里的demo,其中用到了内网穿透natapp,进行本机测试,也下载了阿里环境的沙箱以及支付宝公钥私钥,个人开发号。我自己自测完成,但是卡在了整合,最后是大D整合的。因为这部分资料很多,我去讲述怎么完成意义不大,我谈一些我的体悟。程序员应该有程序员的思想,如果是你提供一些接口,你会怎么样去完成,提供给别人使用,这是你对接时候应该有所思考到的。阿里的接口,他们的接口文档写的很棒。你传参什么,他们回调给你什么,那些是回调之后你在本地进行处理保存记录的。在这个要领下,其实你可以很简单的对接支付宝的接口。因为他们首先要确定你的身份,也就你要有一个类似token,能证明你是使用者的身份,也就是你的appid,签名方式RSA2,应用公钥,应用功能私钥,你所调用的接口。调用的接口,一般都是及时就有反馈,成功或者失败以及带回来的信息,那么类似这种,你可以及时处理信息。但是存在延迟,比如支付,支付存在时差,不可能在一次接口访问就立即反馈是否成功,所以需要回调地址,回调地址是留号码给支付宝,跟他说你要是有结果了,就打这个电话回来。(ps,如果你有拦截器设置,需要给开放给支付宝的回调地址放行)。网关是什么,也就是你需要访问的地址,支付宝家的,你需要去这个家里才能调用你所需要的信息,其中沙箱调用跟正式调用区别也在于网关不同。但你调用支付宝接口多了之后,你会发现他们提供出来的接口,除了不同接口的传参跟返回值不一样,其调用接口的方式都是固定模式的,很便捷,所以当你知道了提供接口者他是以什么样的方式来提供接口,你顺着他提供的思路去接收你想要的东西,这样对接就很顺利。对接支付宝,因为可以及时反馈一些返回值,所以调不通就需要你自己查找自己的问题,以及返回值不对,也可以找对应支付宝开放文档进行翻阅。如果还是存在问题,就跟对应版块去提出你的问题,也有人会专门解答,很棒,很专业。
2.对接第三方网站。产品讲究人无你有,人有你优,人优你廉,再之后就是压价或者寻找其他的产品。很多对应同类型的网站,我们也去对比过,有什么产品是我们可以完成的,我们也做出来。毕竟看到你这里大而全,给用户的视觉以及使用体验都是不一样的。用户不像程序员回去对比一些东西,往往你可以满足他的需要,他觉得顺手,他就会一直用下去。如果他需要的一些在其他平台有,你没有集成,那么可能用户就流失了。所以我们也对接了一些产品,来扩充我们的功能。对接第三方,其实也是一样的思路,同样第三方会给你提供一个访问他们那边的凭证,然后去对应网址,get或者post方法去传参调用接口。这里需要注意的是这么几点,1.调用的网址是http还是https,一般默认使用http,如果你用https,在调用httpclient部分,可能会出现需要你也先去申请https的权限什么 2.调用接口前后,你需要保存记录,也就是调用一些接口,你需要log日志输出调用前的传参以及调用后的返回值,这些都会是第三方出现问题,你去解决这些问题最有力的证据。(ps,为什么调用失败?可能是你网络波动了,你们配置或许不够。难搞哦。) 3.某些接口调用时间你需要知道一下,有一些如果需要很长时间才能有返回值的,你要做对应处理,或许换个其他方式,或许有一些接口不要放到一起调用,分步骤去调用,这样不会因为一些不怎么重要的返回失败或者没有返回影响整个返回给客户的页面展示。 4.对接其实存在不稳定性,所以你要询问,有一些结果是否你会回调我们提供给你的接口来主动告诉我们进度,如果没有的话,那么本地除了使用定时设置策略去查询调用结果进度同时,也需要做好补偿逻辑,也就是如果发送信息不成功重新发送,或者某个空闲时间段统一再调用对应接口进行查询。
对接其实一个是你对接思路是什么,另外一个就是问题记录以及反馈解决。