PAYATHON 2026

支付宝小程序支付完成后如何避免跳转阿里妈妈广告页?

支付小周

结论

“优选好物”是支付宝收银台在支付完成后展示的营销页面,通常与小程序的页面跳转逻辑无关。小程序调用 my.tradePay 后,无法通过 redirectTo、navigateBack 或支付参数跳过支付宝收银台中的广告页。

如果希望用户点击“完成”后直接返回小程序,需要关闭对应商户账号下的“支付后推荐”“支付成功页营销”或类似广告功能。若该功能由服务商、支付插件或代运营方开通,则需要联系实际签约方关闭。

处理步骤

1. 确认广告页是否来自支付宝收银台

先确认广告出现的过程:

  • 支付成功后,页面仍停留在支付宝收银台;
  • 点击“完成”后进入“优选好物”;
  • 关闭“优选好物”后,小程序才收到支付回调或重新显示。

如果实际流程与上述情况一致,说明广告页不在小程序的页面栈中,小程序代码无法直接关闭或跳过它。

如果支付回调已经执行,之后才从小程序跳转到广告页,则需要检查业务代码是否调用了 my.ap.navigateToAlipayPage、my.navigateToMiniProgram,或打开了外部 H5 页面。

2. 检查商户后台的支付后营销配置

使用该笔交易对应的支付宝商户账号登录支付宝商家平台,在支付产品、运营中心、营销管理等栏目中查找名称相近的功能,例如:

  • 支付后推荐
  • 支付成功页推荐
  • 支付后广告
  • 优选好物
  • 支付后营销

找到相关活动或服务后,将其暂停、关闭或解除授权。

后台入口和功能名称可能因账号类型、签约产品或平台版本而不同。如果商户后台找不到对应入口,可以向支付宝客服提供订单号和广告页截图,请客服确认该页面来自哪个产品或授权关系。

3. 检查服务商和第三方支付配置

如果小程序通过服务商代开发、第三方支付组件或聚合支付平台接入,还要确认以下信息:

  • 支付订单使用的 app_id 和支付宝商户账号是否属于自己;
  • 服务商是否开通了支付后营销功能;
  • 是否签署过阿里妈妈推广、支付后推荐等协议;
  • 聚合支付平台是否在收银台流程中加入了营销页面。

这类配置的关闭入口不一定会出现在小程序开发者后台,需要联系服务商或实际签约商户处理。

4. 正确处理支付完成后的返回逻辑

关闭平台侧的营销页面后,小程序仍需在 my.tradePay 回调中处理支付结果:

my.tradePay({
  tradeNO: order.tradeNo,
  success: (result) => {
    if (result.resultCode === '9000') {
      my.redirectTo({
        url: `/pages/pay-result/pay-result?orderId=${order.id}`
      });
      return;
    }

    if (result.resultCode === '6001') {
      my.showToast({
        content: '支付已取消'
      });
      return;
    }

    my.showToast({
      content: '支付结果确认中'
    });
  },
  fail: () => {
    my.showToast({
      content: '暂时无法发起支付'
    });
  }
});

这段代码只能控制用户返回小程序后进入哪个页面,无法决定用户在支付宝收银台内点击“完成”时会看到什么内容。

不要依赖客户端回调判断最终支付状态

my.tradePay 返回成功,只表示客户端支付流程给出了相应结果。订单是否真正支付成功,应由服务端根据支付宝异步通知或主动查询结果来确认。

服务端需要完成以下处理:

1. 接收支付宝异步通知
2. 验证通知签名
3. 校验 app_id、seller_id、out_trade_no、total_amount
4. 确认 trade_status
5. 以幂等方式更新订单
6. 向支付宝返回 success

notify_url 用于服务端接收支付通知,不能控制用户点击“完成”后的跳转。即使某些支付产品支持 return_url,也不能用它关闭支付宝客户端中的营销页。

注意事项

  • 不要通过定时跳转或连续调用 navigateBack 来抢占页面。广告页属于支付宝客户端或收银台流程,小程序在此期间通常没有页面控制权。
  • 支付接口的成功回调与关闭广告是两件事。回调只能决定用户返回小程序后看到哪个业务页面。
  • 使用同一套小程序代码时,不同商户账号可能出现不同结果,应重点核对生成订单的实际收款账号。
  • 如果后台已经关闭相关营销功能,但广告仍然出现,应保留广告页截图、发生时间、支付宝订单号、商户 PID 和小程序 app_id,提交给支付宝客服排查缓存、授权关系或服务商配置。
  • 在没有确认具体签约产品前,无法确定后台入口的准确名称。应以该商户账号后台实际显示的内容和支付宝客服的核查结果为准。

备注:内容仅供参考。