测试环境商家账户是用来进行支付业务体验的账号,交易中产生的一切信息均为生产环境数据,由于体验业务特点,不会产生清算资金划拔,所以使用测试商家账号时请务必使用小额支付(建议:小于0.1元)。
收款啦云 MIS-订单支付
2. 接口规范
复制页面
收款啦云 MIS-订单支付
文本修改记录
1. 综述
1.1 阅读人员
1.2 定义和术语
1.3 场景和模型
1.4 对接流程
1.5 工具使用说明
2. 接口规范
2.1 接口须知
2.2 接口规范
2.3 签名验签
2.4 签名及验签v1
2.5 统一示例参数
2.6 调试前必看
2.6 生成商户公私钥
VIEW
3. ERP接口定义
3.1 预下单
POST
3.2 查询订单列表
POST
3.3 订单详情查询
POST
获取支付宝碰一碰设备管理
POST
查询订单统计(酒店)
POST
查询订单列表(酒店)
POST
查询预授权类交易(包括担保)
POST
4. POS厂商接口定义
4.1 结算
4.1.1 结算信息预览
4.1.2 收银员结算
4.1.3 结算历史分页查询
4.1.4 结算交易分页查询
4.1.4 结算交易分页查询(酒店)
4.2 待处理列表查询
POST
4.3 待处理订单详情查询
POST
4.4 订单取消
POST
4.5 需退款订单查询
POST
4.6 退款订单创建
POST
4.7 账本查询
POST
4.8 MIS三方调用报文
OPTIONS
5.1 阿里Iot
支付宝碰一碰设备表服务API
支付宝碰一碰设备管理
支付宝碰一碰设备-绑定
支付宝碰一碰设备-换绑
支付宝碰一碰设备-解绑
支付宝碰一碰设备-绑定结果查询
支付宝碰一碰设备-法人授权
支付宝碰一碰设备-法人授权查询
支付宝碰一碰设备-卖进退出
收银员结算服务API
结算信息预览
收银员结算
结算历史分页查询
结算交易分页查询
旧的扫码支付
被扫
撤销(当日退货)
查询
sign
5.2 pos聚合支付
预下单
退货
订单列表查询
单笔订单查询
交易成功通知
极光推送
补偿发送极光
6. 附录
5.1 交易代码定义
5.2 交易状态定义
5.3 请求支付方式
5.4 接口返回码
5.5 公用请求信息
5.6 终端TPDU报文头规范
5.7 支付方式
5.8 卡类型
5.9 计算交易类型
指令结算API
指令结算请求
指令结算查询
数据模型
支付宝碰一碰设备表服务API
SettleResultOutput
MonoApiRsp?
Mono«ApiRsp«OrderQueryRsp»»
Mono«ApiRsp«SettlementOutput»»
RspHeaderOrderInsert
MonoJSONObject
MonoOldQrBaseRsp
MonoApiRspOrderPayOutput
OrderSettleOutput
OrderSettlementOutput
SettlementOutput
OrigInfoOrderInsert
IotDeviceManageOutput
CodeQrPreOrderOutput
OldQrScanPay
ReqHeader
MonoApiRspIotDeviceManageOutput
MonoApiRspOrderSettleOutput
MonoApiRspOrderSettlementOutput
OrderQueryReq
MisOrderOutput
OrderPayOutputOrderInsert
MonoApiRspCodeQrPreOrderOutput
OldQrCancel
OrderPayQuery
OrderSettlementQuery
ApiReq«OrderQueryReq»
SettlementDetailOutput
Mono«ApiRsp«OrderPayOutput»»OrderInsert
OldQrQuery
ApiReq«OrderPayQuery»
ApiReq«OrderSettlementQuery»
MonoApiRspPageSerializableOrderPayOutput
OrderSettle
ReqHeaderOrderInsert
IotDeviceManageVO
CodeQrOrderReq
ApiReqOrderSettle
交易通用请求
OrderPayQueryOrderInsert
GoodsDetailBeanOrderInsert
ApiReqCodeQrOrderReq
GoodsDetailBean
IotDeviceBindNewOutput
SettlementQuery
ApiReqOrderPayQueryOrderInsert
SettleQueryOutput
mis交易通用请求
RspHeaderOrderDetailQuery
MonoApiRspIotDeviceBindNewOutput
CodeQrOrderRefundOutput
MonoApiRspSettleQueryOutput
交易通用返回
OrigInfoOrderDetailQuery
IotDeviceBindNewVO
MonoApiRspCodeQrOrderRefundOutput
PageSerializableOrderSettlementOutput
SettleQuery
ApiReqIotDeviceBindNewVO
ApiReq«SettlementQuery»
OrderPayOutputOrderDetailQuery
GoodsDetailBeanOrderDetailQuery
ApiReqCodeQrOrderRefundReq
CodeQrOrderRefundReq
MonoApiRspPageSerializableOrderSettlementOutput
ApiReqSettleQuery
IotDeviceChangeBindOutput
ApiRsp«PageSerializable«SettlementOutput»»
Mono«ApiRsp«OrderPayOutput»»OrderDetailQuery
CodeQrOrderQueryOutput
MonoApiRspIotDeviceChangeBindOutput
PageSerializable«SettlementOutput»
ReqHeaderOrderDetailQuery
MonoApiRspIotDeviceUnbindNewOutput
PageSerializableCodeQrOrderQueryOutput
IotDeviceChangeBindVO
PageSerializableSettlementDetailOutput
OrderPayQueryOrderDetailQuery
MonoApiRspPageSerializableCodeQrOrderQueryOutput
ApiReqIotDeviceChangeBindVO
交易结果信息
ApiReqOrderPayQueryOrderDetailQuery
ApiReqIotDeviceUnbindNewVO
CodeQrOrderQueryReq
IotDeviceUnbindNewOutput
ApiRsp«PageSerializable«SettlementDetailOutput»»
RspHeaderOrderQuery
ApiReqCodeQrOrderQueryReq
MonoApiRspCodeQrOrderQueryOutput
交易请求信息
OrigInfoOrderQuery
GoodsDetailBeanOrderQuery
MonoApiRspPageSerializableSettlementDetailOutput
key
IotDeviceUnbindNewVO
mis交易请求body
OrderPayOutputOrderQuery
CodeQrOrderQueryDetailReq
交易结果扩展信息
PageSerializable«OrderPayOutput»OrderQuery
ApiReqCodeQrOrderQueryDetailReq
IotDeviceQueryNewOutput
ApiReqJSONObject
交易状态-transStatus
Mono«ApiRsp«PageSerializable«OrderPayOutput»»»OrderQuery
MonoApiRspString
MonoApiRspIotDeviceQueryNewOutput
交易请求信息-transReq
ReqHeaderOrderQuery
CodeQrOrderSendJgReq
OrderPayTotalOutput
IotDeviceQueryNewVO
交易查询-transQuery
OrderPayQueryOrderQuery
ApiReqCodeQrOrderSendJgReq
MonoApiRspOrderPayTotalOutput
ApiReqIotDeviceQueryNewVO
交易查询-应答
ApiReqOrderPayQueryOrderQuery
IotDeviceAuthOutput
设备信息-应答
JSONObject
IotDeviceSalesCancelOutput
MonoApiRspIotDeviceAuthOutput
原交易信息
RspHeader
MonoApiRspIotDeviceSalesCancelOutput
MisTransLogDO
IotDeviceAuthVO
IotDeviceSalesCancelVO
PreAuthQueryReq
ApiReqIotDeviceAuthVO
ApiReqIotDeviceSalesCancelVO
ApiReqPreAuthQueryReq
IotDeviceAuthQueryOutput
MonoApiRspIotDeviceAuthQueryOutput
IotDeviceAuthQueryVO
ApiReqIotDeviceManageVO
ApiReqIotDeviceAuthQueryVO
RspHeaderQuery
OrigInfoQuery
OrderPayOutputQuery
Mono«ApiRsp«OrderPayOutput»»Query
ReqHeaderQuery
OrderPayQueryQuery
ApiReq«OrderPayQuery»Query
OrigInfo
OrderPayOutput
PageSerializableOrderPayOutput
RspHeaderPosInsert
OrigInfoPosInsert
OrderPayOutputPosInsert
Mono«ApiRsp«OrderPayOutput»»PosInsert
ReqHeaderPosInsert
OrderPayQueryPosInsert
ApiReq«OrderPayQuery»PosInsert
RspHeaderPosUpdate
OrigInfoPosUpdate
OrderPayOutputPosUpdate
Mono«ApiRsp«OrderPayOutput»»PosUpdate
ReqHeaderPosUpdate
OrderPayQueryPosUpdate
ApiReq«OrderPayQuery»PosUpdate
RspHeaderPreview
OrderSettlementOutputPreview
Mono«ApiRsp«OrderSettlementOutput»»Preview
ReqHeaderPreview
OrderSettlementQueryPreview
ApiReqOrderSettlementQueryPreview
RspHeaderApply
OrderSettlementOutputApply
Mono«ApiRsp«OrderSettlementOutput»»Apply
ReqHeaderApply
OrderSettlementQueryApply
ApiReqOrderSettlementQueryApply
RspHeaderList
OrderSettlementOutputList
PageSerializable«OrderSettlementOutput»List
Mono«ApiRsp«PageSerializable«OrderSettlementOutput»»»List
ReqHeaderList
OrderSettlementQueryList
ApiReqOrderSettlementQueryList
RspHeaderDetail
SettlementDetailOutputDetail
PageSerializable«SettlementDetailOutput»Detail
Mono«ApiRsp«PageSerializable«SettlementDetailOutput»»»Detail
ReqHeaderDetail
OrderSettlementQueryDetail
ApiReqOrderSettlementQueryDetail
Object
DefaultResponseVO
IotOrderQueryVO
IotDeviceQueryVO
2. 接口规范
复制页面
2.4 签名及验签v1
此套签名主要用于商服系统等场景后续废置,如非特殊说明可忽略
#
数字签名
#
为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。
数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和私钥计算出签名结果。
整体流程:请求时使用商户私钥加签,根据规则生成sign上送到易生,易生会使用商户公钥对商户报文进行验签,然后返回报文中包含易生私钥加签的sign字段,商户收到后使用易生提供的统一公钥进行验签,以保证传输过程中报文的安全性。
签名原始串
#
无论是请求还是应答,签名原始串按以下方式组装成字符串:
1.
参数使用QueryString的格式(即key1=value1&key2=value2…)拼接而成,空值不参与签名
2.
上述字符都是原始串,不要使用URLEncode
3.
报文签名说明
数据签名 数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。
要求对报文(只对data一个字段进行签名)做签名,然后赋值给sign(签名值)字段,根据报文规则上传至易生服务器
签名方式
#
使用的签名算法为SM2,使用商户私钥加签, 加签串使用默认Asn编码不压缩。
签名报文组装
#
将请求报文中data字段值按照名称的ASCII码从小到大进行排序以&连接,如果名称的首字母相同,则比较第二个字母,以此类推拼接成key=value&key=value的字符串,然后进行签名,保留原始串不用urlencode,并且赋值给sign。
返回报文验签
#
返回报文先验签再反序列化为对象,者将请求报文中data字段值按照名称的ASCII码从小到大进行排序以&连接,如果名称的首字母相同,则比较第二个字母,以此类推拼接成key=value&key=value的字符串(同加签),使用易生提供的公钥验签来保证数据的有效性。
orgTrace 说明商户流水号,规则yyyyMMddHHmmss+自定义 流水订单信息,如:20220418210000qqqqqqqq
拼接需要签名的数据示例:
#
加签/验签使用示例:
#
测试密钥信息
#
商户编号(orgId)
555555555555555
密钥特别说明:
公钥使用编码过66位,参考SM2密钥生成规则【公钥使用压缩格式02/03开头】,可参考:
获取签名秘钥对
生成公私钥
java引入包:
JAVA国密工具库
加签私钥 商户私钥(后续由商户生成对,公钥提供给易生merPriKey):
BA76B0454AEE342F59AABE820F07359E5DE08D9FD394A8EFAF51D07EECEAE21F
验签公钥 商户公钥(后续由商户生成对,公钥提供给易生merPubKey):
02485EC4E3AF05580869F1862AB2F2BCDFAB08819616890D597E0D455F56A0CC61
附测试加签后报文,加签模式【C1C3C2】
公钥:02485EC4E3AF05580869F1862AB2F2BCDFAB08819616890D597E0D455F56A0CC61
私钥:BA76B0454AEE342F59AABE820F07359E5DE08D9FD394A8EFAF51D07EECEAE21F
源数据:111111
sign r size: 33, hex: 00ee459b659028fa5e8f41c892da5e5df22ce8a31821cd4f2875d021b8d15c7f35
sign r size: 33, hex: 00b271913cc417b9f714b6a9131b4f0df2995a64699fd3b0dba021accb4ec2feb2
签名信息:3046022100EE459B659028FA5E8F41C892DA5E5DF22CE8A31821CD4F2875D021B8D15C7F35022100B271913CC417B9F714B6A9131B4F0DF2995A64699FD3B0DBA021ACCB4EC2FEB2
加密/解签 易生机构公钥(用于易生返回的报文验签):
02AEDBC219CCAC53AF0FDD2AD4583BD58F26AB04D9B88EFDAE041B9D11B4F47380 【测试环境公钥】
02C105E963641BFDB240DDDA7A729F29E79E56F5CF3E00F3F0AE51F6E33017995C 【生产环境公钥】
加密/解签 易生机构私钥(用于商户调试时验证):
FCB39DB317FACF3BB01324ADE5F9D4B439D5642A5FDBD2EA9718F697ADA30EB8
修改于
2024-04-24 01:24:45
上一页
2.3 签名验签
下一页
2.5 统一示例参数