Skip to content

公证下单

POST /openapi/v1/notary/orders/create

公证业务的入口接口。渠道用户先通过 订阅业务绑卡流程 在 cxh 完成绑卡,公证下单时传 bindOrderNo;cxh 按公证收费向用户扣款,扣款成功后启动公证出证。

请求

请求字段(扁平结构,无嵌套子对象):

字段必填说明
settlementMode固定 CXH_DEDUCT(cxh 代扣模式)
externalOrderNo渠道侧订单号;同一渠道下 (channelId, externalOrderNo) 全局唯一
fileSha256待公证文件的 SHA-256 摘要,64 hex 小写字符串。渠道在本地对文件二进制原始字节计算(不上传文件本体)。常见命令:shasum -a 256 <file> / sha256sum <file> / openssl dgst -sha256 <file>;Node crypto.createHash('sha256');Java MessageDigest.getInstance("SHA-256")
fileName文件名(字符串)
notaryFeeCent公证收费(整数,单位分),> 0。cxh 据此向用户扣款 + 计算渠道分账;须在合同约定的最小 / 最大金额区间内,越界拒 451010
label业务标签(字符串)
notifyUrl异步状态回调地址(当前不启用公证事件推送,渠道应主动调 公证查询 轮询状态)
subjectTypePERSON / COMPANY
subjectName签约方展示名(明文字符串)
idCardEncrypted身份证 AES-CBC 密文;subjectType=PERSON 必填,COMPANY 不传
phoneEncrypted手机号 AES-CBC 密文
companyCodeEncrypted统一社会信用代码 AES-CBC 密文;subjectType=COMPANY 必填,PERSON 不传
bindOrderNo已在 cxh 完成绑卡的协议单号

PII 加密详见 签名 + 字段加密;AES 密钥使用 channel aesKey

响应

json
{
  "code": "0",
  "message": "success",
  "data": {
    "notaryOrderNo": "<64 位 ID 字符串>",
    "externalOrderNo": "<入参回显>",
    "createTime": "yyyy-MM-dd HH:mm:ss",
    "status": "<状态值,见下表>",
    "settlementMode": "CXH_DEDUCT",
    "settlementPriceCent": 0,
    "certificateAccessUrl": null,
    "failReason": null
  },
  "requestId": "...",
  "timestamp": "yyyy-MM-dd HH:mm:ss",
  "success": true
}

订单状态

status 字段的取值与含义:

status含义备注
CREATED已创建,待扣款短暂中间态(罕见)
CHARGING扣款中扣款进行中,渠道可轮询 公证查询 等待结果
PAID已支付,待出证短暂中间态
FULFILLING出证中公证流程进行中,稍后查询可拿到结果
SUCCESS公证成功certificateAccessUrl 非空时可直接下载;若为空,公证函仍在生成,稍后调 公证查询 即可拿到
FAILED失败failReason 非空

幂等

(channelId, externalOrderNo) 首单命中直接返回首单,不重复建单。幂等命中且扣款仍在 WAIT 状态时,自动重驱扣款;若已进入 CHARGING / FAILED / SUCCESS 等状态,直接返回当前订单状态。

错误码

详见 错误码。常见:451010(公证收费超出区间) / 403001(渠道未授权) / 401xxx(鉴权失败) / 400001(参数错误)。

沙箱 happy path 示例

完整 curl 调用顺序示例参见 接入流程 § 首次成功调用示例;签名计算与 PII 加密详见 签名 + 字段加密

对接咨询 · bd@cxh.me / tech@cxh.me