Developer Docs

Developer Docs

  • 概觀
  • SDK 開發
  • SoftPOS API
  • APOLLO API
  • 更新歷史
  • Languages icon繁體中文
    • English

›模組

介紹

  • SDK 概觀
  • 開始

模組

  • 交易模塊
  • 配置模塊
  • 印表機模組
  • 雜項模塊

配置模塊

調用流程


設置

創建一個實例,並通過 getControllerInstance() and connectController() 連接到終端。

如果發生任何錯誤,應通過 onError 通知應用程序。

abstract class ApolloConfiguration(private val context: Context) : ConfigurationDelegate {

    private var configurationController: ConfigurationController? = null

    fun connect(): Boolean {
        try {
            if (configurationController == null) {
                // get instance
                configurationController = getControllerInstance(context, this)

                // enable debug log display in console
                SPDeviceController.enableDebugLog(true)
            }
            // establish the communication channel with terminal
            configurationController?.connectController()
        } catch (ex: Exception) {
            return false
        }
        return true
    }

    fun disconnect() {
        configurationController?.disconnectController()
        configurationController?.releaseControllerInstance()
    }

    override fun onError(errorType: ControllerError.Error?, message: String?) {
        // handle error here
    }

}

獲取終端信息和參數

獲取終端信息

// getting infos
fun getDeviceInfo() {
    configurationController?.getDeviceInfo()
}

override fun onDeviceInfoReceived(p0: Hashtable<String, String>?) {
    // p0: terminal info
    // {isSupportedTrack2=true, isSupportedTrack1=true, firmwareVersion=1.00.9, hardwareVersion=msm8909, vendorID=1234567, isCharging=true, batteryPercentage=99, serialNumber=1234567, isSupportedNfc=true, isUsbConnected=false, productID=A10, bID=APOLLO, isSupportedTrack3=true, batteryLevel=99}
}

獲取 AID

// getting aids
fun getAllAid(isContactLess: Boolean) {
    configurationController?.getAllAid(isContactLess)
}

override fun onAllAidReceived(p0: Hashtable<String, String>?) {
    // p0: All AIDs received
    // {03=A00000002501, 02=A0000003330101, 01=A0000000041010, 00=A0000000031010, 04=A0000000651010}
}

fun getAidInfo(isContactLess: Boolean, index: String) {
    configurationController?.getAidInfo(isContactLess, index)
}

override fun onAidInfoReceived(p0: Hashtable<String, Any>?) {
    // p0: received AID
    // {eRSBMax=63, contactlessTACDenial=0000000000, transCurrencyCode=0344, defaultTDOL=9F02069F0306, aid=A0000000031010, terminalCountryCode=0344, terminalCapabilities=0000C8, contactlessFloorLimit=000000050001, appIndex=00, eRSTarget=00, eRSBThresh=000000005000, contactlessTransactionLimit=000000050001, contactlessTACOnline=0000000000, contactlessCVMRequiredLimit=000000050001, eType=82, appVersion=0002, eBitField=02, defaultDDOL=9F3704, additTermCapabilities=6000F02001, contactlessTACDefault=0000000000}
}

獲取 CAPK

// getting capks
fun getAllCapk(isContactLess: Boolean) {
    configurationController?.getAllCapk(isContactLess)
}

override fun onAllCapkReceived(p0: MutableList<CAPK>?) {
    // p0: All CAPKs received
    // [com.spectratech.controllers.CAPK@a4f610, ...]
}

fun getCapkInfo(isContactLess: Boolean, index: String) {
    configurationController?.getCapkInfo(isContactLess, index)
}

override fun onCapkInfoReceived(p0: CAPK?) {
    // p0: CAPK received
    // CAPK(location=, rid=A000000003, index=89, exponent=03, modulus=..., checksum=, size=C0, expirydate=1225, effectdate=0115)
}

更新 AID

// updating AID
fun updateAID(isContactLess: Boolean, aid: Hashtable<String, String>) {
    aid["action"] = "update"
    configurationController?.updateAid(isContactLess, aid)
}

override fun onAidUpdated(p0: Hashtable<String, ConfigurationStatus>?) {
    // p0: aid update result
    // {eRSBMax=SUCCESS, terminalType=SUCCESS, transCurrencyCode=SUCCESS, defaultTDOL=SUCCESS, aid=SUCCESS, terminalCountryCode=SUCCESS, terminalFloorLimit=SUCCESS, terminalCapabilities=SUCCESS, contactTACDefault=SUCCESS, contactTACDenial=SUCCESS, eRSTarget=SUCCESS, eRSBThresh=SUCCESS, action=SUCCESS, contactTACOnline=SUCCESS, eType=SUCCESS, appVersion=SUCCESS, eBitField=SUCCESS, defaultDDOL=SUCCESS, additTermCapabilities=SUCCESS}
}

更新 CAPK

// updating CAPK
fun updateCapk(isContactLess: Boolean, capk: CAPK) {
    configurationController?.updateCapk(isContactLess, capk)
}

override fun onCapkUpdated(p0: Boolean) {
    // p0: update result
    // true | false
}

Last updated on 2/14/2020 by Jeff Kwok
← 交易模塊印表機模組 →
  • 調用流程
  • 設置
  • 獲取終端信息和參數
    • 獲取終端信息
    • 獲取 AID
    • 獲取 CAPK
  • 更新 AID
  • 更新 CAPK
Developer Docs
About
APOLLO ecosystemProducts and servicesHardware spec
Development
Development with APOLLOSDK overviewAPI overview
Support
Spectra TechnologiesContact us
Copyright © 2022 Spectra Technologies.
Site by Docusaurus