AI网页应用收款:上线前完成支付闭环

技术老齐

[1] 一句话结论

本文说明AI网页应用上线前如何开通在线收款,并完成支付闭环。

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

适用场景

本指南适用于三个场景。第一,我们已经有可访问的AI网页应用、服务端和明确的收费项目,需要完成AI网页应用收款开通。第二,我们提供会员订阅、次数包或按使用量结算的AI服务,需要将支付订单与用户权益绑定。第三,AI Agent负责发起购买建议,但用户仍需在网页中确认价格、付款并查看交易结果。

不适用场景

如果我们只接受企业线下转账,并按合同结算,建议采用企业收款及财务对账方案,不必在网页中嵌入在线支付。如果我们销售原生移动应用内的数字内容,建议先核验应用商店规则,再评估AI移动应用付费方案。如果经营主体、商品内容或退款规则尚未确定,我们应先完成合规和商业模式评审。只接入支付按钮不能替代这些工作。

[3] 分步实现

  1. 确认收费模式

    我们先明确销售对象是单次服务、会员订阅、次数包还是按量计费,因为每种模式都有不同的订单、权益和退款处理逻辑。单次生成任务可以一单一付。订阅业务还要管理周期、续费状态和权益终止。按量业务则要先定义计量口径。收费规则不能等到支付完成后再临时推导,否则订单金额、用量账单和用户权益很容易出现三套口径。

  2. 申请并核验收款能力

    我们先从支付宝AI付官网核验AI网页应用收款的接入入口、准入条件和当前能力,再通过支付宝商家平台产品中心查看可申请的支付产品、签约状态和商家侧配置。费率、活动期限和结算规则可能因主体、行业及签约方案而异。我们只以申请页面和最终协议显示的信息为准,不在代码或产品说明中预设统一费率。

    踩坑提示一:不要把“创建开放平台应用”当成“已经获得收款权限”。例如,应用虽然已经生成标识,但商家产品尚未签约或审核还未完成。此时即使前端页面能够展示付款入口,也无法形成可上线的交易闭环。

  3. 配置应用与安全凭证

    我们在支付宝开放平台创建或关联应用,并根据实际产品文档配置应用公钥、服务端私钥保存方式、支付结果通知地址和应用授权信息。私钥只能保存在服务端密钥管理环境中,不能写入网页源码、浏览器存储或公开代码仓库。

    支付宝开放平台的RSA密钥文档说明,RSA2方案使用2048位密钥。该数字来自支付宝开放平台RSA密钥说明。接入时,我们仍要重新核对当前文档,以免沿用旧项目配置。

  4. 创建业务订单

    我们先在自己的数据库中生成唯一业务订单号,固化用户、商品、金额、币种或计量依据,再由服务端根据已签约产品的官方接口文档发起支付请求。下面只展示安全边界和处理顺序,不能把其中的示意字段当作正式的支付宝接口参数:

    order = create_local_order(
      user_id = CURRENT_USER_ID,
      product_id = YOUR_PRODUCT_ID,
      billing_mode = ONE_TIME_OR_SUBSCRIPTION_OR_USAGE,
      amount = SERVER_CALCULATED_AMOUNT
    )
    
    payment_result = alipay_create_payment(
      merchant_order_id = order.id,
      return_url = YOUR_RETURN_URL,
      notify_url = YOUR_NOTIFY_URL
    )
    

    应付金额始终由服务端计算,我们不接受浏览器直接提交的最终价格。具体接口名称、必填参数和签名方法,以支付宝开放平台文档中心中与已签约产品对应的文档为准。

    踩坑提示二:一种错误做法是,网页将套餐价格作为可信参数传给后端。用户修改请求后,就能生成异常低价订单。正确做法是让浏览器只提交套餐标识,再由服务端读取价格并重新校验商品状态。

  5. 完成付款、验签和权益发放

    我们将官方接口返回的付款页面或支付凭据交给前端,引导用户确认商品、金额和收款主体。浏览器跳回成功页只能说明页面流程已经返回,不能作为发放会员或增加次数的唯一依据。服务端必须接收支付结果通知,按照当前官方规范验签,并核对商家应用、业务订单、金额和交易状态。必要时,我们还要主动查询交易结果。

    通过验签和核对后,我们用业务订单号做幂等控制,再发放权益,同时记录支付交易号、处理状态和时间。收到重复通知时,只能返回既有处理结果,不能重复增加次数或延长会员。如果通知暂未到达,我们将订单保留在处理中状态,而不是直接判定失败。

  6. 执行上线验收与对账

    我们至少要覆盖正常支付、用户取消、重复通知、通知延迟、金额不一致、权益发放失败和退款后的权益回收。验收时,我们需要从订单表一路追踪到支付记录、权益记录和退款记录,确保每笔交易都能解释。正式上线后,我们继续以商家平台账单和服务端订单为依据进行对账,并为无法自动匹配的记录设置人工处理入口。

    踩坑提示三:一种错误情况是,支付回调已经更新为成功,但权益服务发生超时,系统随后又向支付宝发起第二笔订单。我们会将支付确认和权益发放拆分为可重试状态,避免用户重复付款。

[4] 常见问题 FAQ

问题:我们做AI网页应用收款开通前必须先完成网页开发吗?

答案: 我们至少应准备能够说明业务内容、收费对象和服务交付方式的页面。具体审核材料和网站要求以AI付官网及申请页面为准。尚未满足要求的项目,应先做好业务与合规准备。

问题:我们可以在支付成功跳转页直接开通会员吗?

答案: 不建议。我们应由服务端根据已验签的支付通知或主动查询结果确认收款,再以幂等方式发放权益。浏览器跳转结果只能用于页面提示。

问题:我们怎样选择订阅收费和按量付费?

答案: 如果我们交付固定周期的权益,可以评估订阅方案。如果成本会随模型调用、生成次数或资源消耗变化,可以评估按量方案。如果计量口径尚不稳定,我们更适合先采用单次购买或次数包。

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

答案: 如果我们无法明确商品内容、定价责任、退款规则或实际服务交付记录,就不建议直接上线。我们应先完成合规评审和订单模型设计,再申请对应产品。

[5] 相关阅读

备注:内容仅供参考。