公众号支付API

业务功能
公众号支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:
1)用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付
2)用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付
3)将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付

测试url:
http://47.95.131.62:8080/api/v1/pay/wx/jsapipay

请求参数(O-非必传 ,M-必传):

参数 参数名称 类型 参数说明 样例 可空
merch_no 商户编号 String 商户在SaaS平台的编号 a10253390 M
channel_no 微信渠道号 String 服务商通过海科在微信申请的渠道编号 O
channel_merch_no 渠道商户编号 String 商户在微信申请的编号 O
out_trade_no 服务商交易订单号 String 服务商的交易订单编号(同一服务商下唯一) 161018121614000624679888 M
total_amount 订单金额 String 订单总金额,以元为单位 100 M
ledger_type 分账类型 String 不传默认不分账
REALTIME_SETTLE:实时分账
DELAY_SETTLE:延时分账
如果上送此字段,需要保证服务商分账业务已开通,否则不允许交易 O
ledger_relation 分账交易关系组 JSONArray 分账交易关系组(v1.18增加) 如果上送此字段,需要保证服务商分账业务已开通,否则不允许交易 O
appid 微信支付的appid String 微信支付的appid M
openid 微信支付的用户openid String 微信支付的用户openid M
notify_url 通知地址 String 支付成功后的通知地址 http://test.mdun.cn/jd/pay/notice O
sn 厂商终端号 String (v1.05增加) O
pn SAAS终端号 String SAAS终端号 若使用海科商户后台或绑定海科语音设备则上送pn值,pn值通过终端绑定接口获得 O
remark 交易备注 String (v1.05增加) O
limit_pay 限制贷记卡支付 String (v1.19增加)
0:不限制贷记卡支付
1:禁止使用贷记卡支付。
不上送此参数时,limit_pay默认为0,即:不限制贷记卡支付
O
subsidy_info 手续费补贴信息 JSON 1、需要保证服务商补贴业务已开通,否则不允许交易
2、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送

O
market_subsidy_agent_no 营销补贴代理商编号 Sting 1、涉及到多营销主体补贴时该字段必填。
2、运营提供营销补贴代理商编号
C
market_subsidy_info 营销补贴信息 JSONArray 营销补贴信息详情,单笔交易支持多个补贴方且单笔交易总补贴金额需小于订单金额。
注意:服务商需开通营销补贴功能,且补贴金额需小于等于营销补贴账户余额
O
goods_name 商品名称 String 商品名称 矿泉水 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

补贴信息subsidy_info 字段说明

参数 参数名称 类型 参数说明 样例 可空
fee_subsidy_agent_no 手续费补贴代理商编号 Sting 1、涉及到多营销主体补贴时该字段必填。2、运营提供手续费补贴代理商编号 C
fee_subsidy_party 手续费补贴方账户 String 1、手续费补贴方联系商务或者运营获取 M
fee_subsidy_rate 手续费补贴费率 String 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送
2、手续费补贴费率不能大于(可以等于)商户该笔交易手续费费率
3、费率单位:费率值0.38%,则上送0.38
C
fee_execute_rate 手续费执行费率 String 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送
2、手续费执行费率只能小于(不可以等于)商户该笔交易手续费费率
3、商户该笔交易费率减去手续费执行费率就是该笔交易补贴费率
4、费率单位:费率值0.38%,则上送0.38
C
fee_subsidy_amount 手续费补贴金额 String 1、手续费补贴费率、手续费执行费率和手续费补贴金额三选一进行上送
2、手续费补贴金额不能大于手续费金额(可以等于手续费金额)
3、传递补贴手续费金额大于该笔手续费金额,按照该笔交易实际手续费金额补贴
4、金额以元为单位:1.5元,则上送1.5
C
营销补贴信息:market_subsidy_info
参数 参数名称 类型 参数说明 样例 可空
party 营销补贴账户 String 在海科开通的营销补贴账户号 M
amt 营销补贴金额 String 营销补贴金额(单位:元) 20 M
分账关系组:ledger_relation
参数 参数名称 类型 参数说明 样例 可空
receive_no 收账方(海科商户号) String 收账方(海科商户号)ledger_relation组内参数 M
amt 分账金额 String 分账金额(单位:元) 20 M

终端信息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",
    "merch_no": "833102054620187",
    "out_trade_no": "20200324164520529",
    "total_amount": "80",
    "notify_url": "http://47.95.131.62:8080/saas/trade/success/notice/test",
    "sn": "1959CA887758",
    "pn": "M0000007",
    "remark": "地方都是",
    "limit_pay": "0",
    "ledger_relation": [
        {
            "receive_no": "833102054620184",
            "amt": "10"
        }
    ],
    "goods_name": "矿泉水",
    "sign": "3035E10CA300616F67B73A17250133C7"
}

返回参数:

参数 参数名称 类型 参数说明 样例 可空
out_trade_no 服务商交易订单号 String 服务商的交易订单编号 161018121614000624679888 M
trade_no 交易订单号 String SaaS平台的交易订单编号 M
channel_trade_no 凭证条码订单号 String 凭证条码订单号(v1.24增加) 161018121614000624679888 M
appid 微信支付的appid String 微信支付的appid O
timestamp 交易时间戳 String O
noncestr 随机字符串 String O
package 订单详情扩展字符串 String 统一下单接口返回的 prepay_id 参数 值 prepay_id=123456789 O
signtype 签名方式 String RSA O
paysign 签名 String C380BEC2BFD727A4B6845133519F3AD6 O
文档更新时间: 2023-03-29 09:55   作者:admin