README_MERCHANT_AUTH.md 4.4 KB

alien-store-platform Web端商户平台 - 身份验证接口配置说明

接口说明

本次开发在 alien-store-platform 服务中新增了商户身份信息验证接口,复用了 alien-store 服务中的支付宝身份验证业务逻辑。

接口地址

GET /merchantAuth/verifyIdInfo

请求参数

参数名 类型 必填 说明 默认值
name String 姓名 -
idCard String 身份证号 -
appType Integer 端区分(0:用户, 1:商家) 1

请求示例

GET /merchantAuth/verifyIdInfo?name=张三&idCard=440123199001011234&appType=1

响应示例

成功响应:

{
  "code": 200,
  "success": true,
  "msg": "身份验证成功",
  "data": "身份验证成功"
}

失败响应:

{
  "code": 500,
  "success": false,
  "msg": "该身份证已实名认证过",
  "data": null
}

{
  "code": 500,
  "success": false,
  "msg": "身份证号与姓名不一致,请检查后重新填写",
  "data": null
}

业务逻辑说明

  1. 身份证重复校验:根据 appType 参数判断查询用户表(life_user)或商家表(store_user),检查该身份证和姓名是否已实名认证
  2. 支付宝身份验证:调用支付宝二要素核验接口,验证身份证号与姓名是否一致
  3. 返回验证结果:根据验证结果返回相应的成功或失败信息

Nacos 配置要求

在 Nacos 配置中心的 alien-store-platform.yml 配置文件中,需要添加以下支付宝相关配置:

# 支付宝商家端配置
app:
  business:
    # 商家端应用ID
    appId: your_app_id_here
    # 商家端应用私钥
    appPrivateKey: your_private_key_here
    # 商家端应用公钥
    appPublicKey: your_public_key_here
    
    # Windows环境证书路径
    win:
      # 应用公钥证书文件路径
      appCertPath: D:/path/to/appCertPublicKey.crt
      # 支付宝公钥证书文件路径
      alipayPublicCertPath: D:/path/to/alipayCertPublicKey_RSA2.crt
      # 支付宝根证书文件路径
      alipayRootCertPath: D:/path/to/alipayRootCert.crt
    
    # Linux环境证书路径
    linux:
      # 应用公钥证书文件路径
      appCertPath: /path/to/appCertPublicKey.crt
      # 支付宝公钥证书文件路径
      alipayPublicCertPath: /path/to/alipayCertPublicKey_RSA2.crt
      # 支付宝根证书文件路径
      alipayRootCertPath: /path/to/alipayRootCert.crt

注意事项:

  • 配置值需要从 alien-store 服务的 Nacos 配置中获取,确保使用相同的支付宝账号配置
  • 证书文件需要上传到服务器对应的路径
  • Windows 和 Linux 环境的证书路径需要分别配置

代码结构

新增文件列表

alien-store-platform/
├── src/main/java/shop/alien/storeplatform/
│   ├── controller/
│   │   └── MerchantAuthController.java          # 商户身份验证控制器
│   ├── service/
│   │   ├── MerchantAuthService.java             # 商户身份验证服务接口
│   │   └── impl/
│   │       └── MerchantAuthServiceImpl.java     # 商户身份验证服务实现
│   └── util/
│       └── AliApiUtil.java                      # 支付宝API工具类

核心类说明

  1. MerchantAuthController:Web端商户身份验证管理控制器

    • 提供 /merchantAuth/verifyIdInfo 接口
    • 参数校验和日志记录
  2. MerchantAuthService & MerchantAuthServiceImpl:商户身份验证服务

    • 实现身份证重复校验逻辑
    • 调用支付宝验证接口
    • 处理返回结果
  3. AliApiUtil:支付宝API工具类

    • 封装支付宝身份证二要素核验接口
    • 支持Windows和Linux环境自适应
    • 订单号生成等公共方法

技术栈

  • Spring Boot 2.3.2.RELEASE
  • MyBatis-Plus 3.2.0
  • 支付宝 SDK
  • Swagger 2.9.2

测试访问

启动服务后,可通过以下方式访问:

  1. Swagger UIhttp://localhost:{port}/doc.html
  2. 直接调用http://localhost:{port}/merchantAuth/verifyIdInfo?name=xxx&idCard=xxx&appType=1

注意事项

  1. 确保 Nacos 配置中心已添加必要的支付宝配置
  2. 确保支付宝证书文件已上传到指定路径
  3. 接口调用时需要传递正确的 appType 参数
  4. 身份证号和姓名必须真实有效才能通过支付宝验证