# 概述

Wallet Kit中的交通卡服务向开发者App提供NFC交通卡的开通、卡片信息读取、余额在线充值、卡片信息更新和删卡等开放能力。

开发者的App要实现上述功能需要完成前端和后端的对接，本文仅涉及前端的对接规范，后端对接需要和交通卡公司达成合作，由交通卡公司提供对接规范，因此本服务仅向钱包NFC交通卡的生态合作伙伴开放。

#### 系统架构

#### 角色分工

| 角色 | 说明 |
| --- | --- |
| 开发者App | 开发者的客户端App，实现开卡、卡信息展示、充值、更新和删卡等体验。 |
| 开发者服务器 | 开发者的业务服务器。负责受理来自开发者的客户端的开卡、充值和卡片管理的业务请求，并将相应的任务下发给交通卡公司的SP TSM系统。还需对接支付机构完成开卡、充值场景的订单支付。 |
| 支付机构 | 完成支付订单的支付。 |
| SP TSM | 交通卡公司的TSM（Trusted Service Manager）系统，负责添卡、充值和卡片管理的指令生成。 |
| 钱包App | 将来自于SP TSM系统的添卡、充值和卡片管理的指令下发到安全芯片。 |
| Wallet Kit服务器 | 对接SP TSM系统，实现添卡、充值和卡片管理的指令的获取。 |

#### 接口说明

| 接口 | 调用方向 | 接口功能说明 |
| --- | --- | --- |
| IF1 | 开发者App -> 钱包App | 包括卡片状态和信息查询接口、开卡条件检查接口、开卡接口、充值接口、卡片更新接口和删卡接口。 |
| IF2 | 开发者App -> 开发者服务器 | 向开发者的业务服务器发起开卡、充值、卡片更新和删卡的业务操作请求。 |
| IF3 | 开发者服务器-> 支付机构 | 完成开卡和充值的订单支付。 |
| IF4 | 开发者服务器-> SP TSM | 向交通卡公司的SP TSM系统提交开卡、充值、卡片更新和删卡的业务请求。 |
| IF5 | Wallet Kit服务器-> SP TSM | 向交通卡公司的SP TSM系统获取开卡、充值、卡片更新和删卡的业务请求以及实现这些业务功能的指令。 |

#### 接入流程

开发者可以参考以下接入流程，完成交通卡业务相关准备及场景化能力开发。

| 序号 | 步骤 | 说明 |
| --- | --- | --- |
| 1 | 应用开发准备 | 请先参考应用开发准备完成基本准备工作和指纹配置，再继续以下开发活动。 |
| 2 | 申请callerId | callerId是交通卡接口调用时的应用标识。 |
| 3 | 服务端功能开发 | 对接支付渠道完成支付能力开发，具体需参考支付渠道的开发指导自行实现。 对接交通卡公司的SP TSM系统，完成开卡、充值等任务下发的功能开发，具体需参考SP TSM系统的开发指导自行实现。 |
| 4 | 客户端功能开发 | 参考交通卡开发指南完成开卡、充值、删卡、卡片更新功能实现。 |