PAYATHON 2026

alipay.trade.pay 提示 ACQ.MOBILE_PAYMENT_SWITCH_OFF 如何解决?

支付阿杰

结论

ACQ.MOBILE_PAYMENT_SWITCH_OFF 表示付款人的支付宝账户未开启无线支付功能。这是买家账户侧的限制,与商户签名、请求参数或接口权限无关。

商户无法通过调整 alipay.trade.pay 的参数替顾客开启该功能。可以提示顾客登录支付宝账户,检查手机支付相关设置。如果当前客户端或网页中没有对应入口,建议顾客联系支付宝客服核实账户状态,或者更换支付宝账户及付款方式。

产生原因

调用 alipay.trade.pay 时,支付宝会校验付款账户的状态和支付能力。如果返回:

ACQ.MOBILE_PAYMENT_SWITCH_OFF

说明当前付款账户尚未启用无线支付功能,因此支付宝拒绝继续执行交易。

该错误通常与以下内容无关:

  • 商户应用的签名配置
  • app_id 是否正确
  • 商户收款权限
  • 支付金额或订单号格式
  • 商户服务端的网络状态

在账户状态没有变化的情况下,重复提交相同订单通常无法解决问题。

处理步骤

1. 提示顾客检查账户设置

根据接口返回的信息,提示顾客登录支付宝账户,在账户设置或手机相关设置中检查无线支付功能。

历史错误提示提供的路径为:

www.alipay.com → 账户设置 → 手机设置

支付宝网页和客户端的入口可能会调整。如果顾客找不到“无线支付开关”或“手机设置”,无需继续反复尝试,应联系支付宝客服确认账户是否存在支付限制。

2. 重新发起支付

顾客完成设置后,可以重新发起支付。再次支付前,应先查询原订单状态,避免原交易已经成功,又重复创建订单。

建议使用原商户订单号调用 alipay.trade.query 查询:

  • 原订单明确失败或不存在:可以重新发起支付。
  • 原订单已经成功:不得重复扣款或重复创建业务订单。
  • 原订单状态不明确:继续查询,或按照支付宝交易关闭流程处理。

3. 提供替代付款方案

如果顾客无法开启相关功能,可以建议其:

  • 更换其他状态正常的支付宝账户;
  • 改用银行卡、现金等商户支持的付款方式;
  • 联系支付宝客服处理账户限制。

服务端处理示例

服务端需要同时判断接口调用结果和支付宝返回的 sub_code,不能只检查 HTTP 状态码。以下是 Java SDK 风格的示例:

AlipayTradePayRequest request = new AlipayTradePayRequest();
request.setBizContent("{"
        + "\"out_trade_no\":\"ORDER_202609090001\","
        + "\"scene\":\"bar_code\","
        + "\"auth_code\":\"付款码内容\","
        + "\"subject\":\"订单支付\","
        + "\"total_amount\":\"10.00\""
        + "}");

AlipayTradePayResponse response = alipayClient.execute(request);

if (response.isSuccess()) {
    // 支付成功,继续校验 trade_no、out_trade_no、total_amount 等关键字段
    handlePaymentSuccess(response);
} else {
    String subCode = response.getSubCode();

    if ("ACQ.MOBILE_PAYMENT_SWITCH_OFF".equals(subCode)) {
        // 该问题需要付款人处理,商户端不应无条件自动重试
        throw new PaymentException(
                "当前支付宝账户未开启无线支付功能,请检查账户设置、联系支付宝客服,"
                + "或更换账户及付款方式。"
        );
    }

    // 其他错误应根据具体 code、sub_code 分类处理
    handlePaymentFailure(
            response.getCode(),
            response.getSubCode(),
            response.getSubMsg()
    );
}

前端提示应简洁明确,例如:

当前支付宝账户暂时无法完成此类支付。请检查支付宝账户的手机支付设置,
或联系支付宝客服;也可以更换支付宝账户或付款方式。

注意事项

不要在相同条件下连续重试

这是付款账户状态引起的失败。在顾客完成相关设置前,商户服务端连续调用接口通常无法解决问题,还可能产生重复请求、造成订单状态混乱或触发风控。

不要把支付宝原始错误直接当作系统异常

建议在业务系统中将该错误归类为“付款人账户能力受限”,并与签名错误、网络异常和商户权限异常分开处理。同时记录以下信息,方便后续排查:

out_trade_no
code
sub_code
sub_msg
支付宝响应时间

日志中不得保存完整付款码、私钥或其他敏感信息。

再次付款前先查单

即使首次调用返回失败或发生超时,也要先通过 alipay.trade.query 确认交易状态。只有确认原交易未成功后,才能引导顾客重新付款。

以实际账户页面和客服结果为准

错误提示中的网页路径可能来自较早版本的账户设置界面。如果当前支付宝页面已经没有对应入口,商户也无法通过接口配置解决,应由顾客联系支付宝客服确认账户的支付能力。

备注:内容仅供参考。