REST API

Performing a Linked Refund

This section describes how to perform a linked refund using a reference to the original transaction for a full or partial transaction amount. Standalone credits are also supported in this Acceptance Devices solution. For more information, see Performing a Standalone Credit.
Follow these steps to perform a linked refund:
  1. Create a
    TransactionParameters
    object and provide the required information for the payment.
  2. Retrieve the
    transactionIntent
    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,
    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 decline d, aborted, or failed",  Toast.LENGTH_LONG).show()             }         }     } }