Refund

Use the information in this section to process a refund by referencing the original transaction. You can issue refunds for either the full amount or a partial amount of the original transaction. Stand-alone credits are also supported and can be processed independently of a prior transaction. For more information, see Stand-Alone Credit.
Follow these steps to process a refund.
  1. Create a
    TransactionParameters
    object and provide the required information for the payment.
  2. Retrieve the
    transactionIntent
    variable from the
    mposUi
    object and use the
    startActivity
    method to initiate the transaction flow.
    val transactionParameters = TransactionParameters.Builder()              .refund("transactionIdentifier")           // Specify amount and currency for partial refunds           // .amountAndCurrency(BigDecimal("1.00"), Currency.EUR)             .build()  val transactionIntent = mposUi.createTransactionIntent(transactionParameters)  startActivityForResult(transactionIntent, MposUi.REQUEST_CODE_PAYMENT)
  3. After the transaction is completed 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_TRAN SACTION_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()              }          }      }  }
  4. Get the full transaction object by retrieving the
    latestTransaction
    from the mposUi object.
    val transactionObject = mposUi.latestTransaction