initConnection

POS 调用 initConnection 接口来初始化连接并检查 POS 与支付终端之间的通信。确保在创建支付请求之前先调用 initConnection 接口。

方法签名

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

copy
fun initConnect(
    deviceKey: DeviceKey,
    globalConfig: GlobalConfig? = null,
    connectListener: ConnectListener
)

参数

参数名称

类型

描述

是否必需

deviceKey

UsbDeviceKey

是

表示包含 USB 连接必须传递的参数的对象。

globalConfig

GlobalConfig

否

表示支付终端的全局配置。

callback

ConnectListener

是

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

callback

参数名称

类型

是否必需

描述

result

ConnectListener

否

表示 POS 与支付终端之间的通信状态。

返回值

此方法无返回值。

使用示例

调用 initConnection 接口后,如初始化成功,将返回 Connected successfully 响应:

copy
class UsbDeviceKey(val context: Context, val usbDevice: UsbDevice) : DeviceKey
copy
PaymentManager.initConnect(
    UsbDeviceKey(applicationContext, usbDevice),
    GlobalConfig(15000L, true),
    object : ConnectListener {
        override fun onConnectSuccess() {
            runOnUiThread {
                Toast.makeText(this@UsbHotScanActivity, "Connected successfully", Toast.LENGTH_SHORT).show()
                tvStatus.text = "Status: Connected successfully"
            }
        }

        override fun onConnectFailure(e: Exception) {
            runOnUiThread {
                Toast.makeText(this@UsbHotScanActivity, "Failed to connect. Check the USB connection.", Toast.LENGTH_SHORT).show()
                tvStatus.text = "Status: Failed to connect"
            }
        }

    }
)

错误码

以下是调用 initConnection 接口可能返回的结果码及错误码:

结果码/错误码

描述

后续操作

SDK_INITIALIZATION_FAILED

SDK 初始化失败。

确认 POS 和终端设备都已连接网络。POS 客户端初始化失败时,请提供上位机客户端报文并检查 SDK 的入参参数。

TERMINAL_NOT_LOGIN

终端机设备未登录。

输入密码登陆终端设备 ID。

PAYMENT_FAILED

支付失败。

确认 POS 和终端机都已连接到网络。

PAYMENT_CANCELLED

支付取消。

支付从终端设备侧中断或取消后,会将结果码同步到上位机。