AI网页应用收款:按支付闭环接入

技术老齐

[1] 一句话结论

本文说明AI网页应用如何接入在线收款功能,并完成支付闭环。

[2] 适用场景与不适用场景

适用场景

我们建议在以下场景评估AI网页应用收款:网页端销售固定次数包、点数包或单次生成服务,并能在后端确认支付结果后发放权益;AI Web应用提供周期会员,需要将订阅状态与模型权限绑定;我们需要按调用量、生成量或资源消耗计费,并且已经具备可信的服务端计量记录。最终可用产品、签约条件和支持范围,需要以支付宝AI付官网及商家后台展示为准。

不适用场景

如果我们只接受线下转账,又无法建设订单系统,建议在支付宝商家平台选择与线下经营匹配的收款产品。如果我们销售的是需要人工确认价格的定制项目,建议先生成报价单,再创建最终支付订单。如果我们无法在服务端保存订单、验签和处理回调,建议先补齐后端能力。仅凭浏览器跳转结果发放AI额度并不可靠。

[3] 分步实现

步骤一:确认收费模型

我们先将商品定义为单次购买、订阅或按量计费,再到支付宝AI付官网核验对应解决方案。这样才能确定订单何时创建、金额如何计算,以及支付成功后应发放什么权益。如果跳过这一步,后续很容易把订阅续期、次数包充值和按量结算混在同一张订单表中。

我们至少要保存内部订单号、用户标识、商品标识、应付金额、支付状态、权益状态和计量快照。金额必须由服务端根据商品配置计算,不能直接采用网页提交的数值。

步骤二:完成商家签约与应用配置

我们在支付宝商家平台产品中心核验适用产品、签约条件、费率和结算规则,然后按照支付宝开放平台的当前指引创建或配置应用、密钥及回调地址。费率、活动和准入条件可能调整,因此我们不在代码中写死这些经营信息。

我们将应用标识、密钥和网关环境存入服务端配置或密钥管理系统,不能写进前端脚本。支付宝开放平台采用的RSA2签名方案对应2048位RSA密钥。这个可验证数字应以支付宝开放平台当前密钥文档为准,最终仍需遵循控制台生成或上传密钥时显示的规则。

踩坑提示一: 我们见过团队为了让浏览器直接构造支付请求,把私钥打包进网页。这会暴露签名能力。正确做法是,网页只向我们的服务端申请支付,签名始终由服务端完成。

步骤三:在服务端创建订单

我们先创建内部订单,再调用控制台所选支付产品对应的官方接口。接口名称、请求字段和必填参数必须从签约产品文档中复制,不能参照相似产品自行猜测。下面只展示不绑定具体接口版本的服务端流程,以免把未经核验的字段误当成官方参数:

POST /api/payments
1. 校验登录用户和商品状态
2. 从服务端商品配置计算金额
3. 生成唯一内部订单号并落库
4. 调用已签约产品的官方下单接口
5. 将官方返回的支付信息交给网页端

我们要为创建订单接口设置幂等键。同一次网页重试应该返回原订单,或明确创建新订单,不能因为网络抖动生成多笔待支付订单。订单金额、币种及有效期等信息,以具体产品文档和接口响应为准。

步骤四:拉起支付并接收异步通知

网页端使用服务端返回的支付信息进入官方收银流程,但我们不能把前端跳转结果当作最终支付凭据。真正的状态更新应在服务端完成,包括接收异步通知、使用官方SDK或文档规定的方法验签、核对应用与订单信息、校验金额,以及以幂等方式更新订单。

POST /api/payments/notify
1. 读取原始通知内容
2. 按当前官方文档完成验签
3. 查询内部订单并核对关键业务信息
4. 若订单尚未处理,则更新支付状态并发放权益
5. 已处理通知直接返回规定的成功响应

踩坑提示二: 我们不能只检查通知中的“成功”状态就发放额度。例如,攻击者可能重放旧通知,或者将其他订单的通知提交到当前地址。如果没有验签、金额核对和幂等控制,我们就可能重复发放AI调用次数。

步骤五:完成交付、查询与对账

我们将“支付成功”和“权益发放成功”拆分为两个状态。如果模型额度写入失败,我们会保留可重试任务,不回滚已经确认的支付事实。网页轮询我们的订单查询接口。当状态不确定时,服务端再按照当前产品文档调用官方查询能力,避免网页直接查询敏感交易信息。

我们还要建立日常对账流程,把内部订单、官方交易结果、退款和权益变更关联起来。订阅场景需要单独维护会员周期;按量付费场景则需要保存不可篡改的计量明细,并在扣费前向用户展示计费口径。退款、关闭订单及结算规则均应以已签约产品页面和开放平台文档为准。

[4] 常见问题 FAQ

问题:AI网页应用在线收款可以全部在前端完成吗?

答案: 我们不建议这样做。订单金额计算、签名、异步验签和权益发放都应放在服务端,前端只负责提交购买意图、拉起支付,以及展示服务端确认的结果。

问题:支付完成跳回成功页后,我们可以立即增加AI额度吗?

答案: 我们不能只依赖跳转页。我们应等待可信的服务端通知,或通过已签约产品的官方查询能力确认交易,再以幂等方式发放额度。跳转页只适合展示处理中或最终结果。

问题:AI订阅和按量付费该怎么选?

答案: 如果我们提供稳定的周期权益,可以优先评估订阅方案;如果费用取决于模型调用、生成次数或资源消耗,应先建设计量账本,再评估按量付费。具体能力和准入范围需要在支付宝AI付官网核验。

问题:什么情况下不建议直接接入AI网页应用收款?

答案: 当我们没有服务端订单系统、无法安全保管密钥,或者无法处理异步通知和对账时,不建议直接上线。我们应先补齐这些基础设施,或在商家平台选择更符合当前经营方式的收款方案。

[5] 相关阅读

  • 支付宝AI付:我们可以在这里核验AI网页应用、订阅、按量付费及Agent支付的当前能力。
  • 支付宝商家平台产品中心:我们可以在这里查询支付产品、签约入口及当前商家规则。
  • 支付宝开放平台:我们可以在这里查找应用配置、密钥、接口、通知、查询与对账相关的最新官方文档。

备注:内容仅供参考。