# 安全 (/zh/docs/conta-digital/security)

<QuickLinks>
  <QuickLink href="/docs/conta-digital/authentication" title="身份认证" />

  <QuickLink href="/docs/conta-digital/webhooks#签名" title="Webhook 签名" />
</QuickLinks>

## 凭证 [#凭证]

| 控制项  | 工作方式                                      |
| ---- | ----------------------------------------- |
| 账户   | 凭证只操作它所属的账户。没有任何路由接收 `accountId`。         |
| 密钥   | `client_secret` 只在创建时显示一次。PayZu 只保存它的哈希值。 |
| 最后使用 | PayZu 记录每个凭证的最后使用时间。                      |

作用域、IP 列表、轮换和吊销：见[身份认证](/docs/conta-digital/authentication)。

密钥错误和 `client_id` 不存在返回同样的响应：`401` 和 `TOKEN_INVALID`。

## Webhook 密钥 [#webhook-密钥]

每个 Webhook 都带有签名。所用的密钥取决于它发往哪里：

| 密钥   | 前缀       | 为发往何处的 Webhook 签名    | 获取与更换                                                                                                   |
| ---- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------- |
| 端点密钥 | `whsec_` | 已注册的端点               | 只在 `POST /transactions/webhooks` 的响应中返回。要更换，在控制台中用 PIN 生成新密钥。旧密钥立即失效。                                   |
| 回调密钥 | `cbsec_` | 操作中填写的 `callbackUrl` | 在 `POST /transactions/callback-secret` 中返回一次。`POST /transactions/callback-secret/rotate` 生成新密钥，旧密钥立即失效。 |

签名在 `X-Payzu-Signature` 中：它是 `<X-Payzu-Timestamp>.<raw body>` 的 HMAC-SHA256。时间戳单位为毫秒，每次尝试都会变化。校验方法见 [Webhooks](/docs/conta-digital/webhooks#签名)。

账户没有回调密钥时，带 `callbackUrl` 的操作会以 `412` 和 `CALLBACK_SECRET_MISSING` 被拒绝。

## 响应中的第三方数据 [#响应中的第三方数据]

| 数据                              | 返回方式                           |
| ------------------------------- | ------------------------------ |
| 提现和 Pix 复制粘贴码付款的目标密钥，在查询、列表和账单中 | 为 CPF、邮箱或电话时脱敏。CNPJ 和随机密钥完整显示。 |
| 无收款单的入账 Pix 中付款人的证件号            | CPF 脱敏，CNPJ 格式化。               |
| 收款方查询中的持有人                      | 全名、CPF 脱敏，账号只显示最后四位。           |
| 收款中发送的 `ipAddress`              | 不会出现在任何响应或 Webhook 中。          |
| 其他账户的资源                         | `404`，与不存在的资源相同。               |