initConnection
POS 调用 initConnection 接口来初始化连接并检查 POS 与支付终端之间的通信。确保在创建支付请求之前先调用 initConnection 接口。
方法签名
调用此方法时,请使用以下标准方法签名格式:
copy
fun initConnect(
deviceKey: DeviceKey,
globalConfig: GlobalConfig? = null,
connectListener: ConnectListener
)参数
参数名称 | 类型 | 描述 | 是否必需 |
deviceKey | 是 | 表示包含 USB 连接必须传递的参数的对象。 | |
globalConfig | 否 | 表示支付终端的全局配置。 | |
callback | 是 | 用于返回查询结果的回调。详情请参阅 callback。 |
callback
参数名称 | 类型 | 是否必需 | 描述 |
result | 否 | 表示 POS 与支付终端之间的通信状态。 |
返回值
此方法无返回值。
使用示例
调用 initConnection 接口后,如初始化成功,将返回 Connected successfully 响应:
copy
class UsbDeviceKey(val context: Context, val usbDevice: UsbDevice) : DeviceKeycopy
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 初始化失败。 | 确认 POS 和终端设备都已连接网络。POS 客户端初始化失败时,请提供上位机客户端报文并检查 SDK 的入参参数。 |
| 终端机设备未登录。 | 输入密码登陆终端设备 ID。 |
| 支付失败。 | 确认 POS 和终端机都已连接到网络。 |
| 支付取消。 | 支付从终端设备侧中断或取消后,会将结果码同步到上位机。 |