首次支付并保存卡
约 1685 字大约 6 分钟
2025-03-07
适用场景
本文适用于以下场景:
- 首次支付时希望同时保存卡信息,便于后续复购
- 需要通过收银台或服务端完成首笔支付并生成后续可复用凭证
- 需要在首笔接入时区分普通保存卡交易与
CardOnFile交易模式
首笔保存卡可按两种方式处理
无论选择哪种方式,首笔交易都可以完成支付并保存卡信息。
区别不在于能否保存卡,而在于后续交易按哪种已存卡方式处理。
| 方式 | 首笔是否保存卡 | 后续支付分类 | 在 PingPong 中的典型表现 | 典型场景 |
|---|---|---|---|---|
| 普通保存卡交易 | 是 | 普通已保存卡复购 | 通常仍需补充 CVV 等安全信息 | 记住卡号、提升复购体验、安全校验要求较高的场景 |
| CardOnFile 交易模式 | 是 | CIT CoF | 通常可免 CVV,直接完成一键支付 | 持卡人在场的一键支付(One-click checkout) |
如果只是希望保存卡信息、提升用户后续支付体验,默认建议使用普通保存卡交易。 只有当你希望持卡人后续支付时无需重新输入 CVV、直接一键完成支付,再使用 CardOnFile 交易模式。
如何选择
优先选普通保存卡交易,如果:
- 每次支付都需要额外安全校验(如输入 CVV)
- 你准备自己保存 PAN/有效期,不依赖 PSP token
- 只是希望用户减少输入完整卡号,但仍需每次验证
优先选 CardOnFile 交易模式,如果:
- 复购频次高,寻求提升支付转化率
- 希望持卡人选择已保存卡后直接完成支付
- 已完成持卡人保存卡和后续使用授权的告知,并评估免 CVV 场景的业务风险
普通保存卡交易
适用于仅希望保存卡信息、提升用户支付体验的场景。
后续支付时,用户可基于已保存卡信息完成复购;根据接入方式不同,通常需要补充必要的安全信息,或由商户按普通交易方式继续发起支付。
CardOnFile 交易模式
CardOnFile 首先是一种已存卡交易模式,用于标识持卡人在场的 CIT CoF 场景。
在 PingPong 中,首笔绑卡并支付及后续复购需统一按照 CardOnFile 交易模式处理,后续通常可免 CVV 完成一键支付。
持卡人授权与告知
在首笔保存卡前,建议商户在自有产品流程中明确完成以下事项:
- 告知持卡人本次将保存卡信息,用于后续已存卡支付
- 告知后续支付的使用范围,例如仅用于持卡人在场的一键支付,或另行授权的 MIT 代扣
- 在商户侧留存持卡人同意保存卡和后续使用的记录
如果后续还需要持卡人不在场的代扣能力,请按 Recurring 文档要求单独处理授权关系,不要将 CardOnFile 与 MIT 代扣混用。
Hosted 接入
Hosted 模式下,首笔支付并保存卡的基本方式如下:
- 调用收银台预下单创建支付会话
- 传入
merchantUserId,用于标识当前持卡人身份并关联其已保存卡信息 - 如果首笔交易需要按
CardOnFile交易模式处理,再额外传入bizType=CardOnFile - 用户在收银台完成支付,并勾选保存卡选项
- 系统保存卡信息,后续支付时可展示已保存卡列表
说明
Hosted 模式下,保存卡动作由收银台交互承接,用户在收银台勾选保存卡选项后即可完成保存卡。
Non-Hosted 接入
Non-Hosted 模式下,首笔支付并保存卡的基本方式如下:
- 商户自行发起下单并支付请求
- 传入
merchantUserId,用于标识当前持卡人身份并关联其已保存卡信息 - 传入
createToken=Y,表示本次支付成功后创建可复用凭证 - 如果首笔交易需要按
CardOnFile交易模式处理,再额外传入bizType=CardOnFile - 支付完成后,通过异步通知或主动查询获取
token
首笔关键参数
| 参数字段 | 是否必需 | 说明 |
|---|---|---|
merchantUserId | 是 | 商户网站的持卡人 ID,用于标识当前持卡人身份并关联其已保存卡信息 |
createToken | 仅 Non-Hosted 保存卡场景必需 | 用于控制本次支付成功后是否生成可复用的支付凭证。Non-Hosted 首笔保存卡并需生成支付凭证时传 Y |
bizType | 可选 | Hosted 或 Non-Hosted 首笔如需按 CardOnFile 交易模式处理时传 CardOnFile |
token | 首笔成功后返回 | 保存卡成功后返回的支付凭证,可用于后续基于 token 的支付场景 |
首笔接入规则
普通保存卡交易
以下仅展示请求中与保存卡相关的关键字段。
Hosted(prePay)
{
"merchantUserId": "USER_12345"
}Non-Hosted(unifiedPay)
{
"merchantUserId": "USER_12345",
"createToken": "Y"
}无需传 bizType=CardOnFile。
CardOnFile 交易模式
以下仅展示请求中与保存卡相关的关键字段。
Hosted(prePay)
{
"merchantUserId": "USER_12345",
"bizType": "CardOnFile"
}Non-Hosted(unifiedPay)
{
"merchantUserId": "USER_12345",
"createToken": "Y",
"bizType": "CardOnFile"
}PingPong 平台规则
若首笔生成 token 时传了 bizType=CardOnFile,后续使用该 token 复购时也需继续传 bizType=CardOnFile。
若首笔未按 CardOnFile 交易模式创建该 token,则后续不应将该 token 直接切换为 CardOnFile 路径使用。
仅校验卡信息
如果只是校验卡号或卡要素,不属于“首次支付并保存卡”场景,无需传 bizType=CardOnFile。
后续接入
首笔支付并保存卡完成后,商户可根据后续支付方式选择不同接入路径:
- 收银台复购(已保存卡 + CVV):通过收银台展示已保存卡并收集 CVV
- 服务端复购(Token 支付 / 一键支付):商户服务端使用 token 发起后续支付,若首笔传了
bizType=CardOnFile则无需 CVV
注意
后续无需输入 CVV,并不代表交易一定不会被要求额外认证。实际授权结果仍取决于发卡行风控、监管要求以及交易风险。
