跳到主要内容
版本:1.1.1

SSK POS HTTP Server 接口文档

版本号编辑者更新时间更新内容
V1.0.0房杨平2025/07/25完善功能

接口介绍

注意: 这里所有的接口参数都以JSON的格式,所有的接口请求和响应都应该包含公共参数信息。

请求方式

任何可以发起 HTTP 请求的技术都可以使用。POST请求: http://[POS IP]:8090/[接口]

公共请求参数信息

参数名类型是否必填描述
requestIdString调用方唯一请求流水号
cashierNoString收银员编号,用于标识操作人员

公共响应参数信息

参数名类型是否必填描述
codeString业务响应码,定义业务处理结果状态(见下方响应码说明)
msgString业务响应描述信息,用于说明响应码对应的具体结果
dataObject数据对象
├─ requestIdString原样返回请求中的流水号,用于请求-响应匹配校验
├─ snString终端SN

公共响应结构

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "971dda25-8638-4ef1-b139-10f7661599a4",
"sn": "247KCASL1947",
"..."
}
}

响应码定义表

常量名类型说明
REQUEST"04"String表示请求已发出(待处理状态)
CONFIRM"03"String请求确认收到(已接收未处理)
PROCESSING"02"String请求正在处理中(异步处理)
FAIL"01"String受理异常(业务失败)
SUCCESS"00"String正常受理(业务成功)

接口列表

签到

接口:/sign

请求示例

curl --location --request POST 'http://172.16.46.132:8080/sign' 

响应参数

参数名类型描述
signStatusString签到状态 YES NO
merchantNoString商户号
defaultAmountString预授权金额
showCardSwipeButtonString是否显示刷卡按钮 SHOW HIDE

示例

{
"code":"00",
"msg":"SUCCESS",
"data":{
"api":"/sign",
"sn":"SI00005958",
"signStatus":"YES",
"merchantNo":"4276000064",
"defaultAmount":"45.00",
"showButton":"SHOW",
}
}

查询签到信息

接口:/query/device/status

curl --location --request POST 'http://172.16.46.132:8080/query/device/status'

响应参数

参数名类型描述
signStatusString签到状态 YES NO
merchantNoString商户号
defaultAmountString预授权金额
showCardSwipeButtonString是否显示刷卡按钮 SHOW HIDE

示例

{
"code":"00",
"msg":"SUCCESS",
"data":{
"api":"/query/device/status",
"sn":"SI00005958",
"signStatus":"YES",
"merchantNo":"4276000064",
"defaultAmount":"45.00",
"showButton":"SHOW",
}
}

消费

接口: /sale

参数说明

字段名类型是否必传字段说明
paymentTypeString支付类型: 01-银行卡,04-二维码(B 扫 C),05-二维码(C 扫 B) 06-支付卡
paymentSubTypeString支付子类型: 只有 paymentType=06 必传: 12-八达通
merchantSerialNoString商户交易流水号: 需保证全局唯一性
orderAmountString订单金额: 最小值为 0.01,两位小数)
walletTypeString钱包类型: paymentType=05 时选填 :01-微信,02-支付宝,03-云闪付,04-PayNow,05-PayMe
externalAdditionalDataString附加信息
modeStringsync-同步,async-异步, 默认同步

请求示例

curl --location --request POST 'http://172.16.46.132:8080/sale' \
--data-urlencode 'requestId=98ed63fc-89bd-4b58-aa88-487b25de984f' \
--data-urlencode 'paymentType=01' \
--data-urlencode 'merchantSerialNo=5317b040-40ef-409c-a260-4c92a4d38d54' \
--data-urlencode 'orderAmount=20.00' \
--data-urlencode 'externalAdditionalData="{\"key1\":\"value1\",\"key2\":\"value2\"}"' \
--data-urlencode 'mode=sync'

响应参数

字段名类型字段说明
merchantSerialNoString商户交易流水号
orderNoString系统生成的唯一订单号
transactionNoString交易流水号(全局唯一)
currencyString交易币种(ISO 4217 标准,如:CNY
totalAmountString支付总金额
orderAmountString订单金额
tipAmountString小费金额
payerFee String交易手续费金额
transactionStatusString交易状态,参考附录枚举值
paymentWayString支付方式,参考附录枚举值
paymentTypeString支付类型,参考附录枚举值
paymentSubTypeString支付子类型,参考附录枚举值
cardTypeString卡类型,参考附录枚举值
cardFlagString卡标识,参考附录枚举值
cardBrandString卡组织,参考附录枚举值
cardNoMaskString脱敏卡号(如:6214*****5678
posBatchNoStringPOS 终端批次号
posSerialNoStringPOS 终端流水号
retrievalNoString检索参考号
authCodeString交易授权码(联机交易返回)
transactionTimeString交易发起时间
completionTimeString交易完成时间

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "5b80ac3e-0f69-4395-8886-ad09f8337504",
"sn": "SI00005958",
"api": "/sale",
"merchantSerialNo": "5798e163-64b6-46aa-a321-100a5d21e0a3",
"orderNo": "10820250725000011341",
"transactionNo": "TK8E20BC445400000843966473240576",
"currency": "HKD",
"totalAmount": "20.00",
"orderAmount": "20.00",
"tipAmount": "0.00",
"payerFee": "0.00",
"transactionStatus": "00",
"paymentWay": "01",
"paymentType": "01",
"paymentSubType": "03",
"cardBrand": "01",
"cardNoMask": "433668******3008",
"posBatchNo": "250725",
"posSerialNo": "000012",
"retrievalNo": "520608288586",
"authCode": "704583",
"transactionTime": "2025-07-25T08:15:42.000+00:00",
"completionTime": "2025-07-25T08:15:43.000+00:00"
}
}

消费撤销

接口: /sale/revoke

请求参数说明
参数名类型是否必填描述
originalTransactionNoString原预授权交易流水号
merchantSerialNoString商户交易流水号(需保证全局唯一性)

请求示例

curl --location --request POST 'http://172.16.46.132:8080/sale/revoke?requestId=0bc18b7e-85bf-4894-81ad-938930796f7c&originalTransactionNo=TK0E84A2A16C00000844002829369344&merchantSerialNo=24018b1d-b57c-439f-a5a0-7719cfc8c42c'

响应参数

字段名类型描述
transactionNoString交易流水号,本次撤销交易生成的流水号
originalTransactionNoString需要撤销的原交易流水号
merchantSerialNoString原交易对应的商户流水号
orderNoString订单号
transactionStatusString交易状态,参考附录枚举值
orderAmountString原交易订单金额
transactionTimeString交易发起时间

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "054d6a7d-6a6e-458e-8383-9b304b6fa1d2",
"sn": "SI00005958",
"api": "/sale/revoke",
"transactionNo": "TK5DF9049A6B00000844003054649344",
"originalTransactionNo": "TK0E84A2A16C00000844002829369344",
"merchantSerialNo": "4ae2b31e-bf09-4472-8465-8e9aa47a6667",
"orderNo": "10820250725000011346",
"transactionStatus": "00",
"orderAmount": "20.00",
"transactionTime": "2025-07-25T08:52:55.000+00:00"
}
}

预授权

接口: /auth

请求参数说明
参数名类型是否必填描述
merchantSerialNoString商户交易流水号(需保证全局唯一性)
orderAmountString订单金额 (最小值为0.01,单位:元,两位小数)
externalAdditionalDataString附加信息
modeStringsync-同步,async-异步, 默认同步

请求示例

curl --location --request POST 'http://172.16.46.132:8080/auth' \
--data-urlencode 'requestId=5fbdecb5-96e8-4c68-8ea0-4db15011bf61' \
--data-urlencode 'sn=SI00004979' \
--data-urlencode 'merchantSerialNo=40e6ce5e-468a-4278-99cc-f31ebc240428' \
--data-urlencode 'orderAmount=1.55' \
--data-urlencode 'mode=sync' \
--data-urlencode 'externalAdditionalData="{\"key1\":\"value1\",\"key2\":\"value2\"}"'

响应参数说明

字段名类型字段说明
merchantSerialNoString商户交易流水号
orderNoString系统生成的唯一订单号
transactionNoString交易流水号(全局唯一)
currencyString交易币种(ISO 4217 标准,如:CNY
totalAmountString支付总金额
orderAmountString订单金额
tipAmountString小费金额
payerFee String交易手续费金额
transactionStatusString交易状态,参考附录枚举值
paymentWayString支付方式,参考附录枚举值
paymentTypeString支付类型,参考附录枚举值
paymentSubTypeString支付子类型,参考附录枚举值
cardTypeString卡类型,参考附录枚举值
cardFlagString卡标识,参考附录枚举值
cardBrandString卡组织,参考附录枚举值
cardNoMaskString脱敏卡号(如:6214*****5678
posBatchNoStringPOS 终端批次号
posSerialNoStringPOS 终端流水号
retrievalNoString检索参考号
authCodeString交易授权码(联机交易返回)
transactionTimeString交易发起时间
completionTimeString交易完成时间

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "ccba7775-dc38-48ad-b466-c42402084889",
"sn": "SI00005958",
"api": "/auth",
"merchantSerialNo": "6d98c43b-4642-4438-8bd7-b42d22efd7b7",
"orderNo": "10820250725000011347",
"transactionNo": "TK999B0FDEB400000844009243394048",
"currency": "HKD",
"totalAmount": "1.55",
"orderAmount": "1.55",
"tipAmount": "0.00",
"payerFee": "0.00",
"transactionStatus": "00",
"paymentWay": "01",
"paymentType": "01",
"paymentSubType": "03",
"cardBrand": "01",
"cardNoMask": "433668******3008",
"posBatchNo": "250725",
"posSerialNo": "000015",
"retrievalNo": "520608288632",
"authCode": "911384",
"transactionTime": "2025-07-25T08:59:12.000+00:00",
"completionTime": "2025-07-25T08:59:13.000+00:00"
}
}

预授权撤销

接口: /auth/revoke

请求参数说明
参数名类型是否必填描述
originalTransactionNoString原预授权交易流水号
merchantSerialNoString商户交易流水号(需保证全局唯一性)

请求示例

curl --location --request POST 'http://172.16.46.132:8080/auth/revoke?requestId=1264cc2b8f-8cc5-4c70-bb8f-9e3ae049dc31&originalTransactionNo=TK999B0FDEB400000844009243394048&merchantSerialNo=510b1d10-a661-47b5-931f-57f6a60e4d19'

响应参数说明

字段名类型描述
transactionNoString交易流水号,本次撤销交易生成的流水号
originalTransactionNoString需要撤销的原交易流水号
merchantSerialNoString原交易对应的商户流水号
orderNoString订单号
transactionStatusString交易状态,参考附录枚举值
orderAmountString原交易订单金额
transactionTimeString交易发起时间

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "125ac66c57-3647-425f-ae8f-c42719eb819a",
"sn": "SI00005958",
"api": "/auth/revoke",
"transactionNo": "TKB90081E9CD00000844011693539328",
"originalTransactionNo": "TK999B0FDEB400000844009243394048",
"merchantSerialNo": "501ef667-3f1a-4191-add1-5e912263ac84",
"orderNo": "10820250725000011347",
"transactionStatus": "00",
"orderAmount": "1.55",
"transactionTime": "2025-07-25T09:01:42.000+00:00"
}
}

交易查询

接口: /query/transaction

请求参数说明
参数名类型是否必填描述
originalTransactionNoString原交易流水号
merchantSerialNoString原商户交易流水号

请求示例

curl --location --request POST 'http://172.16.46.132:8080/query/transaction' \
--data-urlencode 'requestId=12740e8a93-aee2-45ed-a859-31a011c8e257' \
--data-urlencode 'originalTransactionNo=TK999B0FDEB400000844009243394048'

响应参数说明

字段名类型字段说明
merchantSerialNoString商户交易流水号
orderNoString系统生成的唯一订单号
transactionNoString交易流水号(全局唯一)
currencyString交易币种(ISO 4217 标准,如:CNY
totalAmountString支付总金额
orderAmountString订单金额
tipAmountString小费金额
payerFee String交易手续费金额
transactionStatusString交易状态,参考附录枚举值
paymentWayString支付方式,参考附录枚举值
paymentTypeString支付类型,参考附录枚举值
paymentSubTypeString支付子类型,参考附录枚举值
cardTypeString卡类型,参考附录枚举值
cardFlagString卡标识,参考附录枚举值
cardBrandString卡组织,参考附录枚举值
cardNoMaskString脱敏卡号(如:6214*****5678
posBatchNoStringPOS 终端批次号
posSerialNoStringPOS 终端流水号
retrievalNoString检索参考号
authCodeString交易授权码(联机交易返回)
transactionTimeString交易发起时间
completionTimeString交易完成时间

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "120d412851-a918-4995-bf74-578f4a65562b",
"sn": "SI00005958",
"api": "/query/transaction",
"merchantSerialNo": "6d98c43b-4642-4438-8bd7-b42d22efd7b7",
"orderNo": "10820250725000011347",
"transactionNo": "TK999B0FDEB400000844009243394048",
"currency": "HKD",
"totalAmount": "1.55",
"orderAmount": "1.55",
"tipAmount": "0.00",
"payerFee": "0.00",
"transactionStatus": "00",
"paymentWay": "01",
"paymentType": "01",
"paymentSubType": "03",
"cardBrand": "01",
"cardNoMask": "433668******3008",
"posBatchNo": "250725",
"posSerialNo": "000015",
"retrievalNo": "520608288632",
"authCode": "911384",
"transactionTime": "2025-07-25T08:59:12.000+00:00",
"completionTime": "2025-07-25T08:59:13.000+00:00"
}
}

设置营业

接口:/open/business

请求参数

参数名类型是否必填描述
apiString接口

请求示例

curl --location --request POST 'http://172.16.46.132:8080/open/business'

响应参数

参数名类型描述
businessStatusString营业状态 OPEN CLOSE

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"sn": "SI00005958",
"api": "/open/business",
"businessStatus": "OPEN"
}
}

设置停业

接口:/stop/business

请求参数

参数名类型是否必填描述
apiString接口

请求示例

curl --location --request POST 'http://172.16.46.132:8080/stop/business'

响应参数

参数名类型描述
businessStatusString营业状态 OPEN CLOSE

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"requestId": "880186bc-07eb-4f0b-b82d-d84a44dc466e",
"sn": "SI00005958",
"api": "/stop/business",
"businessStatus": "CLOSE"
}
}

查询营业状态

接口:/query/business/status

请求参数

公共请求参数

请求示例

curl --location --request POST 'http://172.16.46.132:8080/query/business/status'

响应参数

参数名类型描述
businessStatusString营业状态 OPEN CLOSE

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"sn": "SI00005958",
"api": "/query/business/status",
"businessStatus": "CLOSE"
}
}

完成交易

接口:/finish/transaction

请求参数

公共请求参数

请求示例

curl --location --request POST 'http://172.16.46.132:8080/finish/transaction'

响应参数

公共返回参数

示例

{
"code":"00",
"msg":"SUCCESS",
"data":{
"api":"/finish/transaction",
"sn":"3080004570",
"businessStatus":"OPEN",
}
}

取消交易

接口:/cancel/transaction

请求参数

公共请求参数

请求示例

curl --location --request POST 'http://172.16.46.132:8080/cancel/transaction'

响应参数说明

公共返回参数

示例

{
"code": "00",
"msg": "SUCCESS",
"data": {
"sn": "SI00005958",
"api": "/cancel/transaction"
}
}