Stand-Alone Credit

Use the information in this section to process a stand-alone credit. This type of transaction enables you to issue a credit without referencing a previous transaction. To complete the credit, the customer must present their payment card at the time of processing.
When processing a stand-alone credit, there is no limit on the credit amount because the transaction does not reference the original purchase. To help manage risk, it is recommended to use a refund transaction whenever possible. For more information, see Refund.
Follow these steps to process a stand-alone credit.
  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(BigDecimal("1.00"), Currency.EUR)                  .customIdentifier("yourReferenceForTheTransaction")               .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_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()            }         }     } }
  4. Get the full transaction object by retrieving the
    latestTransaction
    from the mposUi object.
    val transactionObject = mposUi.latestTransaction