概要描述:

除付款码支付场景以外,服务商系统先调用该接口在海科平台预下单,后再按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
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
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
(银联二维码)收款方附加数据: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"
    },
    "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"
}
文档更新时间: 2024-08-14 18:06   作者:陈文