📄 正文
通过推送绑卡(Push Provisioning),持卡人可以在您的应用内一键将 DCS 发行的 Visa 卡添加到 Apple Wallet(iOS) 或 Google Wallet(Android),无需在钱包应用中手动输入卡号。作为持牌、自有 BIN 的发卡机构,DCS 负责对接 Apple / Google 的令牌化和绑卡授权。 与只能引导用户跳转的部分能力不同,DeCard 托管提供了自有的绑卡 REST 接口(/card/v1/apple-bind-wallet、/card/v*/google-bind-wallet):您的应用把钱包下发的加密材料转交 DCS,DCS 调用 Visa 令牌化(Tokenization)服务后,返回钱包所需的配置数据,由您的应用回传给系统钱包完成添加。
Apple Pay 新接入建议:优先使用 DCSProvisioningSDK。接入机构后端通过 POST /card/v1/bind-wallet-ticket 获取临时绑卡凭证(ticket),SDK 随后完成 PassKit 与 DCS 的交互。本页仍保留底层钱包绑卡 REST 接口,供您查询字段、维护现有直连接入或对接 Google Pay。
前置条件:用户需已完成 KYC 并成功开卡,拿到这张卡的标识(Apple 绑卡与 Google V1 用卡号后四位cardMantissa,Google V2 用cardId)。开卡流程见申请卡。
核心概念:令牌化(Tokenization)
数字钱包通过令牌化保护卡片安全——令牌化会把真实卡号(PAN)替换为唯一的数字令牌(token):- 一卡一设备一令牌:每个「卡片 × 设备」组合生成独立令牌,互不影响。
- 端到端保护:交易时使用令牌替代真实卡号,明文卡号不落到商户/钱包侧。
- 令牌生命周期(5 阶段):生成(添加卡时创建)→ 激活(身份验证后启用)→ 使用(交易时替代真实卡号)→ 更新(定期轮换确保安全)→ 删除(移卡时销毁令牌)。
两条绑卡路径
本页重点说明应用内绑卡——您需要完成接入开发并调用 DCS 绑卡 API。手动绑卡无需开发,由持卡人在钱包应用中自行完成。
Apple Pay 手动绑卡(iPhone,3 步)
- 打开钱包应用:在 iPhone 上打开「钱包」应用,点击右上角的「+」号。
- 输入卡片信息:轻点或手持卡片靠近 iPhone 以添加;或轻点「手动输入卡片详细信息」,按屏幕说明操作。
- 身份验证:按提示选择验证方式(短信 / 邮件),输入验证码完成认证。
Google Pay 手动绑卡(Android,7 步)
- 打开 Google 钱包应用:持卡人打开 Google 钱包应用,必须登录其 Google 账户才能启用移动支付。
- 开始添加流程:持卡人点击「添加到钱包」开始手动绑卡。
- 选择支付卡:如出现提示,持卡人选择「支付卡」。
- 手动输入卡片信息:持卡人选择「或手动输入详细信息」,手输卡号、有效期和 CVV。
- 同意条款:持卡人查看并同意条款和条件。
- 身份验证:DCS 通过短信或电子邮件下发验证码,用于身份验证。
- 完成配置:持卡人输入验证码,成功后在 Google 钱包应用内收到确认。
具体步骤可能因手机型号、软件版本与钱包应用界面更新而略有差异,如有疑问请联系 DCS 团队。
四方角色
Apple 侧 DCS 角色为 BIN Sponsor、合作方为 Program Manager;Google 侧 DCS 角色为 Issuer、合作方为 Program Manager。
业务接入流程(上线前一次性)
启用应用内绑卡前,您需要与 DCS、Apple 或 Google 完成一次性的授权与认证。Apple 与 Google 的接入流程不同:Apple Pay 接入
Google Pay 接入
详尽的厂商侧逐屏操作以 Apple / Google 官方发卡机构文档为准,本页不复制其截图。更多接入细节请联系 DCS 团队。
应用内绑卡流程
接入完成后,持卡人每次在应用内点击“添加到钱包”,系统都会按下图交互。下图以 Apple 为例;Google 的流程相同,仅请求和响应字段不同。下图展示底层直连时序。使用 DCSProvisioningSDK 时,应用只需把绑卡凭证与卡片参数交给 SDK,SDK 会处理 PassKit 设备数据与 DCS 之间的交换;见实现指南。

绑卡 API
Apple 绑卡接口为POST /card/v1/apple-bind-wallet(以卡号后四位 cardMantissa 定位卡片)。Google 绑卡提供 V1 / V2 两个版本,新接入统一使用 V2(以 cardId 精确定位卡片)。
Google V2 与 V1 的唯一差异是定位卡片的字段:V2 以cardId替代cardMantissa定位卡片。externalUserId在两版均必填。其余字段一致。
Apple Pay 绑卡
请求字段
必填字段为externalUserId/applePublicCertificates/appleNonce/appleNonceSignature;cardMantissa可选。
请求示例(已脱敏)
响应
成功返回统一响应结构{ code, message, messageDetail, data },成功时 code = SYS_SUCCESS。data 为 Apple Wallet 完成令牌化所需的配置数据:
Google Pay 绑卡
请求字段
Google V2 的必填字段仅externalUserId/cardId;clientCustomerId/deviceId均为可选。V1 的必填字段仅externalUserId。
请求示例(V2,已脱敏)
响应
成功时code = SYS_SUCCESS,data 为 Google Pay 令牌化所需数据:
错误处理
绑卡前卡片必须处于正常可用状态:已激活、未冻结、未失效。卡状态不正常时先完成激活或解除限制,再发起绑卡。测试说明
- Push Provisioning 必须用生产卡测试——Visa 不提供沙盒令牌化卡片,完整绑卡流程无法在沙盒环境验证。
- iOS 应用须通过 TestFlight 安装测试;直接从 Xcode 运行会导致绑卡失败。
当前绑卡成功或失败不会额外回传 Webhook 事件;接入机构应以本次绑卡 API 与 Apple/Google Wallet 返回结果为准。若需要异步绑卡事件,需要新增系统能力。
下一步
- Apple Pay SDK 安装——引入 DCSProvisioningSDK 并配置权限声明、App Group 与卡产品配置
- 实现指南——获取绑卡凭证并发起应用内绑卡
- 钱包扩展指南——在 Apple Wallet 内提供绑卡入口
- 申请卡——先开卡拿到
cardId/cardMantissa - 卡管理 · 概述——冻结/解冻、换卡、状态机
- 管理卡片 PIN——同属卡片管理,PIN 走引导页
- Webhook 与 WebSocket 实时通知——其他卡片与交易事件;当前不含绑卡事件

