AI出击:真实微信小程序项目–>支付宝小程序【3-替代接口实现】
承接上篇文章 AI出击:真实微信小程序项目–>支付宝小程序【2-框架层变更】 ,在完成支付宝小程序前端页面主体实现后,因为大部分接口都可以复用之前微信小程序的接口,尤其是不区分渠道来源的接口。所以当前最重要的工作就是解决支付宝小程序登录、订单支付退款问题。
为了快速实现及验证支付宝小程序的相关接口,我自然而然想到了世界上最好的编程语言—— PHP
核心实现支付宝小程序用户身份信息userid获取,以及实现小程序用户下单、退款功能。现在小程序项目已经有自己的一套api接口请求了,所以只需要新起一个php应用,完全模仿小程序前端的请求、返参以及加签验签方式就OK了。有请Qoder 登场!
一、订单支付提交接口实现
在让AI完成支付接口前,我手动复制了之前微信小程序用的http封装(httpUtil),只是把请求的域名改成了php项目的域名地址(httpUtilQingye),然后手动修改支付宝小程序的登录接口使用新的请求,因为还没实现支付宝登录,所以这个登录接口我是直接按正常微信小程序返回的mock数据,确保支付宝小程序前端能正常获取到token等参数。另外让AI单独写了个支付宝小程序authoCode换取userid的接口,把我自己的支付宝用户id提前存下来了,不然后面支付没办法进行(想要支付宝小程序支付还需要申请相关支付产品、小程序绑定支付、设置接口加签方式等,因为是真实项目要去做的我之前已经一套流程全部搞定了,也就没有去用沙箱环境)。
如下图所示,本次方案就是支付宝小程序前端维护2套接口调用,一些支付宝特有的接口实现全部使用新接口来完成,这也意味着本次后端接口1:1复刻指定接口逻辑,前端的接口切换只需要变动一行代码。

分析游戏币订单页面pages/goods/xxxxxx/index 点击提交订单后的接口请求及返回逻辑, 帮我把获取支付参数的接口使用php进行开发支付宝小程序的支付。前端调用 httpUtilQingye这个请求封装,实现的php接口请写到alipay-mini-php 项目文件中我会手动进行部署
这个过程很快包括它分析前端逻辑,写新东西AI 还是比较擅长的

支付测试时实际测试就遇到2个接口bug,一个是下单参数位置不对,还有就是传参的值错误(把小程序jsapi支付 传成了当面付),这2个bug我都是找的官方文档地址丢给它自己看的。

支付成功后前端小程序又出现一些跳转、按钮bug,不过有之前的解决过程这些问题很快就解决了。
支付宝小程序支付时建议真机调试,或者打开 API代理,跟微信小程序不一样它并不会弹出二维码让你扫码付款。

二、其他订单列表、用户登录接口实现
在写这篇文章时才发现Qoder 里面关于订单列表、php接口优化的信息都没有了,不知道是不是因为压缩了上下文导致这些信息丢失。这一块其实相对简单,让AI 自己分析前端调用接口的加密签名方式,它会自己用php实现验签,另外我也让它增加了token验证等功能。

为了确保支付宝小程序体验正常,在使用php对接支付时,后端收到支付宝回调后会进行金额及订单状态校验,然后通过后会操作业务数据库进行订单状态变更及触发后续发货流程。也就是说支付后的整个业务逻辑也是完整1:1复刻的。
在复刻原接口业务逻辑时,如果是查询类接口可以直接把原接口返回数据给AI 或让他根据前端调用接口后的后续处理逻辑倒推出后台返回参数结构。 另外有必要给AI 提供数据库表信息及相关解释,这样AI 就会自己写sql来进行接口返回数据组装。

最后在小程序上实测支付、退款等业务均正常。比起前面迁移微信小程序,这些接口从实现到测试完毕不到2天就搞定了。

未完待续
到现在小程序改造第一阶段基本快要结束了,因为没有UI设计师,后面会更新最后一篇文章,支付宝小程序的主题优化。
发表评论