Activation
Activation API allows merchants to activate SoftPOS app and loads the necessary configurations
Activation API is used to activate the SoftPOS app within the local area network. Merchant is required to have the activationCode before proceeding to call this API.
You can integrate in two UI environments:
- Traditional Activity / Fragment UI
- Modern Jetpack Compose UI
Activation API Request
SoftPOS app has to be activated before calling any other API.
Option 1 : Activation in Activity or Fragment
Use when : your screen is based on AppCompatActivity
or Fragment
.
class ActivationActivity : AppCompatActivity() {
private val activationLauncher =
registerForActivityResult(msaPosApi.activationContract()) { result ->
when (result) {
is PosResponse.Success -> {
Log.d("Activation", "Success: ${result.rspCode} - ${result.rspMsg}")
}
is PosResponse.Failed -> {
Log.e("Activation", "Failed: ${result.rspCode} - ${result.rspMsg}")
}
}
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_activation)
triggerActivation("MERCHANT_ACTIVATION_CODE")
}
private fun triggerActivation(code: String) {
activationLauncher.launch(PosRequest.Activation(activationCode = code))
}
}
Option 2 : Activation in Jetpack Compose
Use when : your screen is implemented using Compose
.
@Composable
fun ActivationScreen(msaPosApi: MsaPosApi, activationCode: String) {
val context = LocalContext.current
val activationLauncher = rememberLauncherForActivityResult(
msaPosApi.activationContract()
) { result ->
when (result) {
is PosResponse.Success -> {
Log.d("Activation", "Success: ${result.rspCode} - ${result.rspMsg}")
}
is PosResponse.Failed -> {
Log.e("Activation", "Failed: ${result.rspCode} - ${result.rspMsg}")
}
}
}
activationLauncher.launch(PosRequest.Activation(activationCode = activationCode))
}
Activation API Response
{
"respCode" : "0",
"rspMsg": "Success"
}
Updated 1 day ago