文档管理中心
您当前正在浏览HarmonyOS最新文档,覆盖已发布的所有API版本,可在API参考中筛选您使用的API版本。详细的版本配套关系请参考版本说明

预下单

功能介绍

开发者可以调用该接口获取预支付ID(prepayId)。

场景描述

在接入Payment Kit的单次支付功能前,开发者需要调用该接口获取到预支付ID(prepayId),用prepayId构建orderStr参数返回给客户端调用支付接口拉起华为支付收银台。

接口原型

  • 承载协议: HTTPS POST

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

  • 接口URL: https://petalpay-developer.cloud.huawei.com.cn/api/v2/aggr/preorder/create/app

    说明:元服务预下单接口请使用https://petalpay-developer.cloud.huawei.com.cn/api/v2/aggr/preorder/create/fa

  • 数据格式:

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

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

请求参数

Request Header

展开
参数 是否必选 参数类型 描述
Content-Type String 取值为:application/json; charset=UTF-8
PayMercAuth String 取值为:PayMercAuth的JSON字符串

Request Body

展开
参数 是否必选 类型 说明
appId String 应用ID。获取方式请参见AppID管理及关联
mercOrderNo String 商户订单号,由商户自己生成,商户需保证订单信息唯一性。最大长度46。
mercNo String 商户号。最大长度12。
tradeSummary String 交易的摘要。格式建议:“商户应用名称-商品描述”。最大长度128。
totalAmount Long 订单金额,必须为大于0的整数值,单位:分。
currency String

交易币种单位,最大长度为3。

CNY (默认,当前仅支持该币种单位)

goodsDetail List<GoodDetail> 订单详细信息列表。
allocationType String

分账类型。

- NO_ALLOCATION:不分账(默认)

- DELAY_ORDER_ALLOCATION:延时分账

说明: 使用该字段需联系开发者的商户对接人协助申请开通分账能力。分账相关操作参见分账交易管理

callbackUrl String 回调通知地址,通知URL必须为外网环境可直接访问的URL,要求为https地址。具体要求参考通知回调接口说明。最大长度为512。
payload String 商户预留信息,在查询和回调通知时会原样返回。最大长度255。
expireTime String

交易过期时间。此时间必须为准确的UTC时间。

格式要求:"yyyy-MM-dd'T'HH:mm:ss.SSSZ" 。

说明:

- 下单过期时间,不传默认2个小时,如果传递则最小值无限制,最大180天,超过180天系统会报错。

- 传已过时间可能会导致订单因过期、超时等原因异常关闭。

- 开发者可以参考获取对应的UTC过期时间示例来获取对应的UTC过期时间。

payer PayerIn 支付者信息。
selectPromotions SelectPromotions 平台券信息。

请求示例

收起
自动换行
深色代码主题
复制
  1. POST /api/v2/aggr/preorder/create/app HTTP/1.1
  2. Content-Type: application/json;charset=UTF-8
  3. PayMercAuth: {"callerId":"10132120***","traceId":"202305151026422776499","time":1684117602555,"authId":"120291744647139***","headerSign":"u+H1Oe3fXV9mGCES89XA7tSjp8+********************lOG7eAFfwjEWJu5JyvY5KunSeE6DiKs=","bodySign":"yWDtXOBqDoItPgHmF57L6U5G7F/*******************asPj10iUIFeaszpiRT2aQDaqLGaxvta6J5UxIUmAp+wGdV/juGEvQ="}
  4. Accept: application/json
  5. {
  6. "appId": "5765880207853***",
  7. "mercOrderNo": "czl00120240705***",
  8. "mercNo": "10132120***",
  9. "tradeSummary": "xx商城-手机",
  10. "totalAmount": 2,
  11. "currency": "CNY",
  12. "callbackUrl": "https://www.xxxxxx.com/hw/pay/callback",
  13. "payload": "example-payload",
  14. "expireTime": "2023-03-28T17:50:12.000+0800"
  15. }

响应参数

Response Header

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

Response Body

展开
参数 是否必选 参数类型 描述
resultCode String 返回码,“000000”表示成功,其他表示异常,请参见错误码
resultDesc String 结果描述。
subCode String 业务错误码。
subDesc String 业务错误描述信息。
sign String 签名值。用于开发者对响应报文进行防篡改验证。
prepayId String 预支付ID。有效期10分钟。
mercOrderNo String 商户订单号,由商户自己生成,商户需保证订单信息唯一性。最大长度46。

响应示例

收起
自动换行
深色代码主题
复制
  1. HTTP/1.1 200 OK
  2. Content-Type: application/json; charset=UTF-8
  3. {
  4. "resultCode": "000000",
  5. "resultDesc": "Success.",
  6. "sign": "MEQCIEIWzdpziRyTi8vhwWHFu********************0YAMabeCgTDG77e+2XJItvq/ZkIcCN5/B20pQ==",
  7. "prepayId": "12407091401520894056950***",
  8. "mercOrderNo": "czl00120240705***"
  9. }

错误码

resultCode非400000的错误码请查看公共错误码说明

展开
返回码 错误码 错误描述 解决方案
400000 UNKNOW_ERROR 服务暂不可用,请稍后重试 稍后重试。
400000 INVALID_ARGUMENTS 参数不合法 检查请求参数。
400000 INVALID_MERCNO 无效商户号 检查入参商户号是否正确。
400000 REJECTED_BY_RISK_CONTROL 风控拒绝 咨询华为支付团队,在线提单
400000 NO_MATCH_MATCHING_PRODUCT 未匹配到商户产品 检查商户产品是否配置正确。
400000 CHECK_ORDER_STATUS 订单状态异常 请检查是否使用相同订单重复下单。
400000 BANK_CARD_NOT_SUPPORT 银行卡不支持 更换其他银行卡重试。
400000 INVALID_APPID appId不匹配 检查appId是否正确且已经绑定商户号。
在 API参考 中进行搜索
请输入您想要搜索的关键词