initConnection

Note: Translation in progress.

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

支付取消。

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