| 承载协议 | HTTPS POST |
|---|---|
| 接口方向 | 开发者服务器-> 华为支付服务器 |
| 接口URL | https://petalpay-developer.cloud.huawei.com.cn/api/v1/partner/contract/presign/jsapi |
| 数据格式 | 请求消息:Content-Type: application/json 响应消息:Content-Type: application/json |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 取值为:application/json; charset=UTF-8 |
| PayMercAuth | 是 | String | 取值为:PayMercAuth的JSON串 |
| 参数 | 是否必选 | 类型 | 说明 |
|---|---|---|---|
| spAppId | 是 | String | 平台类商户/服务商关联的AppID(参考商户号绑定AppID)。 |
| spMercNo | 是 | String | 服务商户号。最大长度12。 |
| subAppId | 否 | String | 特约商户关联的AppID(参考商户号绑定AppID)。 |
| subMercNo | 是 | String | 平台子商户/特约商户商户号。最大长度12。 |
| planId | 是 | String | 协议模板ID,该模板ID是商户在向华为支付提交代扣权限申请时由华为支付生成。 |
| mercContractCode | 是 | String | 商户签约协议号。商户请求签约时传入的签约协议号,商户侧须唯一。最大长度64。 |
| callbackUrl | 是 | String | 签约完成后的回调地址,最大长度为512。 |
| payer | 否 | 支付者信息。 |
POST /api/v1/partner/contract/presign/jsapi HTTP/1.1
Content-Type: application/json;charset=UTF-8
PayMercAuth: {"callerId":"10132120***","traceId":"202305151026422776499","time":1684117602555,"authId":"120291744647139***","headerSign":"u+H1Oe3fXV9mGCES89XA7tSjp8+TELYgG4bKyECwrVGwwExHtdWTnKc4WvEpfjLzpzKE2/+KYaq1jDH/+VmefC29ZXpK54c5DwKJH7rMv6SBj/z0UcN9QrxXSeR8r6X46b7491N1jKg/lOG7eAFfwjEWJu5JyvY5KunSeE6DiKs=","bodySign":"yWDtXOBqDoItPgHmF57L6U5G7F/LhsILChu8YSpVV0HwRQCzdGAz53wDkCRLiAEVGDDu6E6KxPAHE0TIkTxHMcUWx7N6405QrcBimTcTN7pBpFA7pvFexUasPj10iUIFeaszpiRT2aQDaqLGaxvta6J5UxIUmAp+wGdV/juGEvQ="}
Accept: application/json
{
"spAppId": "101831987",
"callbackUrl": "https://www.xxxxxx.com/hw/pay/callback/callback",
"mercContractCode": "2024020316555432***",
"spMercNo": "101540000***",
"subMercNo": "101320000***",
"planId": "1***"
}| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| Content-Type | 是 | String | 取值为:application/json; charset=UTF-8 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| resultCode | 是 | String | 返回码,"000000"表示成功,其他表示见错误码。 |
| resultDesc | 是 | String | 结果描述。 |
| subCode | 否 | String | 业务错误码。 |
| subDesc | 否 | String | 业务错误描述信息。 |
| sign | 是 | String | 签名值。用于开发者对响应报文进行防篡改验证。 |
| preSignNo | 是 | String | 预签约号。 |
HTTP/1.1 200 OK
Content-Type: application/json; charset=UTF-8
{
"resultCode": "000000",
"resultDesc": "Success.",
"sign": "MEQCIEIWzdpziRyTi8vhwWHFuDdxfsi********************BCHljer0YAMabeCgTDG77e+2XJItvq/ZkIcCN5/B20pQ==",
"preSignNo": "27713875*****"
}(resultCode非400000的错误码请看公共错误码说明)
| resultCode | resultDesc | subCode | subDesc |
|---|---|---|---|
| 400000 | 业务处理失败 | INVALID_ARGUMENTS | 参数不合法 |
| 400000 | 业务处理失败 | NO_MATCH_MATCHING_PRODUCT | 未匹配到商户产品 |
| 400000 | 业务处理失败 | INVALID_APPID | appId不匹配 |
| 400000 | 业务处理失败 | INVALID_MERCNO | 无效商户号 |