1. 线上支付对接
昊天数据V4
  • 扫码POS接口
    • 获取设备支付参数
    • 公共参数&签名
    • 交易记录查询
    • 汇总查询
    • 退款订单查询
    • 支付订单查询
    • 发起退款
    • 设备初始化
    • 设备支付
  • 支付网关接口
    • 签名规则
    • 统一下单
    • 统一退款
    • 发起转账
    • 分账业务
    • 线上支付说明
  • 线上支付对接
    • 线上支付说明(Markdown 整理版)
  1. 线上支付对接

线上支付说明(Markdown 整理版)

来源:https://doc.haotiandate.com

说明:本文为该页面的 Markdown 结构化整理版,保留核心接入说明、支付方式、参数示例和常见问题,不逐字复刻原文。

支付对接

有线上支付需求的商户,在开户进件完成后,可联系商务开通 API 接口权限,并按线上支付流程进行接口对接。

注意事项:

  • 仅支持业务合规商户接入。
  • 网站需完成同主体备案。
  • APP 需完成上架。
  • 商户合规性审核通过后,才可正式使用线上支付能力。

支付方式

一、统一收银台

统一下单时传入:

wayCode = WEB_CASHIER

接口会返回 Web 统一收银台 URL。用户打开后,系统会根据访问终端展示对应支付方式。

打开场景支持的支付方式
PC 端聚合码、微信扫码、支付宝 PC 支付
H5 页面微信 H5、支付宝 H5、微信小程序、支付宝小程序、支付宝生活号
微信客户端微信公众号支付
支付宝客户端支付宝生活号支付

二、聚合码支付

统一下单时传入:

wayCode = QR_CASHIER

接口会返回二维码,用户使用手机扫码后完成支付。

channelExtra 的常见用法:

{}

默认使用 JSAPI 扫码支付。

{
  "entryPageType": "lite"
}

使用小程序支付方式。

三、移动 APP 支付

原生 APP 支付

统一下单时可传入以下支付方式:

WX_APP
ALI_APP

接口会返回微信或支付宝 APP 端调起收银台所需参数,业务系统配合官方 SDK 使用。

小程序包装(推荐)

统一下单时传入:

wayCode = QR_CASHIER

并在 channelExtra 中传入 entryLiteType。

微信小程序包装:

{
  "entryLiteType": "wxapp"
}

返回的 payData 示例:

{
  "path": "pages/hub/lite",
  "qrUrl": "https://pay.haotiandate.com/cashier/pages/hub/h5/?haotiandateToken=示例token",
  "ghid": "gh_5ea8094c2d68",
  "env": "release"
}

支付宝小程序包装:

{
  "entryLiteType": "aliapp"
}

返回的 payData 示例:

{
  "path": "pages/hub/lite",
  "qrUrl": "https://pay.haotiandate.com/cashier/pages/hub/h5/?haotiandateToken=示例token",
  "appId": "2021002172669744"
}

内嵌 H5 支付

统一下单时传入:

wayCode = QR_CASHIER

并在 channelExtra 中传入:

{
  "entryLiteType": "wxh5"
}

返回的 payData 为微信 H5 支付链接,APP 可通过 WebView 打开。

四、公众号或小程序支付

商户使用自有微信公众号或小程序支付

统一下单时传入:

wayCode = WX_JSAPI

或:

wayCode = WX_LITE

同时在 channelExtra 中传入 subAppId 和 openid。

{
  "openid": "o6BcIwvSiRpfS8e_UyfQNrYuk2LI",
  "subAppId": "wx08b5a41f7a27abf1"
}

说明:

  • subAppId 为商户自有公众号或小程序 AppID。
  • openid 为用户在该 AppID 下获取到的 OpenID。
  • 需提前联系运营人员,将该 subAppId 与服务商完成绑定后才可正常支付。

使用服务商公众号支付

统一下单时传入:

wayCode = QR_CASHIER

接口返回的 payData 为 URL 地址,在微信中打开即可支付。

商户小程序跳转服务商小程序支付

当商户小程序 AppID 无法完成绑定,或商户小程序无法使用间联支付时,可采用商户小程序跳转服务商小程序的方式。

统一下单时传入:

wayCode = QR_CASHIER

并在 channelExtra 中传入:

{
  "entryLiteType": "wxapp"
}

返回的 payData 示例:

{
  "path": "pages/hub/lite",
  "qrUrl": "https://pay.s.haotiandate.com/cashier/pages/hub/h5/?haotiandateToken=示例token",
  "appid": "wxfaff9394a9a745f0",
  "ghid": "gh_1aa9d5cd6e8a",
  "env": "release"
}

UniApp 跳转示例:

uni.navigateToMiniProgram({
  appId: appid,
  path: path + '?q=' + encodeURIComponent(qrUrl)
})

微信小程序跳转示例:

wx.navigateToMiniProgram({
  appId: appid,
  path: path + '?q=' + encodeURIComponent(qrUrl)
})

半屏小程序跳转示例:

uni.openEmbeddedMiniProgram({
  appId: appid,
  path: path + '?q=' + encodeURIComponent(qrUrl),
  envVersion: env
})

wx.openEmbeddedMiniProgram({
  appId: appid,
  path: path + '?q=' + encodeURIComponent(qrUrl),
  envVersion: env
})

支付成功后,发起小程序可接收 payOrderId 和 amount 等参数,用于处理后续业务流程。

onShow: function(options) {
  if (options && options.referrerInfo && options.referrerInfo.extraData) {
    console.log(options.referrerInfo.extraData)
    uni.navigateTo({
      url: '/pages/index/index'
    })
  }
}

五、微信 H5 支付

微信 H5 支付指在微信 App 外部,例如手机浏览器中使用微信支付。

原生微信 H5 支付

统一下单时传入:

wayCode = WX_H5

接口返回支付链接,用户在手机浏览器打开后完成支付。

小程序包装(推荐)

统一下单时传入:

wayCode = QR_CASHIER

并在 channelExtra 中传入:

{
  "entryLiteType": "wxh5"
}

返回数据示例:

{
  "code": 0,
  "data": {
    "mchOrderNo": "mho1670485372587",
    "orderState": 0,
    "payData": "https://wxaurl.cn/MxbZn7GrfNm",
    "payDataType": "payurl",
    "payOrderId": "P1600757794040180737"
  },
  "msg": "SUCCESS",
  "sign": "D768DADA6404C98F2167734E33E9EC17"
}

该支付链接具有时效性,通常与订单超时时间一致,且不可重复支付。

六、支付宝 H5 支付

原生支付宝 H5 支付

统一下单时传入:

wayCode = ALI_WAP

接口返回支付链接,用户在手机浏览器打开后完成支付。

小程序包装(推荐)

统一下单时传入:

wayCode = QR_CASHIER

并在 channelExtra 中传入:

{
  "entryLiteType": "alih5"
}

返回数据示例:

{
  "code": 0,
  "data": {
    "mchOrderNo": "mho1685287074463",
    "orderState": 0,
    "payData": "alipays://platformapi/startapp?appId=2021002172669744&page=pages/hub/lite&query=qrCode=https://pay.s.haotiandate.com/cashier/pages/hub/h5/?haotiandateToken=示例token",
    "payDataType": "payurl",
    "payOrderId": "P1662840631865769986"
  },
  "msg": "SUCCESS",
  "sign": "3B4B98987B347332E8FD4E94700D9896"
}

该支付链接具有时效性,通常与订单超时时间一致,且不可重复支付。

七、三方半屏小程序支付

部分三方支付公司支持半屏小程序跳转支付。调用方式如下:

统一下单时传入:

wayCode = WX_LITE

并在 channelExtra 中传入:

{
  "entryLiteType": "plugin"
}

从返回数据中读取 payData,该数据为三方支付返回的半屏小程序调起参数。

易宝支付示例

返回数据示例:

{
  "appId": "wx5d1c1b3649841824",
  "prePayTn": "pages/fromAppPay/index?state=示例state&customerNo=10090500173&goodsName=商品标题&customerRequestNo=P1821813998543446017&orderAmount=7.00&launchSource=MINI_PROGRAM"
}

微信小程序半屏跳转示例:

wx.openEmbeddedMiniProgram({
  appId: appId,
  path: prePayTn,
  envVersion: env
})

半屏小程序需要提前完成微信侧配置:

  1. 商户小程序按照微信官方半屏小程序能力进行开发。
  2. 在微信小程序管理后台「设置」-「第三方设置」-「半屏小程序管理」中发起申请。
  3. 易宝支付示例中申请的小程序 AppID 为 wx5d1c1b3649841824。

支付演示

原文包含 APP 支付演示和 Web 收银台体验入口。Web 收银台体验入口为:

https://pay.haotiandate.com/demo/haotiandate_cashier.html

常见问题

如何申请半屏小程序

商户需进入微信小程序管理后台:

设置 -> 第三方设置 -> 半屏小程序管理

添加服务商半屏小程序。具体添加哪个半屏小程序 AppID,需联系运营获取;授权通过后即可使用半屏小程序。

使用限制:

  1. 被半屏跳转的小程序需要通过来源小程序的调用申请,最多可申请 10 个小程序。
  2. 基础库低于 2.23.1 版本时,被半屏打开的小程序需要在 app.json 的 embeddedAppIdList 字段中声明。
  3. 当前小程序需为竖屏。
  4. 被半屏跳转的小程序需为非个人主体小程序,且不能是小游戏。

页面元信息

  • 文档更新时间:2025-02-12 16:27
  • 作者:周洋东
修改于 2026-06-07 07:17:50
上一页
线上支付说明
Built with