1. 支付接口
日期 | 接口 | 内容 |
---|---|---|
2016-12-01 | 退款申请 | 新增支付终端流水号,支付终端交易时间,短信或邮箱验证码字段。 |
2017-01-06 | 公众号支付、微信公众号JSAPI支付授权 | 新增支付宝请求类型,支付宝JSAPI支付返回参数,新增微信公众号JSAPI支付授权接口 |
2017-03-03 | 刷卡(条码)支付 | 新增attach、user_id字段 |
2017-03-03 | 撤销 | 新增撤销接口 |
2017-03-21 | 交易通知、公众号预支付 | 修复交易通知key_sign字段描述错误,公众号预支付openid字段描述错误 |
2017-04-21 | APP统一下单、WAP支付 | 创建接口 |
2017-04-25 | 退款申请、撤销交易 | 支付方式新增“现金”类型 |
2017-06-01 | 支付查询、退款申请、刷卡(条码)支付 | 新增110 银联二维码支付 |
2017-06-19 | 支付查询、退款申请、刷卡(条码)支付、公众号统一下单及交易通知 | 新增090 口碑支付 |
2017-07-18 | 支付查询 | 新增字段trade_state 用于标识交易订单的状态 |
2017-08-02 | 微信小程序支付 | 新增微信小程序支付 |
2017-08-09 | 刷卡(条码)支付、支付查询 | 新增字段channel_order_no 用于标识渠道订单号 |
2017-09-11 | 微信公众号JSAPI支付授权 | 接口规则更新 |
2017-11-10 | 撤销接口、关单接口 | 撤销接口取消自营限制;新增关单接口,仅限服务商模式商户微信支付可用 |
2018-06-07 | 支付接口 | 支付接口返回签名的参数拼接说明 |
2018-06-12 | 撤销接口、关单接口 | 撤销接口增加仅支持刷卡支付的说明;关单接口增加支付宝支付类型使用说明 |
2018-08-06 | 支付接口 | 支付接口新增sub_appid字段 |
2018-08-07 | 支付接口 | 新增授权码获取openid接口 |
2018-10-11 | 支付接口 | 新增自助收银支付、获取凭证接口 |
2018-10-31 | 刷卡(条码)支付 | 新增goods_tag字段 |
2018-10-31 | 扫码点餐 | 新增扫码点餐的接口 |
2018-10-31 | 自助收银支付 | 自助收银支付接口返回result_code值新增‘03’支付中 |
2018-12-06 | 支付查询接口 | 支付查询接口返回字段新增pay_trace、pay_time两个字段 |
2018-12-14 | 交易实时同步接口 | 新增版本号、用户银联卡类型两个字段 |
2018-12-17 | 小程序支付接口 | 新增支付宝小程序支付方式 |
2019-01-24 | 扫码点餐接口 | 接口请求参数优化 |
2019-04-15 | 退款查询接口 | 新增退款查询接口 |
2019-05-16 | 刷卡、JS支付接口 | 新增和包支付类型(仅限和包通道) |
2019-06-27 | 微信获取access_token | 新增微信获取access_token接口 |
2019-08-06 | 刷卡(条码)支付 | 新增notify_url回调通知字段 |
2020-03-10 | 删除注册终端接口 | 删除注册终端接口 |
1.1. 付款码支付
- URL:
/pay/100/barcodepay
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,140 和包支付(仅限和包通道),000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型010 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
auth_no | String | 128 | Y | 授权码,客户的付款码 |
total_fee | String | 12 | Y | 金额,单位分 |
sub_appid | String | 16 | N | 公众号appid |
order_body | String | 128 | N | 订单描述 |
attach | String | 128 | N | 附加数据,原样返回 |
goods_detail | String | 2048 | N | 订单包含的商品列表信息,Json格式。pay_type 为010 ,020 ,090 时,可选填此字段 |
goods_tag | String | 32 | N | 订单优惠标记,代金券或立减优惠功能的参数(字段值:cs和bld) |
food_order_type | String | 32 | N | 点餐场景类型:qr_order(店内扫码点餐)、pre_order(预点到店自提)、home_delivery (外送到家)、direct_payment(直接付款)、other(其他) |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
goods_id | String | N | 商品编号 |
goods_name | String | N | 商品名称 |
quantity | String | N | 商品数量(注:pay_type 为010 时,此字段类型为int) |
price | String | N | 商品单价,单位为分 |
以上为请求参数goods_detail
的内容说明
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“支付成功”,“支付中”,“请求受限”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 02 失败 ,03 支付中,99 该条码暂不支持支付类型自动匹配 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
end_time | String | 14 | N | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
以上字段在return_code为01
时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
channel_trade_no | String | 32 | N | 通道订单号,微信订单号、支付宝订单号等,返回时不参与签名 |
channel_order_no | String | 64 | N | 银行渠道订单号,微信支付时显示在支付成功页面的条码,可用作扫码查询和扫码退款时匹配 |
user_id | String | 32 | N | 付款方用户id,“微信openid”、“支付宝账户”、“qq号”等,返回时不参与签名 |
attach | String | 128 | N | 附加数据,原样返回 |
receipt_fee | String | 12 | N | 实收金额,pay_type 为010 、020 、090 时必填 |
以上字段返回不参加签名
1.2. 扫码支付(预支付)
- URL:
/pay/100/prepay
- Method:
POST
注意:因微信政策调整【微信间联关闭APP支付和Native支付通知】 本接口微信支付将于2019年9月15号后关闭,建议存量商户调整为聚合码支付接口或JSAPI公众号支付。
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付 |
service_id | String | 3 | Y | 接口类型,当前类型011 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | Y | 金额,单位分 |
sub_appid | String | 16 | N | 公众号appid |
order_body | String | 128 | N | 订单描述 |
notify_url | String | 256 | N | 外部系统通知地址 |
attach | String | 128 | N | 附加数据,原样返回 |
goods_detail | String | 2048 | N | 订单包含的商品列表信息,Json格式。pay_type 为010 ,020 ,090 时,可选填此字段 |
goods_tag | String | 32 | N | 订单优惠标记,代金券或立减优惠功能的参数(字段值:cs和bld) |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
goods_id | String | N | 商品编号 |
goods_name | String | N | 商品名称 |
quantity | String | N | 商品数量(注:pay_type 为010 时,此字段类型为int) |
price | String | N | 商品单价,单位为分 |
以上为请求参数goods_detail
的内容说明
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“预支付请求成功”,“预支付请求失败”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
qr_code | String | 128 | N | 二维码码串 |
以上字段在return_code为01
时返回,返回时参与签名
1.3. 公众号预支付(统一下单)
- URL:
/pay/100/jspay
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,090 口碑,100 翼支付,140 和包支付(仅限和包通道) |
service_id | String | 3 | Y | 接口类型,当前类型012 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | Y | 金额,单位分 |
sub_appid | String | 16 | N | 公众号appid,公众号支付时使用的appid(若传入,则open_id需要保持一致) |
open_id | String | 128 | N | 用户标识(微信openid,支付宝userid),pay_type为010及020时需要传入 |
order_body | String | 128 | N | 订单描述 |
notify_url | String | 256 | N | 外部系统通知地址 |
attach | String | 128 | N | 附加数据,原样返回 |
goods_detail | String | 2048 | N | 订单包含的商品列表信息,Json格式。pay_type 为010 ,020 ,090 时,可选填此字段 |
goods_tag | String | 32 | N | 订单优惠标记,代金券或立减优惠功能的参数(字段值:cs和bld) |
food_order_type | String | 32 | N | 点餐场景类型:qr_order(店内扫码点餐)、pre_order(预点到店自提)、home_delivery (外送到家)、direct_payment(直接付款)、other(其他) |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
goods_id | String | N | 商品编号 |
goods_name | String | N | 商品名称 |
quantity | String | N | 商品数量(注:pay_type 为010 时,此字段类型为int) |
price | String | N | 商品单价,单位为分 |
以上为请求参数goods_detail
的内容说明
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“预支付请求成功”,“预支付请求失败”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,060 qq钱包,090 口碑,100 翼支付 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
以上字段在return_code为01
时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
appId | String | 16 | N | 微信公众号支付返回字段,公众号id |
timeStamp | String | 32 | N | 微信公众号支付返回字段,时间戳,示例:1414561699,标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。 |
nonceStr | String | 32 | N | 微信公众号支付返回字段,随机字符串 |
package_str | String | 128 | N | 微信公众号支付返回字段,订单详情扩展字符串,示例:prepay_id=123456789,统一下单接口返回的prepay_id参数值,提交格式如:prepay_id= |
signType | String | 32 | N | 微信公众号支付返回字段,签名方式,示例:MD5,RSA |
paySign | String | 512 | N | 微信公众号支付返回字段,签名 |
ali_trade_no | String | 32 | N | 支付宝JSAPI支付返回字段用于调起支付宝JSAPI |
token_id | String | 32 | N | qq钱包公众号支付 |
以上字段根据具体支付方式返回不参加签名
1.3.1. 微信公众号JSAPI支付授权
本接口用于服务商通道获取微信openid
- URL:
/wx/jsapi/authopenid
- Method:
GET
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
merchant_no | String | 15 | Y | 商户号 |
terminal_no | String | 8 | Y | 终端号 |
redirect_uri | String | 255 | Y | 您的收银台的完整路径,并urlEncode(get请求拼接需要urlEncode,签名拼接不需要urlEncode),带参数则会原样返回 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
openid | String | 64 | Y | 微信公众号用户唯一标识,成功授权后取得,用于微信支付JSAPI接口统一下单 |
以上为响应参数
该接口的key_sign参数生成规则为:
key_sign=md5(merchant_no=xxxxxx&redirect_uri=xxxxxx&terminal_no=xxxxxx&access_token=xxxxxx);
请求授权的示例链接为:
https://xxxxxx/wx/jsapi/authopenid?merchant_no=xxxxxx&terminal_no=xxxxxx&redirect_uri=https%3A%2F%2Fwww.example.com%2Fpay.html&key_sign=xxxxxx
成功授权授权后回到收银台时的地址:
https://www.example.com/pay.html?openid=xxxxxxxxxxxxxxxxxxxx
注意:redirect_uri参数需要在后面+?+参数名+参数值(避免格式不对无法解析),redirect_uri参数在urlEncode前进行加密,若跳转时报错403forbidden
,请提供收银台的具体URL(不包含GET参数)给对接人员配置白名单,否则将无法正常进入收银台。
客户自有通道请使用自己的appid按官方文档要求授权获取openid,文档如下
微信公众号(子商户)
- 获取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
支付宝生活号
- 获取userid:
https://docs.alipay.com/fw/api/105942
- 调js支付:
https://alipay.open.taobao.com/docs/doc.htm?&docType=1&articleId=105591
1.3.2. 微信获取access_token(扫码点餐的登录票据)
- URL:
/wx/jsapi/authAccessToken
- Method:
GET
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
merchant_no | String | 15 | Y | 商户号 |
terminal_no | String | 8 | Y | 终端号 |
redirect_uri | String | 255 | Y | 您的收银台的完整路径,并urlEncode(get请求拼接需要urlEncode,签名拼接不需要urlEncode),带参数则会原样返回 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
openid | String | 64 | Y | 微信公众号用户唯一标识,成功授权后取得,用于微信支付JSAPI接口统一下单 |
access_token | String | 512 | Y | access_token是公众号的全局唯一接口调用凭据 |
以上为响应参数
该接口的key_sign参数生成规则为:
key_sign=md5(merchant_no=xxxxxx&redirect_uri=xxxxxx&terminal_no=xxxxxx&access_token=xxxxxx);
请求授权的示例链接为:
https://xxxxxx/wx/jsapi/authopenid?merchant_no=xxxxxx&terminal_no=xxxxxx&redirect_uri=https%3A%2F%2Fwww.example.com%2Fpay.html&key_sign=xxxxxx
成功授权授权后回到收银台时的地址:
https://www.example.com/pay.html?openid=xxxxxxxxxxxxxxxxxxxx
注意:redirect_uri参数需要在后面+?+参数名+参数值(避免格式不对无法解析),redirect_uri参数在urlEncode前进行加密,若跳转时报错403forbidden
,请提供收银台的具体URL(不包含GET参数)给对接人员配置白名单,否则将无法正常进入收银台。
1.4. 小程序支付接口
- URL:
/pay/100/minipay
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝 |
service_id | String | 3 | Y | 接口类型,当前类型015 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | Y | 金额,单位分 |
sub_appid | String | 16 | N | 小程序appid,小程序支付时使用的appid(若传入,则open_id需要保持一致) |
open_id | String | 128 | N | 用户标识(微信openid,支付宝user_id),需要传入,通过官方接口获得 |
goods_detail | String | 2048 | N | 订单包含的商品列表信息,Json格式。pay_type 为010 ,020 ,090 时,可选填此字段 |
goods_tag | String | 32 | N | 订单优惠标记,代金券或立减优惠功能的参数(字段值:cs和bld) |
order_body | String | 128 | N | 订单描述 |
notify_url | String | 256 | N | 外部系统通知地址 |
attach | String | 128 | N | 附加数据,原样返回 |
food_order_type | String | 32 | N | 点餐场景类型:qr_order(店内扫码点餐)、pre_order(预点到店自提)、home_delivery (外送到家)、direct_payment(直接付款)、other(其他) |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 必填 | 说明 |
---|---|---|---|
goods_id | String | N | 商品编号 |
goods_name | String | N | 商品名称 |
quantity | String | N | 商品数量(注:pay_type 为010 时,此字段类型为int) |
price | String | N | 商品单价,单位为分 |
以上为请求参数goods_detail
的内容说明
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“预支付请求成功”,“预支付请求失败”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
以上字段在return_code为01
时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
appId | String | 16 | N | 微信小程序支付返回字段,公众号id |
timeStamp | String | 32 | N | 微信小程序支付返回字段,时间戳,示例:1414561699,标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。 |
nonceStr | String | 32 | N | 微信小程序支付返回字段,随机字符串 |
package_str | String | 128 | N | 微信小程序支付返回字段,订单详情扩展字符串,示例:prepay_id=123456789,统一下单接口返回的prepay_id参数值,提交格式如:prepay_id= |
signType | String | 32 | N | 微信小程序支付返回字段,签名方式,示例:MD5,RSA |
paySign | String | 512 | N | 微信小程序支付返回字段,签名 |
ali_trade_no | String | 32 | N | 支付宝小程序支付返回字段用于调起支付宝小程序 |
以上字段根据具体支付方式返回不参加签名
- 注意:
- 请求完这个接口得到的返回参数直接去调微信小程序/支付宝小程序,参数值不用做变化
获取用户标识及调起js支付文档:
微信小程序
- 获取openid:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
- 调js支付:
https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_7&index=5
支付宝小程序
- 获取userid:
https://docs.open.alipay.com/20160728150111277227/intro
- 调js支付:
https://docs.alipay.com/mini/api/openapi-pay
1.5. 自助收银支付接口(仅支持微信)
- URL:
/pay/110/facepay
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝 |
service_id | String | 3 | Y | 接口类型,当前类型016 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
auth_no | String | 4096 | Y | 微信人脸识别SDK调用凭证 |
out_trade_no | String | 32 | N | 利楚订单号,来自自助收银SDK调用凭证获取接口 ,仅微信刷脸支付必传。 |
open_id | String | 128 | N | 用户标识(微信openid),用于调起微信刷脸SDK |
total_fee | String | 12 | Y | 金额,单位分 |
order_body | String | 128 | N | 订单描述 |
attach | String | 128 | N | 附加数据,原样返回 |
key_sign | String | 32 | Y | 签名字符串,拼装所有非空参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“预支付请求成功”,“预支付请求失败”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有非空参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败,03 支付中 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
end_time | String | 128 | N | 支付完成时间 |
out_trade_no | String | 32 | N | 订单号 |
order_body | String | 128 | N | 订单描述 |
attach | String | 128 | N | 附加数据,原样返回 |
channel_trade_no | String | 32 | N | 通道订单号,微信订单号、支付宝订单号等,返回时不参与签名 |
channel_order_no | String | 64 | N | 银行渠道订单号,微信支付时显示在支付成功页面的条码,可用作扫 |
以上字段在return_code为01
时返回,返回时参与签名
1.6. 自助收银SDK调用凭证获取接口
- URL:
/pay/110/faceinfo
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,平台分配,当前版本110 /120 ,其中120 版本为新升级版本 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝 |
merchant_no | String | 15 | Y | 商户号 |
terminal_no | String | 8 | Y | 终端号 |
rawdata | String | 2048 | Y | 微信、支付宝人脸识别SDK初始化数据 |
trace_no | String | 32 | Y | 请求流水号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
key_sign | String | 32 | Y | 签名字符串,拼装所有非空参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“凭证获取成功”,“凭证获取失败”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有非空参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝 |
merchant_no | String | 15 | N | 商户号 |
terminal_no | String | 8 | N | 终端号 |
authinfo | String | 4096 | N | 微信、支付宝人脸识别SDK调用凭证 |
trace_no | String | 32 | N | 请求流水号 |
out_trade_no | String | 32 | N | 利楚订单号,用于调起微信刷脸SDK |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
expires_in | int | 14 | N | 微信人脸识别返回有效时间,单位:秒 |
zim_init | String | 4096 | N | 支付宝ZimInitClientData |
auth_no_type | String | 2 | N | 支付预下单支持的授权码类型:1纯数字形式,2非纯数字形式(版本号为120 时返回) |
sub_mchid_info | String | 512 | N | 商户信息 (版本号为120 时返回) |
以上字段在return_code为01
时返回,返回时参与签名
sub_mchid_info参数:
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
type | String | 3 | N | 支付方式,010 微信 |
sub_mchid | String | 15 | N | 子商户号 |
sub_serv_no | String | 18 | N | 服务商商户号 |
sub_serv_appid | String | 18 | N | 服务商应用appid |
sub_appid | String | 18 | N | 微信子商户号appid |
1.7. 授权码查询 OPENID 接口
- URL:
/pay/110/authcodetoopenid
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本110 |
pay_type | String | 3 | Y | 支付方式,010 微信 |
service_id | String | 3 | Y | 接口类型,当前类型080 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,填写商户系统的订单号 |
terminal_time | String | 14 | Y | 终端发起时间,yyyyMMddHHmmss,全局统一时间格式 |
auth_no | String | 128 | Y | 授权码,客户的付款码 |
sub_appid | String | 32 | N | 微信分配的子商户公众账号 ID(如果子商户号绑定多个appid,入参sub_appid必传) |
attach | String | 128 | N | 附加数据,原样返回 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“查询成功”,“请求受限”等 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的订单号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端发起时间,yyyyMMddHHmmss,全局统一时间格式 |
appid | String | 32 | N | 微信分配的公众账号ID |
sub_appid | String | 32 | N | 微信分配的子商户公众账号ID |
openid | String | 128 | N | 用户在商户appid下的唯一标识 |
sub_openid | String | 128 | N | 用户在子商户appid下的唯一标识 |
attach | String | 128 | N | 附加数据,原样返回 |
key_sign | String | 32 | N | 签名字符串,拼装所有传递参数(字典序)+令牌,UTF-8编码,32位md5加密转换 |
以上字段在return_code为01
时返回
说明:
- 通过授权码查询公众号openid,调用查询后,该授权码只能由此商户号发起扣款,直至授权码更新。
1.8. 扫码点餐数据上传
- URL:
/scancode/110/orderfood
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
out_shop_no | String | 32 | Y | 门店编号 |
sub_appid | String | 16 | N | 子商户号 |
openid | String | 32 | Y | 子商户appid下的openid |
login_token | String | 256 | Y | 登录票据(微信接口返回的登录票据 公众号,填写access_token 小程序,填写session_key) |
order_entry | String | 256 | Y | 点餐入口(公众号:页面完整URL 小程序:path路径) |
total_amount | int | 12 | Y | 总价(单位为分) |
discount_amount | int | 12 | Y | 优惠金额(单位为分) |
user_amount | int | 12 | Y | 实际支付(单位为分) |
status | String | 32 | Y | 订单状态,取值如下:CREATE_DEAL—用户下单;PAY_SUCCESS—支付完成, 结账成功; |
action_time | String | 64 | Y | 状态发生变化的时间,格式为 rfc3339格式,如 2018-06-08T10:34:56+08:0 0 代表北京时间2018年06月 08日10时34分56秒 |
pay_time | String | 64 | N | 支付时间,格式为 rfc3339格式,如 2018-06-08T10:34:56+08:0 0 (status 为 PAY_SUCCESS时必填) |
transaction_id | String | 64 | N | 微信支付订单号(status 为 PAY_SUCCESS时必填) |
out_trade_no | String | 32 | Y | 利楚唯一订单号,服务商系统内部支付订单号 (status为PAY_SUCCESS时 必填) |
out_order_no | String | 32 | Y | 利楚唯一订单号 |
dish_list | List | Y | 菜品列表 | |
out_table_no | String | 16 | N | 桌位号 |
people_count | String | 6 | N | 消费人数 |
dish_list 对象列表:
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
out_dish_no | String | 16 | Y | 商户菜品ID |
name | String | 128 | Y | 菜品名称 |
price | int | 12 | Y | 菜品单价(单位为分) |
unit | String | 16 | Y | 菜品单位(BY_SHARE-按份,BY_WEIGHT-按重量) |
count | Float | 16 | Y | 菜品数量( 菜品数量, 保留小数点后2位有 效数字) |
discount | int | 2 | N | 菜品折扣(菜品折扣,百分值,8折填80) |
type | String | 32 | N | 菜品分类(取值参考菜品分类表) |
priority | int | 3 | N | 菜品优先级( 当前菜品在渠道商平台的顺序, 值越小越靠前,取值(1~100)) |
properties | object | N | 菜品属性(取值参考菜品属性表) |
properties 对象列表:
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
taste | String | 128 | Y | 口味(取值参考菜品属性表) |
cuisine | String | 128 | Y | 做法(取值参考菜品属性表) |
main_material | String | 128 | Y | 主料(取值参考菜品属性表) |
ingredients | String | 128 | Y | 配料(取值参考菜品属性表) |
others | Float | 128 | N | 菜其他(取值参考菜品属性表) |
以上为请求参数
菜品分类表:
菜品 | 说明 |
---|---|
FAST_FOOD | 快餐 |
DRINK | 饮品 |
YOYO | 烘焙甜品 |
BEIJING_CUISINE | 北京菜 |
SICHUAN_CUISINE | 川菜 |
DONGBEI_CUISINE | 东北菜 |
SOUTHEAST_ASIAN_CUISINE | 东南亚菜 |
SEAFOOD | 海鲜 |
KOREAN_CUISINE | 韩国料理 |
HUBEI_CUISINE | 湖北菜 |
HOT_POT | 火锅 |
JIANGZHE_CUISINE | 江浙菜 |
SHANDONG_CUISINE | 鲁菜 |
HALAL_FOOD | 清真菜 |
JAPANESE_CUISINE | 日本菜 |
BARBECUE | 烧烤 |
NORTHWEST_CUISINE | 西北菜 |
WESTERN_FOOD | 西餐 |
HUNAN_CUISINE | 湘菜 |
SNACK | 小吃 |
XINJIANG_CUISINE | 新疆菜 |
GUAGNDONG_CUISINE | 粤菜 |
YUNNAN_CUISINE | 云南菜 |
BUFFET | 自助餐 |
菜品属性表:
属性名 | 属性字段名 | 属性值 |
---|---|---|
口味 | taste | 辣 咸 甜 酸 香 苦 麻 鲜 |
做法 | cuisine | 炒 蒸 烧 焖 炖 凉拌 烤 炸 煮 煎 火锅 烘焙 砂锅 卤 |
主料 | main_material | 猪 牛 羊 鸡 鸭 蛋 其他肉类 鱼类 虾类 蟹类 贝类 其他水 产 茎叶类 根茎类 瓜果类 菌类 花朵类 豆类 豆制品 无杂粮 类 面类 小吃/甜饼 方便食品 鲜果类 干果类 药食两用 调味 品 油脂 糖/蜜饯 乳类 酒类 茶饮 |
配料 | ingredients | 葱 姜 蒜 香菜 八角 香叶 花椒 |
其他 | others | 农家 有机 进口 非转基因 纯天然 |
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示 |
result_code | String | 2 | N | "业务结果,01 成功,02 失败 |
以上为响应参数
2. 订单操作接口
2.1. 支付查询
- URL:
/pay/100/query
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型020 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端查询流水号,填写商户系统的查询流水号 |
terminal_time | String | 14 | Y | 终端查询时间,yyyyMMddHHmmss,全局统一时间格式 |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
out_trade_no | String | 64 | Y | 订单号,查询凭据,可填利楚订单号、微信订单号、支付宝订单号、银行卡订单号任意一个 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“支付成功”,“支付中”,“请求受限”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 ,03 支付中。支付失败 和退款成功 状态均返回02 ,具体状态和原因会在return_msg 中给出解释 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的查询流水号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
total_fee | String | 12 | N | 金额,单位分 |
end_time | String | 14 | N | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
以上字段在return_code为01
时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
trade_state | String | 10 | N | 交易订单状态,SUCCESS 支付成功,REFUND 转入退款,NOTPAY 未支付,CLOSED 已关闭,USERPAYING 用户支付中,REVOKED 已撤销,NOPAY 未支付支付超时,PAYERROR 支付失败 |
channel_trade_no | String | 32 | N | 通道订单号,微信订单号、支付宝订单号等,返回时不参与签名 |
channel_order_no | String | 64 | N | 银行渠道订单号,微信支付时显示在支付成功页面的条码,可用作扫码查询和扫码退款时匹配 |
user_id | String | 32 | N | 付款方用户id,“微信openid”、“支付宝账户”、“qq号”等,返回时不参与签名 |
attach | String | 128 | N | 附加数据,原样返回,返回时不参与签名 |
receipt_fee | String | 12 | N | 实收金额,pay_type 为010 、020 、090 时必填 |
pay_trace | String | 32 | N | 当前支付终端流水号 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
以上字段返回不参加签名
注意:
- 查询支付结果时参数存在两种情况:1.out_trade_no为空的时候,查询的时候out_trade_no还是需要作为参数(对应的值是"")传进去,此时pay_trace(对应支付请求中的terminal_trace参数值)和pay_time(对应支付请求中的terminal_time参数值)也要作为请求参数传进去;2.out_trade_no不为空的时候,直接按照正常操作进行;
- 查询最多15次,每次间隔5s
- 此接口用来查原订单,不支持查退款订单
2.2. 退款申请
- URL:
/pay/100/refund
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,040 现金,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型030 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端退款流水号,填写商户系统的退款流水号 |
terminal_time | String | 14 | Y | 终端退款时间,yyyyMMddHHmmss,全局统一时间格式 |
refund_fee | String | 12 | Y | 退款金额,单位分 |
out_trade_no | String | 64 | Y | 订单号,查询凭据,利楚订单号、微信订单号、支付宝订单号任意一个 |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
auth_code | String | 6 | N | 短信或邮箱验证码 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“退款成功”、“订单不存在”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号,商户系统的退款流水号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 终端退款时间,yyyyMMddHHmmss,全局统一时间格式 |
refund_fee | String | 12 | N | 退款金额,单位分 |
end_time | String | 14 | N | 退款完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号 |
out_refund_no | String | 32 | N | 利楚唯一退款单号 |
以上字段在return_code为01
时返回,返回时参与签名
注意:
- 需要商户当前账户内有大于退款金额的余额,否则会造成余额不足,退款失败;
- 限支付30天内退款,超过30天,不能进行退款操作(具体退款限制时间由通道决定)。
2.3. 交易通知
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“签名失败”,“参数格式校验错误"等 |
result_code | String | 2 | Y | 业务结果:01 成功 ,02 失败 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付 |
user_id | String | 32 | Y | 付款方用户id,“微信openid”、“支付宝账户”、“qq号”等 |
merchant_name | String | 40 | Y | 商户名称 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号,此处传商户发起预支付或公众号支付时所传入的交易流水号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式(01时参与拼接) |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递,返回时不参与签名 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
total_fee | String | 12 | Y | 金额,单位分 |
end_time | String | 14 | Y | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | Y | 利楚唯一订单号 |
channel_trade_no | String | 32 | Y | 通道订单号,微信订单号、支付宝订单号等 |
attach | String | 128 | Y | 附加数据,原样返回 |
receipt_fee | String | 12 | N | 实收金额,pay_type 为010 、020 、090 时必填 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败 |
return_msg | String | 128 | Y | 返回信息提示,“签名失败”,“参数格式校验错误"等 |
以上为响应参数
2.4. 撤销交易(只针对刷卡支付)
- URL:
/pay/100/cancel
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,040 现金,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型040 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号(socket协议:长度为6位,Http协议:长度为32位) |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号,优先使用订单号out_trade_no发起撤销,在out_trade_no获取异常的情况,可使用当前支付请求的终端交易流水号pay_trace和终端交易时间pay_time发起撤销 |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“退款成功”、“订单不存在”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | "业务结果,“01”成功,表示撤销成功,此笔订单不能再发起支付;若已支付完成,则会发起退款;“02”失败,表示撤销接口异常,根据recall判断是否可再次发起撤销操作;" |
pay_type | String | 3 | N | 支付方式,010 微信,020 支付宝,040 现金,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号(socket协议:长度为6位,Http协议:长度为32位) |
terminal_time | String | 14 | N | 终端撤销时间,yyyyMMddHHmmss,全局统一时间格式 |
recall | String | 1 | N | 是否重新发起撤销 |
以上字段在return_code为01
时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
merchant_name | String | 40 | N | 商户名称 |
以上字段在return_code为01
时返回不参与签名
2.5. 关闭订单(仅限服务商模式商户且为微信支付时可用)
- URL:
/pay/100/close
- Method:
POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010微信,020支付宝,000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型041 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 终端流水号(socket协议:长度为6位,Http协议:长度为32位) |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式 |
out_trade_no | String | 32 | N | 利楚唯一订单号,优先使用订单号out_trade_no发起撤销,在out_trade_no获取异常的情况,可使用当前支付请求的终端交易流水号pay_trace和终端交易时间pay_time发起撤销 |
pay_trace | String | 32 | N | 当前支付终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 当前支付终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01 成功 ,02 失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息提示,“关单成功”、“订单不存在”等 |
key_sign | String | 32 | Y | 签名字符串,拼装所有传递参数,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | "业务结果,01 成功,表示关单成功,此笔订单不能再发起支付; |
pay_type | String | 3 | N | 支付方式,010 微信 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 终端流水号(socket协议:长度为6位,Http协议:长度为32位) |
terminal_time | String | 14 | N | 终端撤销时间,yyyyMMddHHmmss,全局统一时间格式 |
以上字段在return_code为01
时返回,返回时参与签名
注意:
- 此接口也支持支付宝,但仅限扫了二维码但没有输密码的情况下
- 支付不能进行关单操作
2.6. 交易实时同步
- Method:POST
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本210 |
card_type | String | 2 | N | 用户银联卡类型 0储蓄卡,1信用卡,2未知 |
merchant_no | String | 15 | Y | 商户号 |
merchant_name | String | 40 | Y | 商户名称 |
terminal_id | String | 8 | Y | 终端号 |
terminal_time | String | 14 | Y | 终端交易时间,yyyyMMddHHmmss,全局统一时间格式(01时参与拼接) |
terminal_trace | String | 32 | Y | 终端流水号,此处传商户发起预支付或公众号支付时所传入的交易流水号 |
out_trade_no | String | 32 | Y | 利楚唯一订单号 |
out_refund_no | String | 32 | Y | 退款订单号 |
total_fee | String | 12 | Y | 金额,单位分 |
pay_type | String | 3 | Y | 支付方式,010微信,020 支付宝,030银行卡,060qq钱包,080京东钱包,090口碑,100翼支付,110银联二维码 |
end_time | String | 14 | Y | 支付完成时间,yyyyMMddHHmmss,全局统一时间格式 |
attach | String | 128 | Y | 附加数据,原样返回 |
user_id | String | 32 | Y | 付款方用户id,“微信openid”、“支付宝账户”、“qq号”等 |
channel_trade_no | String | 32 | Y | 通道订单号,微信订单号、支付宝订单号等 |
pay_status_code | int | 2 | Y | 支付状态,1支付成功,2支付失败,3支付中,4已撤销,5退款成功, 6退款失败 |
key_sign | String | 32 | Y | 签名字符串,拼装所有非null参数+令牌,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码,01成功 02失败 |
return_msg | String | 128 | Y | 返回信息提示,“签名失败”,“参数格式校验错误"等 |
以上为响应参数
2.7. 退款订单查询
- Method:POST
- URL:
/pay/100/queryrefund
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
pay_ver | String | 3 | Y | 版本号,当前版本100 |
pay_type | String | 3 | Y | 支付方式,010 微信,020 支付宝,060 qq钱包,080 京东钱包,090 口碑,100 翼支付,110 银联二维码,000 自动识别类型 |
service_id | String | 3 | Y | 接口类型,当前类型031 |
merchant_no | String | 15 | Y | 商户号 |
terminal_id | String | 8 | Y | 终端号 |
terminal_trace | String | 32 | Y | 当前终端退款查询流水号,填写商户系统的退款查询流水号 |
terminal_time | String | 14 | Y | 当前终端退款查询时间,yyyyMMddHHmmss,全局统一时间格式 |
out_refund_no | String | 32 | Y | 利楚唯一退款订单号 |
pay_trace | String | 32 | N | 退款终端流水号,与pay_time同时传递 |
pay_time | String | 14 | N | 退款终端交易时间,yyyyMMddHHmmss,全局统一时间格式,与pay_trace同时传递 |
key_sign | String | 32 | Y | 签名字符串,拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为请求参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
return_code | String | 2 | Y | 响应码:01成功 ,02失败,响应码仅代表通信状态,不代表业务结果 |
return_msg | String | 128 | Y | 返回信息, 返回错误原因 |
key_sign | String | 32 | Y | 签名, 拼装所有必传参数+令牌,UTF-8编码,32位md5加密转换 |
以上为响应参数
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
result_code | String | 2 | N | 业务结果:01成功 ,02失败 |
pay_type | String | 3 | N | 支付方式,010微信,020 支付宝,060qq钱包,080京东钱包,090口碑,100翼支付,110银联二维码 |
merchant_name | String | 40 | N | 商户名称 |
merchant_no | String | 15 | N | 商户号 |
terminal_id | String | 8 | N | 终端号 |
terminal_trace | String | 32 | N | 当前终端退款查询流水号,扫呗系统原样返回 |
terminal_time | String | 14 | N | 当前终端退款查询时间,扫呗系统原样返回 |
refund_fee | String | 12 | N | 退款金额,单位分 |
end_time | String | 14 | N | 退款完成时间,yyyyMMddHHmmss,全局统一时间格式 |
out_refund_no | String | 32 | N | 利楚唯一退款订单号 |
out_trade_no | String | 32 | N | 利楚唯一原支付订单号 |
以上字段在return_code为01时返回,返回时参与签名
参数名称 | 类型 | 长度 | 必填 | 说明 |
---|---|---|---|---|
trade_state | String | 10 | N | 退款订单状态,SUCCESS退款成功,FAIL退款失败,REFUNDING退款中,NOREFUND退款超时等 |
channel_trade_no | String | 32 | N | 通道订单号,微信订单号、支付宝订单号等,返回时不参与签名 |
channel_order_no | String | 64 | N | 银行渠道订单号,微信退款时显示在退款成功页面的条码,可用作扫码退款查询 |
user_id | String | 32 | N | 退款方用户id,“微信openid”、“支付宝账户”、“qq号”等,返回时不参与签名 |
attach | String | 128 | N | 附加数据,原样返回,返回时不参与签名 |
pay_trace | String | 32 | N | 退款终端流水号 |
pay_time | String | 14 | N | 退款终端交易时间 |
以上字段返回不参加签名