REST API

Stand-Alone Credit

This section describes how to process a stand-alone credit. This transaction is used to process a credit without reference to the original transaction. The customer is required to present their card for this type of transaction.
WARNING
When processing a stand-alone credit, there is no limit on the credit amount because there is no reference to the original transaction amount. The recommendation is 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
    value 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 previous 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. You can get the full transaction object by retrieving the
    latestTransaction
    from the
    mposUI
    object.
    val transactionObject = mposUi.latestTransaction