Appearance
FuturePay UCard OpenAPI 对外接口文档
本文档整理 FuturePay UCard平台 当前对外接口,面向外部商户系统对接使用。文档只描述接口路径、请求参数、响应字段和加签规则,不包含 Java 类名、源码路径和内部处理流程。
1. 加签说明
1.1 接入凭证
商户调用 OpenAPI 前需要获取一组启用状态的 OpenAPI 凭证:
| 项 | 说明 |
|---|---|
apiKey | 商户 Ed25519 公钥 raw bytes hex,同时作为请求头 X-Api-Key。 |
merchantPrivateKey | 商户自己保存的 Ed25519 私钥,用于生成 X-Signature。FuturePay 不保存该私钥。 |
futurePayPublicKey | FuturePay 平台 Ed25519 公钥 raw bytes hex,用于商户验 FuturePay 响应签名。 |
1.2 请求签名 Header
正式环境下,除 FuturePay 明确约定免签的运维路径外,OpenAPI 请求均应携带以下 Header:
| Header | 类型 | 必填 | 说明 |
|---|---|---|---|
X-Api-Key | string | 是 | 商户 Ed25519 公钥 hex。支持 64 位 raw public key hex,代码兼容部分 88 位格式。 |
X-Timestamp | string | 是 | 毫秒级 Unix 时间戳,例如 1784611200000。默认允许服务端当前时间前后 300 秒。 |
X-Nonce | string | 是 | 随机字符串,同一租户、同一环境、同一时间窗口内不可重复。 |
X-Signature | string | 是 | Ed25519 签名结果,小写或大写 hex 均可,长度 128 位。 |
1.3 请求签名串
请求签名原文固定为:
text
METHOD|PATH|TIMESTAMP|NONCE|QUERY_STRING|RAW_BODY| 片段 | 说明 |
|---|---|
METHOD | HTTP 方法大写,例如 GET、POST。 |
PATH | 实际请求路径,不包含域名和 query string。签名时必须使用服务端收到的路径。 |
TIMESTAMP | 与 X-Timestamp 完全一致。 |
NONCE | 与 X-Nonce 完全一致。 |
QUERY_STRING | 原始 query string,不包含 ?。没有 query 时为空字符串。 |
RAW_BODY | 原始请求体字符串。multipart/form-data 上传接口按空字符串参与签名。 |
路径说明:本文接口路径以 /openapi/v1/** 展示。如果直接访问 future-app 服务且部署保留应用上下文 /openapi/,完整请求路径可能是 /openapi/openapi/v1/**。签名中的 PATH 必须以实际 HTTP 请求路径为准。
1.4 签名步骤
- 生成毫秒级时间戳
timestamp。 - 生成随机
nonce。 - 准备原始请求体
rawBody。JSON 请求必须使用实际发送的 JSON 字符串;GET 请求和 multipart 上传请求使用空字符串。 - 按
METHOD|PATH|TIMESTAMP|NONCE|QUERY_STRING|RAW_BODY拼接签名串。 - 对签名串做一次 SHA-256,得到 32 字节摘要。
- 使用商户 Ed25519 私钥对摘要签名。
- 将签名结果转为 hex,放入
X-Signature。
示例签名串:
text
POST|/openapi/v1/cards/recharge|1784611200000|nonce-001||{"requestNo":"REQ001","cardId":"CARD001","amount":10,"currency":"USDT"}1.5 响应签名
FuturePay 在已完成 OpenAPI 鉴权的响应中写入平台签名 Header:
| Header | 类型 | 说明 |
|---|---|---|
X-FP-Api-Key | string | FuturePay 平台 Ed25519 公钥 hex。 |
X-FP-Timestamp | string | FuturePay 生成响应签名时的毫秒级时间戳。 |
X-FP-Signature | string | FuturePay 平台响应签名 hex。 |
X-FP-Body-Hash | string | 响应 body 的 SHA-256 hex。 |
商户验响应签名时,签名原文为:
text
X-FP-Timestamp|RAW_RESPONSE_BODY验签步骤:对上述原文做 SHA-256,再使用 X-FP-Api-Key 对应的 FuturePay 公钥验 X-FP-Signature。
1.6 鉴权失败响应
鉴权失败时 HTTP 状态码可能为 401 或 403,响应体仍使用统一结构:
json
{
"code": 401,
"msg": "SIGNATURE_INVALID: 签名校验失败",
"data": null
}常见错误码:
| 错误码 | HTTP 状态 | 说明 |
|---|---|---|
API_KEY_MISSING | 401 | 未传 X-Api-Key。 |
API_KEY_INVALID | 401 | API Key 不存在、格式错误或环境不匹配。 |
REQUEST_HEADER_MISSING | 401 | 缺少 X-Timestamp、X-Nonce 或 X-Signature。 |
CREDENTIAL_DISABLED | 403 | 凭证未启用、已禁用或已过期。 |
IP_NOT_ALLOWED | 403 | 请求来源 IP 不在白名单。 |
SIGN_TIMESTAMP_EXPIRED | 401 | 时间戳超出允许窗口或格式错误。 |
SIGNATURE_INVALID | 401 | 签名校验失败。 |
NONCE_REPLAYED | 401 | nonce 已在时间窗口内使用。 |
2. 公共响应
所有业务接口响应体使用以下外层结构:
| 字段 | 类型 | 说明 |
|---|---|---|
code | integer | 响应码。成功为 200。 |
msg | string | 响应信息。成功通常为 操作成功。 |
data | object/null | 业务数据。无业务数据时为 null。 |
分页数据结构:
| 字段 | 类型 | 说明 |
|---|---|---|
items | array | 当前页数据列表。 |
page | integer | 当前页码。 |
pageSize | integer | 每页数量。 |
total | integer | 总数。 |
3. 接口清单
| 接口名 | 方法 | 路径 |
|---|---|---|
| 查询服务健康状态 | GET | /openapi/v1/health |
| 注册用户 | POST | /openapi/v1/users/createUser |
| 上传 KYC 图片 | POST | /openapi/v1/users/uploadKycImage |
| 提交用户 KYC | POST | /openapi/v1/users/kyc |
| 查询用户 KYC 状态 | GET | /openapi/v1/users/kyc/status |
| 绑卡 | POST | /openapi/v1/users/bindCard |
| 用户开卡 | POST | /openapi/v1/cards/issueCard |
| 查询可办卡类型 | GET | /openapi/v1/cards/types |
| 分页查询开卡订单 | GET | /openapi/v1/cards/open-orders |
| 查询开卡订单详情 | GET | /openapi/v1/cards/open-orders/{cardOrderNo} |
| 查询用户开卡状态 | GET | /openapi/v1/cards/status |
| 查询卡详情 | GET | /openapi/v1/cards |
| 查询用户卡列表 | GET | /openapi/v1/cards/list |
| 查询卡敏感信息 | GET | /openapi/v1/cards/sensitive |
| 查询卡余额 | GET | /openapi/v1/cards/balance |
| 查询卡交易记录 | GET | /openapi/v1/cards/transactions |
| 创建卡激活申请 | POST | /openapi/v1/cards/activations |
| 锁卡 | POST | /openapi/v1/cards/lock |
| 解锁 | POST | /openapi/v1/cards/unlock |
| 重新激活 | POST | /openapi/v1/cards/reactivate |
| 挂失 | POST | /openapi/v1/cards/reportLost |
| 修改 PIN | POST | /openapi/v1/cards/pin |
| 卡充值 | POST | /openapi/v1/cards/recharge |
| 卡提现 | POST | /openapi/v1/funds/cardWithdrawals |
4. 健康检查
4.1 查询服务健康状态
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/health |
| 请求类型 | 无请求体 |
请求参数:无。
响应 data:无,成功时外层 msg 为 ok。
json
{
"code": 200,
"msg": "ok",
"data": null
}5. 用户接口
5.1 注册用户
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/users/createUser |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 用户邮箱。 |
firstName | string | 是 | 名。 |
lastName | string | 是 | 姓。 |
cardTypeId | string | 是 | 卡类型 ID。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 是否处理成功。 |
code | string | 平台响应码。 |
message | string | 平台响应说明。 |
externalUserId | string | 外部用户 ID。 |
email | string | 用户邮箱。 |
firstName | string | 名。 |
lastName | string | 姓。 |
currency | string | 币种。 |
status | string | 用户状态。 |
kycStatus | string | KYC 状态。 |
accountId | string | 账户 ID。 |
cardAccountId | string | 卡账户 ID。 |
createdAt | string | 创建时间。 |
5.2 上传 KYC 图片
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/users/uploadKycImage |
| 请求类型 | multipart/form-data |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
file | file | 是 | KYC 图片文件。签名时 RAW_BODY 使用空字符串。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 是否处理成功。 |
code | string | 平台响应码。 |
message | string | 平台响应说明。 |
file | string | 服务端文件名。 |
path | string | 服务端文件路径。 |
url | string | 图片访问地址。 |
contentType | string | 图片 MIME 类型。 |
size | integer | 图片大小,单位字节。 |
originalName | string | 原始文件名。 |
5.3 提交用户 KYC
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/users/kyc |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 用户邮箱。 |
name | string | 是 | 姓名。 |
birthday | string | 是 | 生日。 |
documentType | string | 是 | 证件类型。 |
documentNumber | string | 是 | 证件号码。 |
frontImageUrl | string | 是 | 证件正面图片地址。 |
backImageUrl | string | 是 | 证件背面图片地址。 |
memberId | string | 是 | 平台成员 ID。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 是否处理成功。 |
code | string | 平台响应码。 |
message | string | 平台响应说明。 |
externalUserId | string | 外部用户 ID。 |
kycRecordId | string | KYC 记录 ID。 |
status | string | 状态。 |
localStatus | string | 平台状态。 |
cardAccountId | string | 卡账户 ID。 |
accountId | string | 账户 ID。 |
5.4 查询用户 KYC 状态
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/users/kyc/status |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
email | string | 是 | 用户邮箱。 |
cardTypeId | string | 是 | 卡类型 ID。 |
响应 data:同“提交用户 KYC”。
5.5 绑卡
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/users/bindCard |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或供应商卡 ID,最大 128 位。 |
cardTypeId | string | 是 | 卡类型 ID,最大 64 位。 |
email | string | 是 | 预留邮箱,最大 128 位。 |
响应 data:同“查询卡详情”的 data。
6. 卡接口
6.1 用户开卡
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/issueCard |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
requestNo | string | 是 | 调用方业务幂等号,1 到 64 位可见 ASCII 字符,不能包含空格。 |
email | string | 是 | 用户邮箱。 |
cardTypeId | string | 是 | 卡类型 ID,最大 64 位。 |
embossedName | string | 否 | 卡面姓名。 |
cardSuffix | string | 否 | 指定卡号尾号。 |
mobile | string | 否 | 预留手机号。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
cardOrderNo | string | 平台开卡订单号。 |
requestNo | string | 调用方业务幂等号。 |
email | string | 用户邮箱。 |
memberId | string | 平台成员 ID。 |
cardTypeId | string | 卡类型 ID。 |
currency | string | 发卡币种。 |
type | string | 卡类型。 |
feeAmount | string | 开卡手续费金额,非科学计数法字符串。 |
feeAssetCode | string | 开卡手续费资产。 |
accepted | boolean | 是否已受理。 |
status | string | 平台开卡状态,常见值 PROCESSING、SUCCESS、FAILED。 |
failCode | string | 失败码。 |
failMessage | string | 失败说明。 |
last4 | string | 卡号后四位。 |
expiryMonth | string | 过期月份。 |
expiryYear | string | 过期年份。 |
createTime | string | 订单创建时间。 |
completedTime | string | 订单终态时间。 |
6.2 查询可办卡类型
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/types |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
cardType | string | 否 | 无 | 卡类型,如 PHYSICAL、VIRTUAL,最大 32 位。 |
currency | string | 否 | 无 | 币种,如 USD,最大 16 位。 |
cardScheme | string | 否 | 无 | 卡组织,如 VISA、MASTERCARD,最大 32 位。 |
page | integer | 否 | 1 | 页码,最小 1。 |
pageSize | integer | 否 | 20 | 每页数量,1 到 100。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
items | array | 卡类型列表。 |
items[].cardTypeId | string | 卡类型 ID。 |
items[].displayName | string | 展示名称。 |
items[].cardType | string | 卡类型。 |
items[].currency | string | 币种。 |
items[].cardScheme | string | 卡组织。 |
items[].priceAmount | string | 开卡价格金额。 |
items[].priceAssetCode | string | 开卡价格资产。 |
items[].cardImageUrl | string | 卡图片 URL。 |
items[].cardDesc | string | 卡描述。 |
items[].featureTags | array | 特性标签。 |
items[].sortOrder | integer | 排序。 |
page | integer | 当前页码。 |
pageSize | integer | 每页数量。 |
total | integer | 总数。 |
filters.cardTypes[] | array | 卡类型筛选项,元素含 value、label。 |
filters.currencies[] | array | 币种筛选项,元素含 value、label。 |
filters.cardSchemes[] | array | 卡组织筛选项,元素含 value、label。 |
bindCardEntry.enabled | boolean | 是否展示已有 FuturePay 卡绑卡入口。 |
bindCardEntry.path | string | 绑卡接口路径。 |
6.3 分页查询开卡订单
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/open-orders |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
requestNo | string | 否 | 无 | 调用方业务幂等号,最大 64 位。 |
memberId | string | 否 | 无 | 平台成员 ID,最大 64 位。 |
email | string | 否 | 无 | 用户邮箱。 |
cardTypeId | string | 否 | 无 | 卡类型 ID,最大 64 位。 |
status | string | 否 | 无 | 对外状态,允许 PROCESSING、SUCCESS、FAILED。 |
createTimeStart | string | 否 | 无 | 创建时间起点,格式 yyyy-MM-dd HH:mm:ss。 |
createTimeEnd | string | 否 | 无 | 创建时间终点,格式 yyyy-MM-dd HH:mm:ss。 |
page | integer | 否 | 1 | 页码,最小 1。 |
pageSize | integer | 否 | 20 | 每页数量,1 到 100。 |
响应 data:分页结构,items[] 字段同“查询开卡订单详情”。
6.4 查询开卡订单详情
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/open-orders/{cardOrderNo} |
| 请求类型 | path |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardOrderNo | string | 是 | 平台开卡订单号。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
cardOrderNo | string | 平台开卡订单号。 |
requestNo | string | 调用方业务幂等号。 |
memberId | string | 平台成员 ID。 |
email | string | 用户邮箱。列表中可能脱敏,详情中完整展示。 |
cardTypeId | string | 卡类型 ID。 |
currency | string | 卡产品币种。 |
type | string | 卡类型展示值。 |
feeAmount | string | 开卡手续费金额。 |
feeAssetCode | string | 开卡手续费资产。 |
accepted | boolean | 本地订单是否已经受理。 |
status | string | 对外状态。 |
failCode | string | 失败码。 |
failMessage | string | 失败说明。 |
last4 | string | 卡号后四位。 |
expiryMonth | string | 过期月份。 |
expiryYear | string | 过期年份。 |
createTime | string | 订单创建时间。 |
completedTime | string | 订单终态时间。 |
6.5 查询用户开卡状态
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/status |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
email | string | 是 | 无 | 用户邮箱。 |
cardTypeId | string | 是 | 无 | 卡类型 ID。 |
status | string | 否 | 无 | 卡状态。 |
page | integer | 否 | 1 | 页码。 |
pageSize | integer | 否 | 20 | 每页数量。 |
响应 data:分页结构,items[] 字段同“查询卡详情”。
6.6 查询卡详情
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardId | string | 是 | 卡 ID。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
cardId | string | 卡 ID。 |
cardAccountId | string | 卡账户 ID。 |
cardName | string | 卡名称。 |
cardImageUrl | string | 卡图片 URL。 |
cardNoMasked | string | 脱敏卡号。 |
status | string | 卡状态。 |
embossedName | string | 持卡人姓名。 |
network | string | 卡组织。 |
productId | string | 产品 ID。 |
productName | string | 产品名称。 |
cardType | string | 卡类型。 |
mobile | string | 手机号。 |
expiryMonth | string | 过期月份。 |
expiryYear | string | 过期年份。 |
last4 | string | 卡号后四位。 |
dailyLimit | number | 日限额。 |
singleTransactionLimit | number | 单笔限额。 |
availableLimit | number | 可用限额。 |
cardLimit | number | 卡限额。 |
cardEmail | string | 卡邮箱。 |
currency | string | 币种。 |
available | string | 可用余额。 |
ledger | string | 账面余额。 |
6.7 查询用户卡列表
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/list |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
email | string | 是 | 无 | 用户邮箱。 |
status | string | 否 | 无 | 卡状态。 |
page | integer | 否 | 1 | 页码。 |
pageSize | integer | 否 | 20 | 每页数量。 |
响应 data:分页结构,items[] 字段同“查询卡详情”。
6.8 查询卡敏感信息
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/sensitive |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或卡 ID。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
cardId | string | 卡 ID。 |
algorithm | string | 加密算法。 |
iv | string | AES-GCM IV。 |
authTag | string | AES-GCM 认证标签。 |
ciphertext | string | 加密内容。 |
cardNo | string | 卡号。 |
cvv | string | CVV。 |
expiryMonth | string | 过期月份。 |
expiryYear | string | 过期年份。 |
6.9 查询卡余额
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/balance |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或卡 ID。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
cardId | string | 卡 ID。 |
balances[] | array | 账户余额列表。 |
balances[].accountId | string | 账户 ID。 |
balances[].assets[] | array | 资产余额列表。 |
balances[].assets[].asset | string | 资产。 |
balances[].assets[].available | number | 可用余额。 |
balances[].assets[].balance | number | 账面余额。 |
note | string | 响应备注。 |
currency | string | 币种。 |
available | string | 可用余额。 |
ledger | string | 账面余额。 |
6.10 查询卡交易记录
| 项 | 内容 |
|---|---|
| 请求方法 | GET |
| 请求路径 | /openapi/v1/cards/transactions |
| 请求类型 | query |
请求参数:
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
cardNo | string | 是 | 无 | 卡号或卡 ID。 |
status | string | 否 | 无 | 交易状态。 |
currency | string | 否 | 无 | 币种。 |
fromTime | string | 否 | 无 | 开始时间。 |
toTime | string | 否 | 无 | 结束时间。 |
page | integer | 否 | 1 | 页码。 |
pageSize | integer | 否 | 20 | 每页数量。 |
响应 data:分页结构,items[] 包含:
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 交易 ID。 |
cardId | string | 卡 ID。 |
amount | string | 金额。 |
currency | string | 币种。 |
status | string | 状态。 |
occurredAt | string | 发生时间。 |
6.11 创建卡激活申请
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/activations |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或卡 ID,最大 128 位。 |
name | string | 是 | 用户姓名,最大 128 位。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
success | boolean | 是否处理成功。 |
code | string | 平台响应码。 |
message | string | 平台响应说明。 |
activationId | string | 激活申请 ID。 |
cardId | string | 卡 ID。 |
cardNo | string | 卡号。 |
cardAccountId | string | 卡账户 ID。 |
status | string | 状态。 |
createdAt | string | 创建时间。 |
6.12 锁卡
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/lock |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或卡 ID。 |
reason | string | 否 | 操作原因。 |
remark | string | 否 | 备注。 |
响应 data:null。
6.13 解锁
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/unlock |
| 请求类型 | application/json |
请求参数:同“锁卡”。
响应 data:null。
6.14 重新激活
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/reactivate |
| 请求类型 | application/json |
请求参数:同“锁卡”。
响应 data:null。
6.15 挂失
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/reportLost |
| 请求类型 | application/json |
请求参数:同“锁卡”。
响应 data:null。
6.16 修改 PIN
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/pin |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
cardNo | string | 是 | 卡号或卡 ID。 |
pin | string | 是 | PIN。 |
响应 data:null。
6.17 卡充值
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/cards/recharge |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
requestNo | string | 是 | 调用方业务幂等号,1 到 64 位可见 ASCII 字符,不能包含空格。 |
cardId | string | 是 | 卡 ID,最大 128 位。 |
amount | number | 是 | 充值金额,大于 0,最多 18 位整数和 18 位小数。 |
currency | string | 是 | 币种,最大 32 位。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
orderNo | string | 平台充值订单号。 |
requestNo | string | 调用方业务幂等号。 |
cardId | string | 卡 ID。 |
amount | string | 充值金额。 |
currency | string | 充值币种。 |
feeAmount | string | 手续费金额。 |
feeCurrency | string | 手续费币种。 |
accepted | boolean | 是否已受理。 |
status | string | 订单状态。 |
failCode | string | 失败码。 |
failMessage | string | 失败说明。 |
createTime | string | 订单创建时间。 |
completedTime | string | 订单终态时间。 |
7. 资金接口
7.1 卡提现
| 项 | 内容 |
|---|---|
| 请求方法 | POST |
| 请求路径 | /openapi/v1/funds/cardWithdrawals |
| 请求类型 | application/json |
请求参数:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
requestNo | string | 是 | 调用方业务幂等号,最大 64 位。 |
cardId | string | 是 | 卡 ID,最大 128 位。 |
amount | number | 是 | 提现金额,大于 0,最多 18 位整数和 18 位小数。 |
currency | string | 是 | 币种,最大 32 位。 |
响应 data:
| 字段 | 类型 | 说明 |
|---|---|---|
orderNo | string | 平台提现订单号。 |
requestNo | string | 调用方业务幂等号。 |
cardId | string | 卡 ID。 |
amount | number | 提现金额。 |
currency | string | 提现币种。 |
feeAmount | number | 总手续费金额。 |
platformFeeAmount | number | 平台手续费金额。 |
tenantFeeAmount | number | 租户手续费金额。 |
totalAmount | number | 提现总扣减金额。 |
accepted | boolean | 是否已受理。 |
status | string | 订单状态,常见值 PROCESSING、SUCCESS、FAILED。 |
failCode | string | 失败码。 |
failMessage | string | 失败说明。 |
createTime | string | 订单创建时间。 |
completedTime | string | 订单终态时间。 |