商户管理 API

管理商户账户、API 密钥和系统设置的接口文档

10 分钟阅读
更新于 2025/8/13
API商户账户管理设置

商户管理 API 提供账户信息查询、API 密钥管理、系统设置配置等功能,帮助商户全面管理其 Payve 账户。

概述

认证方式
Bearer Token (JWT)
所需权限
merchant:read, merchant:write
速率限制
100 请求/分钟

商户信息

获取商户信息

获取当前商户的详细信息。

GET/merchant/profile

响应示例

更新商户信息

更新商户的基本信息。

PATCH/merchant/profile

请求参数

参数类型必填说明
companyNamestring公司名称
websitestring公司网站
notificationEmailstring通知邮箱
timezonestring时区设置
languagestring界面语言(zh, en)

请求示例

{
  "companyName": "New Company Name Ltd.",
  "website": "https://newwebsite.com",
  "notificationEmail": "new-notify@merchant.com",
  "timezone": "Asia/Hong_Kong",
  "language": "en"
}

API 密钥管理

获取 API 密钥列表

GET/merchant/api-keys

响应示例

创建 API 密钥

创建新的 API 密钥,用于程序化访问。

POST/merchant/api-keys

请求参数

参数类型必填说明
namestring密钥名称
permissionsarray权限列表
expiresIninteger过期时间(秒)
ipWhitelistarrayIP 白名单

权限列表

权限说明
payments:read查询支付订单
payments:write创建支付订单
payments:cancel取消支付订单
wallet:read查询钱包余额
wallet:write发起提现操作
webhooks:read查询 Webhook 配置
webhooks:write修改 Webhook 配置
merchant:read查询商户信息
merchant:write修改商户信息
reports:read查看报表数据

请求示例

{
  "name": "移动应用密钥",
  "permissions": [
    "payments:read",
    "payments:write"
  ],
  "expiresIn": 31536000,
  "ipWhitelist": []
}

响应示例

{
  "id": "key_ghi789",
  "name": "移动应用密钥",
  "key": "pk_live_zAb2Cd3e...",
  "secret": "sk_live_fGh4Ij5k...",
  "permissions": ["payments:read", "payments:write"],
  "status": "active",
  "createdAt": "2024-01-15T10:30:00Z",
  "expiresAt": "2025-01-15T10:30:00Z"
}

重要:密钥的 secret 只会在创建时显示一次,请妥善保存。如果丢失,需要重新创建密钥。

更新 API 密钥

更新现有 API 密钥的设置。

PATCH/merchant/api-keys/{keyId}
{
  "name": "更新后的名称",
  "permissions": ["payments:read", "wallet:read"],
  "ipWhitelist": ["192.168.1.0/24"],
  "status": "active"
}

撤销 API 密钥

撤销(删除)API 密钥,立即生效。

DELETE/merchant/api-keys/{keyId}
{
  "confirmDelete": true,
  "reason": "密钥泄露"
}

安全设置

双因素认证(2FA)

启用 2FA

POST/merchant/security/2fa/enable
{
  "type": "totp",
  "verificationCode": "123456"
}

响应包含 QR 码用于扫描:

{
  "secret": "JBSWY3DPEHPK3PXP",
  "qrCode": "data:image/png;base64,...",
  "backupCodes": [
    "ABC123",
    "DEF456",
    "GHI789"
  ]
}

禁用 2FA

POST/merchant/security/2fa/disable
{
  "verificationCode": "123456",
  "password": "currentPassword"
}

IP 白名单

设置 IP 白名单

限制只有特定 IP 地址可以访问 API。

POST/merchant/security/ip-whitelist
{
  "enabled": true,
  "addresses": [
    "192.168.1.1",
    "10.0.0.0/24",
    "2001:db8::/32"
  ],
  "verificationCode": "123456"
}

登录日志

查询登录历史

GET/merchant/security/login-history

通知设置

配置通知偏好

设置接收哪些类型的通知。

POST/merchant/notifications/preferences

通知事件类型

事件类型说明
payment.succeeded支付成功
payment.failed支付失败
payment.expired支付过期
withdrawal.completed提现完成
withdrawal.failed提现失败
security.login新登录
security.api_key_createdAPI 密钥创建
security.settings_changed安全设置更改
account.kyc_updatedKYC 状态更新
account.limit_reached达到限额

报表和统计

获取交易统计

GET/merchant/statistics

查询参数

参数类型说明
periodstring统计周期(today, week, month, year)
startDatestring开始日期
endDatestring结束日期
currencystring币种筛选

响应示例

导出报表

生成并下载详细报表。

POST/merchant/reports/export
{
  "type": "transactions",
  "format": "csv",
  "startDate": "2024-01-01",
  "endDate": "2024-01-31",
  "filters": {
    "status": "completed",
    "currency": "USDT"
  }
}

响应返回下载链接:

{
  "reportId": "rpt_abc123",
  "status": "processing",
  "downloadUrl": null,
  "estimatedTime": 30
}

查询报表状态:

GET/merchant/reports/{reportId}
{
  "reportId": "rpt_abc123",
  "status": "completed",
  "downloadUrl": "https://api.payve.io/downloads/rpt_abc123.csv",
  "expiresAt": "2024-01-16T10:30:00Z",
  "size": "1.2MB"
}

账户限额

查询账户限额

GET/merchant/limits

KYC 认证

提交 KYC 申请

POST/merchant/kyc/submit

查询 KYC 状态

GET/merchant/kyc/status

费率查询

获取当前费率

GET/merchant/fees

示例代码

完整的商户设置流程

监控和报表

最佳实践

1. API 密钥安全

  • 使用环境变量存储密钥
  • 定期轮换密钥
  • 为不同环境使用不同密钥
  • 设置最小必要权限

2. 账户安全

  • 启用双因素认证
  • 设置 IP 白名单
  • 定期检查登录日志
  • 及时更新通知邮箱

3. 监控和告警

相关文档