业务系统很少完全自给自足。发短信要短信服务,显示位置要地图服务,收款要支付服务,还有身份核验、发票开具、电子签章这些。每一项都是别的公司在提供。
对接这些服务,技术上通常不复杂,麻烦在日常运营和费用上。
一、账号必须用单位主体申请
这是最容易被忽略但后果最严重的一条。用开发方或者个人的账号去申请短信、地图、支付服务,系统跑起来没问题,后续全是麻烦。
费用走的是别人的账户。哪天对方不合作了,服务停了,系统里的相关功能全部失效。要迁移的话,短信签名、支付商户号这些都要重新申请和审核,周期不短。
数据也经过别人的账号。短信发送记录、支付流水,都在别人的后台里,你要查还要找对方。
正确做法是所有这些服务都用单位自己的主体申请,开发方只负责技术对接和配置。申请过程中开发方可以帮忙准备材料,但账号要是单位的。
二、费用怎么算
短信按条计费,单价几分钱,量大的话是笔不小的开支。要估算月发送量,比如验证码、通知、提醒各多少条,加起来算一个月多少钱。
地图服务通常有免费额度,超出后按调用次数收费。要关注哪些功能消耗调用次数,有些接口看起来简单实际很费。免费额度用完之后如果没有及时发现,可能产生意外支出。
支付服务的费率是固定的百分比,每笔交易按比例扣。费率会因为行业和业务类型不同,申请时要确认清楚。
所有这些费用要提前纳入预算,并在系统里做用量统计。用超了要有告警,避免月底收到账单才发现用多了。
三、服务出问题怎么降级
第三方服务也会故障。短信发不出去、地图加载不出来、支付接口超时,这些情况都会发生。
设计时要考虑降级方案。短信发不出去,界面要能提示用户短暂稍后重试,而不是一直转圈。地图加载不出来,要有文字地址和联系方式兜底,用户还能找到路。
支付这类关键环节,失败之后要能查询状态。用户点了支付但没收到结果,系统不能简单地说失败,要能去查一下实际扣款了没有,避免重复支付。
还要有多家供应商的准备。重要的服务比如短信,可以接两家,一家故障时切换到另一家。做这个准备的成本不高,但能避免关键功能长时间不可用。
四、几处容易忽略的
密钥的保管。访问第三方服务的密钥相当于账号密码,不能写在代码里,也不能存在前端。要放在服务端的配置里,并且定期更换。
调用要有日志。每次调用第三方服务,调了什么、结果如何、耗时多少,记下来。出问题时能判断是自己的问题还是对方的问题。
接口有变化要有预案。第三方服务升级接口版本是常事,要关注服务商的公告,提前安排适配。等到旧接口停用那天才发现,系统功能就断了。
数据出境和隐私要留意。有些第三方服务的数据存储在境外,如果业务涉及敏感数据,要确认使用这类服务是否合规。
