# 实名信息预验证

> phone | 2in1 | tablet

## 功能介绍

> phone | 2in1 | tablet

开发者可以调用该接口发起实名信息预验证，获取预验证ID（preVerifyId）。

## 场景描述

> phone | 2in1 | tablet

在接入实名信息验证服务前，开发者需要调用该接口获取到preVerifyId，然后返回给客户端调用验证接口拉起华为支付实名信息验证页面。

## 接口原型

> phone | 2in1 | tablet

* **承载协议：** HTTPS POST

* **接口方向：** 开发者服务器 -> 华为支付服务器

* **接口URL：** https://petalpay-developer.cloud.huawei.com.cn/api/v1/realname/verification/preverify

* **数据格式：**

  请求消息：Content-Type: application/json; charset=UTF-8

  响应消息：Content-Type: application/json; charset=UTF-8

## 请求参数

> phone | 2in1 | tablet

**Request Header**

|参数|是否必选|参数类型|描述|
|:-----------|:---|:-----|:-------------------------------------------------------------------------------------------------------------------|
|Content-Type|是|String|取值为：application/json; charset=UTF-8|
|PayDevAuth|是|String|取值为：[PayDevAuth](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/payment-model#paydevauth)的JSON字符串|

**Request Body**

|参数|是否必选|类型|说明|
|:-------------|:---|:-----|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|credentialType|是|String|证件类型。 01：身份证|
|credentialIdNo|是|String|经过sha512做哈希处理后的证件编号。最大长度为128。|
|realName|是|String|经过sha512做哈希处理后的用户姓名。最大长度为128。|
|openId|是|String|用户对外展示的ID（获取方式请参见[获取用户信息](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/account-api-get-user-info-overview)）。长度范围为1-512。 **说明：** 入参中的实名信息，必须和 openId用户下的实名信息保持一致。|

## 请求示例

> phone | 2in1 | tablet

```json
POST /api/v1/realname/verification/preverify HTTP/1.1
Content-Type: application/json;charset=UTF-8
PayDevAuth: {"clientId":"10132120***","accessToken":"DQEBALZh0tlSKKiNDJ9lYYg0Du0EB3E6PvcGlFsyB*******************XR+k2EX8ry1IGdDUZG1PjfcWQ94xnK7w3ag==","traceId":"202305151026422776499","time":1684117602555, "developerSignKeyId":"76e5ee072756417a829201fa********************f9a292d23ca949202c3dac548120", "petalpaySignKeyId":"DEVELOPER_SIGN_EB48251AC36***", "headerSign":"u+H3F14Oe3fS34d32S9mGCES89XA7tSjp8+********************lOGS7eADFfw2E45WJu52vY5Ku4KGcSCnSeE6DiKs=", "bodySign":"y3DFDtDLXDBqDoItDgHmFJ343H57LKH6U5G7F/*******************asPj10iDUIFeHaszDFHpiHRT23LGHaxvHJKta6J5UxIUmApL+wGdV/juGEvQ="}
Accept: application/json
{
  "credentialType": "01",
  "credentialIdNo": "a27aad63294be3fbb164e3d3d4634956cc6dc7427860*******************87798851b9fcd0f828ba78cfd99bf3d64bfa83815659e989f50d537",
  "realName": "a24374f8658456db7a20cb73001f28f886c31232097bda8*******************ecbb12eb7db7edb57c507ebefdea4ab66f8f2f6acc835355fbef7299c5c48806a",
  "openId": "88e9eae22447d7a138357cbf0af2d9a3a84819ec18419631c*******************2b9cc4e33ad29e2048318b47ec98be41cecdd4e153e6216a6bd60851"
}
```

## 响应参数

> phone | 2in1 | tablet

**Response Header**

|参数|是否必选|参数类型|描述|
|:-----------|:---|:-----|:----------------------------------|
|Content-Type|是|String|取值为：application/json; charset=UTF-8|

**Response Body**

|参数|是否必选|参数类型|描述|
|:----------|:---|:-----|:-----------------------------------------------------------------------------------------------------------------------------------|
|resultCode|是|String|返回码，"000000"表示成功，其他表示异常，请参见[错误码](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/payment-error-code-rest#公共错误码说明)。|
|resultDesc|是|String|结果描述。|
|subCode|否|String|业务错误码。|
|subDesc|否|String|业务错误描述信息。|
|sign|是|String|签名值。用于开发者对响应报文进行防篡改验证。|
|preVerifyId|是|String|预验证ID。|

## 响应示例

> phone | 2in1 | tablet

```json
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
  "resultCode": "000000",
  "resultDesc": "Success.",
  "sign": "MEQCIEIWzdpziRyTi8vhwWHFu********************0YAMabeCgTDG77e+2XJItvq/ZkIcCN5/B20pQ==",
  "preVerifyId": "12407091401520894056950***"
}
```

## 错误码

> phone | 2in1 | tablet

**resultCode** 非400000的错误码请查看[公共错误码说明](https://developer.huawei.com/consumer/cn/doc/harmonyos-references/payment-error-code-rest#公共错误码说明)。

|**返回码**|**错误码**|**错误描述**|解决方案|
|:------|:----------------------------|:-----------------------|:---------------------|
|400000|UNKNOW_ERROR|服务暂不可用，请稍后重试|稍后重试。|
|400000|INVALID_ARGUMENTS|参数不合法|检查请求参数。|
|400000|CLIENT_ID_PARAM_ERROR|CLIENT_ID错误|检查请求头参数clientId参数是否正确。|
|400000|INVALID_OPENID|OPEN_ID错误|检查请求入参openId是否正确。|
|400000|DAILY_LIMIT_EXCEEDED|调用服务超过当日最大限制，请明天重试或联系开发者|第二天再重试。|
|400000|ID_TYPE_NOT_SUPPORT|证件类型不支持|检查请求入参是否正确，符合相关枚举定义类型。|
|400000|RARE_CHARACTERS_NOT_SUPPORTED|不支持生僻字|检查请求参数。|

