来源:https://doc.haotiandate.com
说明:本文为该页面的 Markdown 结构化整理版,保留核心接入说明、支付方式、参数示例和常见问题,不逐字复刻原文。
有线上支付需求的商户,在开户进件完成后,可联系商务开通 API 接口权限,并按线上支付流程进行接口对接。
注意事项:
统一下单时传入:
wayCode = WEB_CASHIER
接口会返回 Web 统一收银台 URL。用户打开后,系统会根据访问终端展示对应支付方式。
| 打开场景 | 支持的支付方式 |
|---|---|
| PC 端 | 聚合码、微信扫码、支付宝 PC 支付 |
| H5 页面 | 微信 H5、支付宝 H5、微信小程序、支付宝小程序、支付宝生活号 |
| 微信客户端 | 微信公众号支付 |
| 支付宝客户端 | 支付宝生活号支付 |
统一下单时传入:
wayCode = QR_CASHIER
接口会返回二维码,用户使用手机扫码后完成支付。
channelExtra 的常见用法:
{}
默认使用 JSAPI 扫码支付。
{
"entryPageType": "lite"
}
使用小程序支付方式。
统一下单时可传入以下支付方式:
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"
}
统一下单时传入:
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 支付指在微信 App 外部,例如手机浏览器中使用微信支付。
统一下单时传入:
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"
}
该支付链接具有时效性,通常与订单超时时间一致,且不可重复支付。
统一下单时传入:
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
})
半屏小程序需要提前完成微信侧配置:
wx5d1c1b3649841824。原文包含 APP 支付演示和 Web 收银台体验入口。Web 收银台体验入口为:
https://pay.haotiandate.com/demo/haotiandate_cashier.html
商户需进入微信小程序管理后台:
设置 -> 第三方设置 -> 半屏小程序管理
添加服务商半屏小程序。具体添加哪个半屏小程序 AppID,需联系运营获取;授权通过后即可使用半屏小程序。
使用限制:
app.json 的 embeddedAppIdList 字段中声明。