支付宝开放平台PC网站如何开通花呗支付和信用卡支付?
结论
支付宝 PC 网站支付支持买家使用花呗或信用卡,但商户需要满足以下条件:
- 已开通并签约“电脑网站支付”产品。
- 商户的所属行业、经营资质、账户状态和签约能力符合花呗或信用卡渠道的准入要求。
网站接入 alipay.trade.page.pay 即可。支付宝收银台会根据商户签约状态、买家账户、订单金额和实时风控结果,决定是否展示相应的付款方式。接口参数不能强制开通花呗或信用卡。
如果需要的是“花呗分期”,通常还要单独申请相关产品或能力。普通花呗付款与花呗分期并不是同一种能力。
开通前需要满足的条件
申请前一般需要做好以下准备:
- 完成支付宝企业账户或个体工商户账户认证。
- 在支付宝开放平台创建网页/移动应用,并通过应用审核。
- 确保网站可以正常访问,经营内容与提交的行业信息一致。
- 完成网站所需的 ICP 备案,具体要求以申请页面提示为准。
- 签约“电脑网站支付”。
- 确认商户经营类目不在花呗、信用卡支付的限制范围内。
- 按申请页面要求提交营业执照、网站信息和特定行业许可证等材料。
- 确保支付宝账户和应用不存在风控、处罚或签约异常。
花呗、信用卡和花呗分期的准入行业、费率及结算规则可能调整,应以支付宝商家平台或开放平台实际显示的签约页面为准。
开通流程
1. 创建并配置应用
登录支付宝开放平台,在控制台创建网页/移动应用,然后完成以下配置:
- 填写应用名称和应用简介。
- 绑定正确的支付宝商户账户。
- 设置应用公钥或支付宝公钥,也可以按照平台当前支持的证书模式配置。
- 配置授权回调地址、网关地址等基础信息。
- 提交应用审核并等待审核通过。
2. 签约电脑网站支付
进入商家平台或开放平台的产品签约页面,搜索并申请“电脑网站支付”。
申请时应选择真实的经营类目,并按页面要求上传资质。审核通过后,还要确认应用已绑定相应的支付产品。
3. 检查花呗和信用卡能力
开通电脑网站支付后,进入产品签约、商户能力或支付产品管理页面,查看是否有以下能力:
- 花呗支付;
- 信用卡支付;
- 花呗分期。
如果页面提供独立的申请入口,需要继续提交申请。如果没有独立入口,可能是支付宝收银台会根据商户资质自动开放该付款方式,也可能是当前账户或行业暂时不具备申请资格。
无法申请时,可以先检查以下事项:
- 商户认证主体是否符合要求;
- 经营类目是否选择正确;
- 网站内容是否与申报业务一致;
- 是否缺少行业许可证;
- 账户是否受到风控限制;
- 该能力是否需要联系支付宝商务或服务商申请。
4. 接入支付接口
PC 网站支付使用以下接口:
alipay.trade.page.pay
通常需要提供以下业务参数:
{
"out_trade_no": "ORDER_202609090001",
"product_code": "FAST_INSTANT_TRADE_PAY",
"total_amount": "99.00",
"subject": "订单商品"
}
参数含义如下:
out_trade_no是商户订单号,必须保证唯一。product_code使用FAST_INSTANT_TRADE_PAY。total_amount使用字符串表示金额,单位为元。subject是订单标题。
Java 接入示例
下面是电脑网站支付的基本调用示例。SDK 版本、密钥模式和构造方法应以项目当前使用的支付宝 Java SDK 为准。
AlipayClient alipayClient = new DefaultAlipayClient(
"https://openapi.alipay.com/gateway.do",
APP_ID,
MERCHANT_PRIVATE_KEY,
"json",
"UTF-8",
ALIPAY_PUBLIC_KEY,
"RSA2"
);
AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();
request.setReturnUrl("https://www.example.com/pay/return");
request.setNotifyUrl("https://www.example.com/pay/notify");
AlipayTradePagePayModel model = new AlipayTradePagePayModel();
model.setOutTradeNo("ORDER_202609090001");
model.setProductCode("FAST_INSTANT_TRADE_PAY");
model.setTotalAmount("99.00");
model.setSubject("订单商品");
model.setBody("订单商品说明");
request.setBizModel(model);
AlipayTradePagePayResponse response = alipayClient.pageExecute(request);
if (response.isSuccess()) {
String paymentForm = response.getBody();
// 将 paymentForm 原样输出到浏览器,引导用户跳转至支付宝收银台
} else {
throw new RuntimeException(
response.getCode() + ": " + response.getSubMsg()
);
}
生成的表单应原样返回浏览器,不要对表单内容进行 HTML 转义,也不要二次拼接。正式环境使用以下网关:
https://openapi.alipay.com/gateway.do
沙箱环境和正式环境的应用、密钥、账号及网关配置不能混用。
是否需要在代码中指定花呗或信用卡
通常不需要。调用 alipay.trade.page.pay 后,支付宝收银台会显示当前订单可以使用的付款方式。
即使接口或 SDK 提供支付渠道控制参数,这些参数通常也只能限制或筛选商户已有权限的渠道,不能为未签约或未通过准入的商户开通花呗、信用卡支付。因此,不建议通过渠道参数强制显示花呗或信用卡。
同一商户的不同买家可能看到不同的付款方式,常见影响因素包括:
- 买家是否开通花呗;
- 买家的花呗或信用卡当前是否可用;
- 可用额度是否足够;
- 订单金额和商品类型;
- 商户签约状态;
- 支付宝实时风险控制结果。
上线前的检查方法
不能只根据收银台是否出现某个图标来判断接入是否成功。上线前可以依次检查:
- 应用是否已经上线。
- 电脑网站支付是否签约成功。
- 应用是否绑定了正确的商户主体。
- 请求中的
app_id是否属于该商户应用。 - 正式环境密钥和支付宝公钥是否配置正确。
- 商户后台是否显示花呗或信用卡能力已经生效。
- 是否使用不同且状态正常的买家账户进行了验证。
- 是否通过异步通知或
alipay.trade.query查询最终交易状态。
支付是否成功,应以服务器收到异步通知并完成验签,或者主动查询到交易成功为准,不能只看前端 return_url 的跳转结果。
注意事项
- 普通花呗付款和花呗分期属于不同能力,花呗分期通常需要单独签约。
- 使用某些付款渠道可能产生额外服务费,具体费率以商户签约协议为准。
- 不要在网页代码中保存商户私钥,签名必须在服务端完成。
- 收到异步通知后必须验证签名,并核对
app_id、out_trade_no、total_amount和seller_id等重要字段。 - 不要使用同一个订单号,以不同金额重复提交订单。
- 某个买家看不到花呗或信用卡,不一定是程序故障,也可能与额度、账户状态或实时风控有关。
- 如果商户后台没有相关申请入口,或者申请审核被拒,应通过支付宝开放平台工单查询具体的准入原因。修改接口代码无法绕过产品权限。
备注:内容仅供参考。
