diagnosis

Note: Translation in progress.

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"
}