diagnosis

diagnosis 接口由您的 POS 调用,用于检查支付终端的状态。请确保在创建任何支付请求之前调用此接口,以确认支付终端已准备就绪,可以接受支付请求。

方法签名

调用此方法时,请使用以下标准方法签名格式:

copy
fun diagnosis(
    diagnosisRequest: DiagnosisRequest,
    options: RequestOptions? = null,
    callBack: DiagnosisResultListener? = null
)

参数

参数名称

类型

是否必需

描述

diagnosisRequest

DiagnosisRequest

是

包含查询支付终端全局状态所需参数的对象。 

options

RequestOptions

否

包含接口请求中可选参数的对象。

callback

DiagnosisResultListener

否

用于返回查询结果的回调。详细信息请参阅 callback。

callback

参数名称

类型

是否必需

描述

result

DiagnosisResultData

否

表示查询支付终端状态的结果。 

返回值

参数名称

类型

是否必需

描述

result

Result

是

接口调用的结果。

networkStatus

String

是

网络连接状态。有效值为:

  • Y:连接正常。
  • N:连接异常。建议您检查网络状态、路由器 ,使终端设备重新连接网络。

printerStatus

String

是

打印机状态。有效值为:

  • Y:连接正常。
  • N:连接异常。建议您检查终端设备打印机。

globalStatus

String

是

设备整体状态,用于准备接收请求。有效值为:

  • Y:连接正常。
  • N:连接异常。建议您重启终端设备。

结果码

结果码

状态码

结果信息

后续操作

SUCCESS

S

成功

无需后续操作。

PROCESS_FAIL

F

发生常规业务故障。请勿重试。

联系 Antom 技术支持。

PROCESS_FAIL

F

数据格式无效。

联系 Antom 技术支持。

PROCESS_FAIL

F

公钥配对失败。

联系 Antom 技术支持。

TERMINAL_BUSY

F

支付终端繁忙。

稍后重试。

DEVICE_NOT_CONNECT

F

USB 连接失败。

  • 检查代码中是否已完成初始化连接。如果未完成,请执行初始化连接。
  • 检查 USB 连接两端是否已在代码中安全连接。如果未连接,请重新连接两个设备。

TIMEOUT_EXCEPTION

U

响应超时。

检查支付终端应用程序是否处于活动状态。如果未激活,请重新激活。

UNKNOWN_EXCEPTION

U

未知原因引起的接口调用失败。

重新调用接口。

UNKNOWN_EXCEPTION

U

解密支付终端返回的数据失败。

联系 Antom 技术支持。

UNKNOWN_EXCEPTION

U

消息格式无效。

联系 Antom 技术支持。

示例

以下代码展示了如何调用 diagnosis 接口:

copy
PaymentManager.diagnosis(
    DiagnosisRequest(),
    RequestOptions(5000L),
    object : DiagnosisResultListener {
        override fun result(result: DiagnosisResultData) {
            responseTextView.post {
                responseTextView.text = result.toString()
            }
        }

    }
)

以下代码展示了一个响应示例:

copy
{
    "result":{
        "resultCode": "SUCCESS",
        "resultStatus": "S",
        "resultMessage": "Success."
    },
    "networkStatus": "Y",
    "printerStatus": "Y",
    "globalStatus": "Y"
}