聚合公众号支付API
业务功能
聚合公众号支付(统一下单支付),支持微信公众号支付、微信小程序支付、支付宝生活号支付、银联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
请求参数(O-非必传 ,M-必传):
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
biz_type | 业务类型 | String | jsPay:聚合公众号 | jsPay | M |
trade_type | 支付方式 | String | 微信支付:WX 支付宝支付:ALI 银联二维码支付:UNIONQR | WX | M |
merch_no | 商户编号 | String | 商户在SaaS平台的编号 | a10253390 | M |
out_trade_no | 商户交易订单号 | String | 商户的交易订单编号(同一服务商下唯一) | 161018121614000624679888 | M |
total_amount | 订单金额 | String | 订单总金额,以元为单位 | 100 | M |
userid | 用户唯一标识 | String | (支付宝/微信/银联二维码)的用户唯一标识 | M | |
qrCode | 二维码地址 | String | 银联二维码交易必填,qrCode必传的值是展示的行业码的内容的值。例如:扫码点餐场景下,qrCode就是传桌面上张贴的二维码的url值 | M | |
userAuthCode | 用户授权码 | String | 银联二维码交易必填,用户授权码 | M | |
appid | 微信公众号appid | String | 微信交易必须上送 | O | |
notify_url | 通知地址 | String | 支付成功后的通知地址 | http://test.mdun.cn/jd/pay/notice | O |
sn | 厂商终端号 | String | (v1.05增加) | O | |
pn | 交易授权码 | String | 虚拟终端序列号(商户开放平台获取) | M | |
remark | 交易备注 | String | (v1.05增加) | O | |
limit_pay | 限制贷记卡支付 | String | (v1.19增加) 0:不限制贷记卡支付 1:禁止使用贷记卡支付。 不上送此参数时,limit_pay默认为0,即:不限制贷记卡支付 |
O | |
goods_name | 商品名称 | String | 商品名称(支付宝和微信支持) | 矿泉水 | O |
goods_tag | 订单优惠标记 | String | 订单优惠标记,使用代金券或立减优惠功能时需要的参数,说明详见微信参数代金券或立减优惠 | sz_haihui | O |
goods_detail | 商品详情 | JSONArray | 商品详细描述,参考下表(商户信息:goods_detail) | [ { "goods_id": "商品编码", "wxpay_goods_id": "1001", "goods_name": "", "quantity": 1, "price": 528800 }, { "goods_id": "商品编码", "wxpay_goods_id": "1002", "goods_name": "iPhone6s 32G", "quantity": 1, "price": 608800 } ] | O |
operator_id | 商户操作员编号 | String | 支付宝可用 | 001 | O |
store_id | 商户门店编号 | String | 支付宝可用 | 001 | O |
terminal_id | 商户机具终端编号 | String | 支付宝可用 | 11111111 | O |
device_info | 设备号 | String | 微信可用 | 11111111 | O |
termid | 银联终端号 | String | 银联终端号,参加银联云闪付活动时上送 | 11111111 | O |
pnrInsIdCd | 银联服务商机构号 | String | 银联服务商机构号,参加银联云闪付活动时上送 | 11111111 | O |
acq_addn_data | (银联二维码)收款方附加数据 | JSON | 涉及扫码点餐业务,交易需要在此上送商品信息 | O | |
terminal_info | 终端信息 | object | 【259新增】商户侧受理终端信息,字段详 细说明参考下文。 | O | |
scene_info | 场景信息 | object | 微信适用,非必填项,该字段用于上报场景信息,目前支持上报实际门店信息。该字段为 JSON 对象数据,对象格式为{"store_info":{"id":"门店 ID","name": "名称","area_code": " 编 码","address": " 地 址" }} | {"store_info":{"id":"门店 ID","name": "名称","area_code": " 编 码","address": " 地 址" }} | O |
hb_fq_num | 花呗分期数 | String | 仅支持传入3/6/12(仅支付宝支持) 接入指引:https://gw.alipayobjects.com/os/bmw-prod/936d185f-6fda-4369-b0a0-34c5e7dfe7e3.pdf | O | |
food_order_type | 点餐场景类型(仅支付宝支持) | String | 点餐场景类型: qr_order(店内扫码点餐) pre_order(预点到店自提) home_delivery (外送到家) direct_payment(直接付款) other(其它) |
O | |
frontUrl | 支付成功跳转地址 | String | 支付成功跳转地址(银联主扫支付时) | O | |
frontFailUrl | 支付失败跳转地址 | String | 支付失败跳转地址(银联主扫支付时) | O |
(微信支付宝)商户信息:goods_detail
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
goods_id | 商品的编号 | String | 微信支付宝通用 | M | |
goods_name | 商品名称 | String | 微信支付宝通用 | M | |
quantity | 商品数量 | int | 微信支付宝通用 | M | |
price | 商品单价 | int/price | 微信单位为分(使用int上送),支付宝单位为元(使用price上送) | M | |
goods_category | 商品类目 | String | 支付宝参数 | O | |
categories_tree | 商品类目树 | String | 支付宝参数 | O | |
body | 商品描述信息 | String | 支付宝参数 | O | |
show_url | 商品的展示地址 | String | 支付宝参数 | O |
(银联二维码)收款方附加数据:acq_addn_data
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
orderInfo | 订单信息 | JSON | 订单明细内容,如订单标 题、订单描述等 | O |
(银联二维码)订单信息:orderInfo
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
addnInfo | 附加信息 | String | 银联扫码点餐相关参数,格式参考银联侧要求,例如{brandId=值&storeId=值&tableNo=值} | O |
终端信息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 编码后的结果。 | O | |
app_version | 应用程序版本号 | String(8) | 终端应用程序的版本号。应用程序变更应保证版本号不重复。当长度不足时,右补空格 | O |
请求示例:
{
"accessid": "cpostest",
"trade_type": "WX",
"merch_no": "88888888",
"out_trade_no": "2020032513292797",
"total_amount": "20",
"appid": "WX88888888888",
"userid": "azasadrfdhgfffdderty",
"sn": "WSY196",
"pn": "S0000053",
"remark": "地方都是",
"limit_pay": "0",
"goods_name": "矿泉水",
"sign": "F87FD1F2C281453F60F92CC63BEA79BD"
}
返回参数:
参数 | 参数名称 | 类型 | 参数说明 | 样例 | 可空 |
---|---|---|---|---|---|
out_trade_no | 商户交易订单号 | String | 商户的交易订单编号 | 161018121614000624679888 | M |
trade_no | 交易订单号 | String | SaaS平台的交易订单编号 | M | |
channel_trade_no | 凭证条码订单号 | String | 仅支付宝和微信会返回(v1.24增加) | 161018121614000624679888 | O |
jspay_url | 银联支付页面地址 | String | 银联二维码支付下单成功后会返回,下单成功后需重定向到此地址完成支付 | O | |
alipay_no | 预下单订单号 | String | 支付宝交易下单成功后会返回 | 123456789 | O |
appid | 微信支付的appid | String | 微信交易下单成功后会返回 | O | |
timestamp | 交易时间戳 | String | 微信交易下单成功后会返回 | O | |
noncestr | 随机字符串 | String | 微信交易下单成功后会返回 | O | |
package | 订单详情扩展字符串 | String | 微信交易下单成功后会返回 | prepay_id=123456789 | O |
signtype | 签名方式 | String | 微信交易下单成功后会返回 | RSA | O |
paysign | 签名 | String | 微信交易下单成功后会返回 | C380BEC2BFD727A4B6845133519F3AD6 | O |
返回示例:
{
"out_trade_no": "202008271714035339186523",
"trade_no": "WX200827171426749573189299",
"channel_trade_no": "0111200827171447819307MC",
"appid": "wx2a0bae9e7b3aff33",
"openid": "o6t4W5waQRWf4v_ZFeiG70v15q1Q",
"timestamp": "1598519667",
"noncestr": "sz3Sl6qq4M7zMi3oHlZi0HHncVmqf6wt",
"package": "prepay_id=wx27171427618873be05ec39a3992e7c0000",
"signtype": "RSA",
"paysign": "KqIrBCQo80b5+KF2YbrDWYHtpVlSC7voOuUpXS6SaNIn7rM7+6xjZ7Dpt3LhP0RysM8jHW2RwLFkM4Gqf6hOKvi+piZIBGc8vLW/8qhLFCk5vrX93bWFsUIJMJsf75cEkpFjHelMjSb5dMcfmVL8qDi6qeLA5Iz4LfZ7T/UEidWFCYKjXz9m6CmXyWEb49oXezO5Uocq5b97uytY1jWP+D+/HqiHpdTflBAm45SZ8pxZevtt7DNzmgODJDBmmxD9drPZOyogOT3+eFGdUwIdK/bRACgTNOwVWKHtcHYIVla8mKwigv8a/ziJfxKZEpOy6gIDYrJ4hkX9hOnbjBOOYw==",
"return_code": 10000,
"sign": "741138032EFC152AED03ECD754DB1225"
}
文档更新时间: 2024-07-11 13:52 作者:陈文