PAYATHON 2026

对接花呗支付时如何隐藏其他支付工具

支付老李

结论

在商户收银台中选中「花呗」,不会自动隐藏支付宝页面里的其他支付方式。若要让支付页面只显示花呗,需要在创建支付请求时限制支付渠道,优先使用:

enable_pay_channels=pcredit

pcredit 表示花呗渠道。支付宝支付页由支付宝控制,商户无法直接修改页面,因此不要尝试通过注入 CSS、前端脚本或修改支付宝收银台页面来隐藏其他支付工具。

为什么仍会显示其他支付工具

用户在商户页面选择支付方式,通常只决定后续调用的支付流程。跳转到支付宝收银台后,支付宝还会根据用户账户、交易场景和可用渠道显示支付工具。

如果创建订单时没有传入渠道限制参数,页面仍可能显示余额、余额宝和银行卡等支付方式。渠道限制应设置在服务端创建支付请求的参数中,仅处理商户前端的选中状态是不够的。

处理步骤

1. 确认支付接口支持渠道限制

先确认当前使用的支付宝支付接口是否支持 enable_pay_channels。常见的网页支付和手机网站支付接口可能提供该参数,具体支持情况以当前接口版本的支付宝开放平台文档为准。

如果接口不支持 enable_pay_channels,可以检查是否支持:

disable_pay_channels

但逐个禁用其他渠道容易漏掉新增渠道,通常不如仅启用花呗清楚。

2. 创建订单时仅启用花呗

以电脑网站支付为例,可以在 biz_content 中加入:

{
  "out_trade_no": "ORDER_202609130001",
  "total_amount": "99.00",
  "subject": "商品订单",
  "product_code": "FAST_INSTANT_TRADE_PAY",
  "enable_pay_channels": "pcredit"
}

使用 Java SDK 时,可以这样设置:

AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
request.setReturnUrl("https://example.com/pay/return");
request.setNotifyUrl("https://example.com/pay/notify");

JSONObject bizContent = new JSONObject();
bizContent.put("out_trade_no", "ORDER_202609130001");
bizContent.put("total_amount", "99.00");
bizContent.put("subject", "商品订单");
bizContent.put("product_code", "FAST_INSTANT_TRADE_PAY");
bizContent.put("enable_pay_channels", "pcredit");

request.setBizContent(bizContent.toJSONString());

AlipayTradePagePayResponse response = alipayClient.pageExecute(request);
String paymentForm = response.getBody();

PHP 的写法类似:

$bizContent = [
    'out_trade_no'        => 'ORDER_202609130001',
    'total_amount'        => '99.00',
    'subject'             => '商品订单',
    'product_code'        => 'FAST_INSTANT_TRADE_PAY',
    'enable_pay_channels' => 'pcredit',
];

$request->setBizContent(json_encode(
    $bizContent,
    JSON_UNESCAPED_UNICODE
));

这些参数应由服务端生成并参与签名。不要只在浏览器跳转地址中临时追加参数,否则可能因签名不一致而被拒绝。

花呗与花呗分期不要混用

普通花呗和花呗分期可能使用不同的支付渠道标识:

pcredit
pcreditpayInstallment

普通花呗一般使用 pcredit。如果接入花呗分期,应按花呗分期接口的要求设置对应渠道和分期参数,不能只替换渠道名称。

渠道标识及其适用接口可能调整。接入前应核对当前开放平台文档以及商户的产品签约情况。

注意事项

  • 商户必须已经开通相应的花呗支付能力,否则即使指定 pcredit,交易也可能无法创建或完成。
  • 用户能否使用花呗,仍取决于账户状态、额度、商品类型和支付宝风控结果。
  • 「只显示花呗」也意味着没有花呗资格的用户可能无法继续付款。建议提前准备提示,并提供返回商户收银台的入口。
  • 不要同时传入相互冲突的 enable_pay_channels 和 disable_pay_channels 配置。
  • 部分收银台可能保留帮助、切换账号或安全验证入口,这些不属于商户可以隐藏的支付工具。
  • 如果已经传入 enable_pay_channels=pcredit,页面仍显示其他渠道,应检查实际提交给支付宝的原始 biz_content、生成签名时使用的参数,以及当前接口是否确实支持该字段。

备注:内容仅供参考。