Sale with Installment Details

This section describes how to process a sale with installment details. This type of transaction can be used to include required installment payment details as part of the transaction.
This transaction is available only in the Latin American & Caribbean (LAC) region.
Follow these steps to process a sale with installment details:
  1. Create an
    InstallmentDetails
    object and set one ore more of the installment fields.
    // Set value of the builder to the number of installments val installmentDetails = InstallmentDetailsBuilder(5) // Set to PlanType.ISSUER_FUNDED for issuer funded plans .planType(PlanType.MERCHANT_FUNDED) .includesInterest(true) .governmentPlan(true) .build()
  2. Create a
    TransactionParameters
    object and provide the required information for the payment.
  3. Retrieve the
    transactionIntent
    from the
    mposUi
    object and use the
    startActivity
    method to initiate the transaction flow.
    val transactionParameters = TransactionParameters.Builder() .charge(BigDecimal("1.00"), Currency.EUR) .customIdentifier("yourReferenceForTheTransaction") .installmentDetails(installmentDetails) .build() val transactionIntent = mposUi.createTransactionIntent(transactionParameters) startActivityForResult(transactionIntent, MposUi.REQUEST_CODE_PAYMENT)
  4. After the transaction is complete and the Summary screen is dismissed, the
    onActivityResult
    is triggered. This action returns information about the last transaction.
    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (requestCode == MposUi.REQUEST_CODE_PAYMENT) { when (resultCode) { // Result code from a successful transaction MposUi.RESULT_CODE_APPROVED -> { val transactionIdentifier = data?.getStringExtra(MposUi.RESULT_EXTRA_TRANSACTION_IDENTIFIER) Toast.makeText(findViewById(android.R.id.content),"Transaction approved!\nIdentifier: $transactionIdentifier", Toast.LENGTH_LONG).show() } // Result code from a declined, aborted or failed transaction MposUi.RESULT_CODE_FAILED -> { Toast.makeText(findViewById(android.R.id.content), "Transaction was declined, aborted, or failed", Toast.LENGTH_LONG).show() } } } }
  5. You can get the full transaction object by retrieving the
    latestTransaction
    from the
    mposUi
    object.
    val transactionObject = mposUi.latestTransaction