- 概要描述:
- 请求URL:
- 请求参数(O-非必传 ,M-必传,C-选传)
- 分账业务信息:ledger_biz
- 分账关系组:ledger_relation
- 手续费补贴业务信息:fee_subsidy_biz
- 营销补贴业务信息:market_subsidy_biz
- 营销补贴详情:subsidy_detail
- 259终端信息:terminal_info
- 微信原生请求参数:extend_params
- 微信单品优惠功能:detail
- 微信单品列表:goods_detail
- 支付宝原生请求参数:extend_params
- 支付宝订单包含的商品列表信息:goods_detail
- 支付宝业务扩展参数:extend_params
- 云闪付原生请求参数:extend_params
- (银联二维码)收款方附加数据:acqAddnData
- (银联二维码)订单信息:orderInfo
- (银联二维码)商品信息:goodsInfo
- 请求示例:
- 返回参数(O-非必传 ,M-必传,C-选传)
- pay_type=WX时返回:
- pay_type=ALI时返回:
- pay_type=UNIQR时返回:
- 返回示例:
概要描述:
除付款码支付场景以外,服务商系统先调用该接口在海科平台预下单,后再按Native、JSAPI等不同场景获取不同的返回值进行支付。
JSAPI支持微信公众号支付、微信小程序支付、支付宝生活号支付、银联JS支付。服务商可通过该接口包装成静态码收款、动态码收款等收单业务,前端公众号、小程序等页面需要服务商自行包装。
注:使用自己主体appid的服务商,微信支付宝业务需要按官方文档要求授权获取openid,银联JS使用海科提供的接口两种方式二选一获取,文档链接如下:
1)微信公众号(子商户):
获取userid(openid): https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=4_4
调js支付: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6
2)支付宝生活号
获取userid: https://docs.alipay.com/fw/api/105942
调js支付:https://alipay.open.taobao.com/docs/doc.htm?&docType=1&articleId=105591
3)银联js支付
重定向方式获取userid:http://39.106.84.215:8181/docs/saas/saas-1bjio41r2aqmm
POST方式获取userid:http://39.106.84.215:8181/docs/saas/saas-1ermmm684v7sa
请求URL:
请求参数(O-非必传 ,M-必传,C-选传)
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
merch_no | 海科商户编号 | String(32) | 海科商户编号 | M | |
pay_type | 支付类型 | String(10) | WX:微信支付 ALI:支付宝支付 UNIONQR:云闪付 |
M | |
pay_mode | 支付方式 | String(16) | NATIVE:扫码支付 JSAPI:JSAPI支付 |
M | |
appid | 公众账号ID | String(32) | 微信支付时使用:微信分配的公众账号 ID | C | |
openid | 用户标识 | String(128) | pay_mode=JSAPI时此参数必传 | C | |
sub_mch_id | 报备商户编号 | String(32) | 通道子商户号(ATU商户号) | O | |
out_trade_no | 服务商支付订单号 | String(32) | 服务商内部订单号(同一服务商下唯一) | M | |
total_amount | 交易金额 | String(12) | 上送银联的交易金额(单位:元,支持2位小数) | M | |
pn | SAAS终端号 | String(32) | SAAS终端号 | M | |
limit_pay | 限制贷记卡支付 | String(10) | 0:不限制贷记卡支付 1:禁止使用贷记卡支付。 不上送此参数时,limit_pay默认为0,即:不限制贷记卡支付 |
O | |
ledger_biz | 分账业务信息 | JSON | 分账业务信息 | O | |
fee_subsidy_biz | 手续费补贴业务信息 | JSON | 手续费补贴业务信息 | O | |
market_subsidy_biz | 营销补贴业务信息 | JSON | 营销补贴业务信息 | O | |
notify_url | 异步通知地址 | String(128) | 交易成功异步通知地址 | O | |
remark | 备注 | String(100) | 交易备注 | O | |
longitude | 经度 | String(10) | 经度 | O | |
latitude | 纬度 | String(10) | 纬度 | O | |
extend_params | 原生请求参数 | JSON | 原生参数,透传给通道的参数 | O | |
terminal_info | 终端信息 | JSON | 259终端信息 | O |
分账业务信息:ledger_biz
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
ledger_type | 分账类型 | String | REALTIME_SETTLE:实时分账 DELAY_SETTLE:延时分账 BALANCE_SPLIT:余额分账 |
REALTIME_SETTLE | M |
ledger_relation | 分账关系组 | JSONArray | 分账关系组,最多支持10组,实时分账时该参数必传。 | O |
分账关系组:ledger_relation
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
receive_no | 收账方(海科商户号) | String | 收账方(海科商户号) | 833102158124164 | M |
amt | 分账金额 | String | 分账金额(单位:元) | 1 | M |
手续费补贴业务信息:fee_subsidy_biz
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
subsidy_agent_no | 手续费补贴代理商编号 | String | 1、涉及到多营销主体补贴时该字段必填。 2、运营提供手续费补贴代理商编号 |
O | |
fee_subsidy_party | 手续费补贴账户 | String | 1、手续费补贴方联系商务或者运营获取 | M | |
fee_subsidy_amount | 手续费补贴金额 | String | 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送 2、手续费补贴金额不能大于手续费金额(可以等于手续费金额) 3、传递补贴手续费金额大于该笔手续费金额,按照该笔交易实际手续费金额补贴 4、金额以元为单位:1.5元,则上送1.5 |
O | |
fee_subsidy_rate | 手续费补贴费率 | String | 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送 2、手续费补贴费率不能大于(可以等于)商户该笔交易手续费费率 3、费率单位:费率值0.38%,则上送0.38 , 封顶金额以元为单位:1.5元,则上送1.5 |
银联二维码手续费补贴时上送一组费率 {“union_debit_rate”:”银联二维码借记卡费率”,”union_debit_max”:”银联二维码借记卡手续费封顶”,”union_credit_rate”:”银联二维码贷记卡费率”,”union_mix_rate”:”银联二维码1000元以下包括1000元费率”} | O |
fee_execute_rate | 手续费执行费率 | String | 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送 2、手续费执行费率只能小于(不可以等于)商户该笔交易手续费费率 3、商户该笔交易费率减去手续费执行费率就是该笔交易补贴费率 4、费率单位:费率值0.38%,则上送0.38 , 封顶金额以元为单位:1.5元,则上送1.5 |
银联二维码手续费补贴时上送一组费率 {“union_debit_rate”:”银联二维码借记卡费率”,”union_debit_max”:”银联二维码借记卡手续费封顶”,”union_credit_rate”:”银联二维码贷记卡费率”,”union_mix_rate”:”银联二维码1000元以下包括1000元费率”} | O |
营销补贴业务信息:market_subsidy_biz
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
subsidy_agent_no | 营销补贴代理商编号 | String | 1、涉及到多营销主体补贴时该字段必填。 2、运营提供营销补贴代理商编号 |
O | |
subsidy_detail | 营销补贴详情 | JSONArray | 营销补贴详情 | M |
营销补贴详情:subsidy_detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
party | 营销补贴账户 | String | 在海科开通的营销补贴账户号 | M | |
amt | 营销补贴金额 | String | 营销补贴金额(单位:元) | 1 | M |
259终端信息:terminal_info
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
location | 终端实时经纬度信息 | String | 受理终端设备实时经纬度信息,格式为纬度/经度, +表示北纬、东经,-表示南纬、西经 | +37.12/-121.213 | O |
device_ip | 商户端设备 IP | String | 商户端终端设备 IP 地址。注: 如经、维度信息未上送,该字段必送。 | O | |
encrypt_rand_num | 加密随机因子 | String(10) | 仅在被扫支付类交易报文中出现:若付款码为 19 位数字,则取后6 位;若付款码为 EMV二维码,则取其tag 57 的卡号/token 号的后 6 位 | O | |
secret_text | 密文数据 | String(16) | 仅在被扫支付类交易报文中出现:64bit 的密文数据, 对终端硬件序列号和加密随机因子加密后的结果。本子域取值为: 64bit 密文数据进行base64 编码后的结果。加密前8位,加密后应为12位 | O | |
app_version | 应用程序版本号 | String(8) | 终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格。 | O |
微信原生请求参数:extend_params
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
body | 商品描述 | String(127) | 商品简单描述,该字段请按照规范传递 | 腾讯充值中心-QQ会员充值 | O |
goods_tag | 微信订单优惠标记 | String(32) | 微信订单优惠标记,代金券或立减优惠功能的参数 | O | |
device_info | 微信设备号 | String(32) | 终端设备号(门店号或收银设备ID),注意:PC网页或JSAPI支付请传”WEB” | O | |
detail | 微信商品详情 | JSON | 微信单品优惠功能 | O |
微信单品优惠功能:detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
cost_price | 订单原价 | int | 1.商户侧一张小票订单可能被分多次支付,订单原价用于记录整张小票的交易金额。 2.当订单原价与支付金额不相等,则不享受优惠。 3.该字段主要用于防止同一张小票分多次支付,以享受多次优惠的情况,正常支付订单不必上传此参数。 |
608800 | O |
receipt_id | 商品小票ID | String(32) | 商家小票ID | O | |
goods_detail | 单品列表 | JSONArray | 单品信息,使用Json数组格式提交 | O |
微信单品列表:goods_detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
goods_id | 商品编码 | String(32) | 由半角的大小写字母、数字、中划线、下划线中的一种或几种组成 | M | |
wxpay_goods_id | 微信侧商品编码 | String(32) | 微信支付定义的统一商品编号(没有可不传) | O | |
goods_name | 商品名称 | String(256) | 商品的实际名称 | O | |
quantity | 商品数量 | int | 用户购买的数量 | M | |
price | 商品单价 | int | 单位为:分。如果商户有优惠,需传输商户优惠后的单价(例如:用户对一笔100元的订单使用了商场发的纸质优惠券100-50,则活动商品的单价应为原单价-50) | 528800 | M |
支付宝原生请求参数:extend_params
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
subject | 订单标题 | String(256) | 订单标题。注意:不可使用特殊字符,如 /,=,& 等。 | Iphone6 16G | O |
operator_id | 商户操作员编号 | String(28) | 商户操作员编号。新当面资金授权场景必填。 | yx_001 | O |
store_id | 商户门店编号 | String(32) | 商户门店编号。新当面资金授权场景必填。 | NJ_001 | O |
terminal_id | 商户机具终端编号 | String(32) | 商户机具终端编号 | NJ_T_001 | O |
goods_detail | 订单包含的商品列表信息 | JSONArray | 订单包含的商品列表信息,json数组格式。 | O | |
extend_params | 业务扩展参数 | JSON | 业务扩展参数 | O |
支付宝订单包含的商品列表信息:goods_detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
goods_id | 商品编号 | String(32) | apple-01 | M | |
goods_name | 商品名称 | String(256) | 商品的实际名称 | M | |
quantity | 商品数量 | int | 用户购买的数量 | M | |
price | 商品单价 | int | 商品单价,单位为元 | 2000 | M |
goods_category | 商品类目 | String(24) | 商品类目 | 34543238 | O |
categories_tree | 商品类目树 | String(128) | 商品类目树,从商品类目根节点到叶子节点的类目id组成,类目id值使用 | 分割 | |
body | 商品描述信息 | String(1000) | 商品描述信息 | O | |
show_url | 商品的展示地址 | String(400) | 商品的展示地址 | O |
支付宝业务扩展参数:extend_params
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
sys_service_provider_id | 系统商编号 | String(64) | 该参数作为系统商返佣数据提取的依据,请填写系统商签约协议的PID | O | |
hb_fq_num | 花呗分期数 | String | 使用花呗分期要进行的分期数 | O | |
hb_fq_seller_percent | 花呗分期数手续费 | String | 使用花呗分期需要卖家承担的手续费比例的百分值,传入100 代表100% | O | |
industry_reflux_info | 行业数据回流信息 | String(512) | 行业数据回流信息, 详见:地铁支付接口参数补充说明 | O | |
card_type | 卡类型 | String(32) | 卡类型 | O |
云闪付原生请求参数:extend_params
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
pnrInsIdCd | 银联服务商机构号 | String | 银联服务商机构号,参加银联云闪付活动时上送 | O | |
acqAddnData | 收款方附加数据 | JSON | 收款方附加数据 | O | |
qrCode | 二维码地址 | String | qrCode必传的值是展示的行业码的内容的值,JSAPI时必传。例如:扫码点餐场景下,qrCode就是传桌面上张贴的二维码的url值。 | O | |
userAuthCode | 用户授权码 | String | 用户授权码,JSAPI时必传 | O | |
frontUrl | 支付成功跳转地址 | String | 支付成功跳转地址 | O | |
frontFailUrl | 支付失败跳转地址 | String | 支付失败跳转地址 | O |
(银联二维码)收款方附加数据:acqAddnData
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
orderInfo | 订单信息 | JSON | 订单明细内容,如订单标 题、订单描述等 | O | |
goodsInfo | 商品信息 | JSONArray | 商品明细内容 | O |
(银联二维码)订单信息:orderInfo
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
title | 标题 | String | 标题 | M | |
description | 订单描述 | String | 订单描述 | O | |
dctAmount | 可优惠金额 | String | 当前订单可以参与优惠计算的金额 | O | |
addnInfo | 附加信息 | String | 内容自定义 | O |
(银联二维码)商品信息:goodsInfo
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
id | 标题 | String | 标题 | M | |
name | 商品名称 | String | 订单描述 | M | |
price | 商品单价 | String | 以分为单位 | M | |
quantity | 商品数量 | String | 商品数量 | M | |
category | 商品类目 | String | 商品类目 | O | |
addnInfo | 附加信息 | String | 附加信息 | O |
请求示例:
{
"agent_no": "IS88888888",
"req_id": "147258369",
"merch_no": "83388888888",
"pay_type": "ALI",
"pay_mode": "NATIVE",
"pn": "WZ000001",
"out_trade_no": "123456789",
"total_amount": "1",
"ledger_biz": {
"ledger_relation": [
{
"receive_no": "833102158124164",
"amt": "0.01"
},
{
"receive_no": "833102158124165",
"amt": "0.01"
}
],
"ledger_type": "REALTIME_SETTLE"
},
"fee_subsidy_biz": {
"fee_subsidy_party": "A00001",
"fee_subsidy_amount": "0.5"
},
"market_subsidy_biz": {
"subsidy_detail": [
{
"party": "A0001",
"amt": "0.5"
},
{
"party": "A0002",
"amt": "0.6"
}
],
"subsidy_agent_no": "M0001"
},
"sign": "5F154E14FDC459ED5DF628B56F61A609"
}
返回参数(O-非必传 ,M-必传,C-选传)
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
result_code | 响应码 | String | 10000代表成功 | M | |
result_msg | 响应信息 | String | M | ||
agent_no | 服务商编号 | String | M | ||
merch_no | 海科商户编号 | String | 海科商户编号 | M | |
pay_type | 支付类型 | String | WX:微信支付 ALI:支付宝支付 UNIONQR:云闪付 |
M | |
pay_mode | 支付方式 | String | NATIVE:扫码支付 JSAPI:JSAPI支付 |
M | |
out_trade_no | 服务商支付订单号 | String | M | ||
trade_no | 海科支付订单号 | String | M |
pay_type=WX时返回:
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
code_url | 二维码链接 | String | pay_mode=NATIVE时返回,可将该参数值生成二维码展示出来进行扫码支付 | C | |
wc_pay_data | 微信JS 调用数据 | String | pay_mode=JSAPI时返回,用于执行 JS 支付 | C |
pay_type=ALI时返回:
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
ali_qr_code | 二维码链接 | String | pay_mode=NATIVE时返回,可将该参数值生成二维码展示出来进行扫码支付 | C | |
ali_trade_no | 支付宝交易号 | String | pay_mode=JSAPI时返回,用于执行 JS 支付 | C |
pay_type=UNIQR时返回:
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
uniqr_qr_code | 二维码链接 | String | pay_mode=NATIVE时返回,可将该参数值生成二维码展示出来进行扫码支付 | C | |
uniqr_redirect_url | 云闪付JS | String | pay_mode=JSAPI时返回,用于执行 JS 支付 | C |
返回示例:
{
"agent_no": "IS88888888",
"merch_no": "83388888888",
"pay_type": "ALI",
"pay_mode": "NATIVE",
"out_trade_no": "123456789",
"trade_no": "AL88888888",
"ali_qr_code": "https://qr.alipay.com/bax00449ihxp9epamcwn50c2",
"return_code": "SUCCESS",
"return_msg": "成功",
"result_code": "10000",
"result_msg": "成功",
"sign": "1032A57E96E4048B27EC2A5C3CE5E663"
}
文档更新时间: 2025-03-12 17:30 作者:陈文