PayXpert - User documentation

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Version History

Version

Date

Changes

Author

1.0

28 October 2024

Initial Documentation

Julien Garnier


Pre-requirements

  • SUNMI POS Model number is P1N or P1-4G or P2PRO or P2 Lite SE (Check Seeting-->About-->Mode number)

  • SUNMI PayHardware Service (SPHS) SDK. Version 3.3.0 or the lastest version. SunmiPayHardwareService_v3.3.0_release.apk

    • Go to Setting in the Device → Then search in the bar “SunmiPayHardwareService” → Click on it → Click on the button Advanced → In the advanced section, check the version of the SPHS SDK.

  • Android Studio Quick integrate, Put the PayLib-release-xxx.aar package under the libs folders of your App.

    repositories {
          flatDir {
          dirs 'libs'
      }
    }
    dependencies {
      ......
      compile(name: 'PayLib-release-xxx', ext: 'aar')
    }

Warning

  • If merchant app disables the navigation bar, they will need to implement a mechanism to activate it temporary. Otherwise, the POS will be blocked in case there is a manual intervention that needs to be done on the POS Device.

  • The variable to desactivate the Nav Bar via SUNMI will be shared between merchant app and payXpress app.

  • By Default, PayXpress app deployed in the P2 LITE SE / P2 PRO devices will activate the Nav Bar in the standbyscreen (initial screen) and then it will disable it during the payment transaction. Once the payment has been finalize it will be activated it back automatically.

Android Version and IDE Version supported by the SDK


SDK only supports API-19 (Android 4.4) or the latest version.
SDK only support Android Studio, Intellij

SunmiPayKernel SDK Operation Object

Create Instance

image-20241024-130144.png

Public Member Variable - mBasicOptV2

image (48)-20241024-130549.png


Method to disable Navigation Bar

image (49).png


Example

Extract of the Navigation Bar to Activate or Desactivate in Kotlin.

object SunmiSdkIntegrationExample {
    private val instance: SunmiPayKernel = SunmiPayKernel.getInstance()
    private var isInitialized: Boolean = false

    /**
     * Initialize Sunmi SDK before calling it
     */
    suspend fun init(context: Context): Boolean {
        if (isInitialized) {
            return true
        }

        isInitialized = suspendCoroutine {
            SunmiPayKernel.getInstance().initPaySDK(
                context,
                object : SunmiPayKernel.ConnectCallback {
                    override fun onConnectPaySDK() {
                        it.resume(true)
                    }

                    override fun onDisconnectPaySDK() {
                        it.resume(false)
                    }
                }
            )
        }

        return isInitialized
    }

    /**
     * Change navigation bar visibility according a flag
     */
    fun setNavigationBarVisibility(enabled: Boolean) {
        if (enabled) {
            instance.mBasicOptV2.setNavigationBarVisibility(AidlConstants.SystemUI.SHOW_NAV_BAR)
        } else {
            instance.mBasicOptV2.setNavigationBarVisibility(AidlConstants.SystemUI.HIDE_NAV_BAR)
        }
    }
} 

  • No labels