Managing MerchantTransactionId
MerchantTransactionId
serves the purpose of uniquely identifying every payment/transaction.
When a payment fails, the transaction is assumed to be completed (either succeeds or fails). So, a new MerchantTransactionId
would be required to restart the failed payment transaction
Payment failure is signalled by onFailure(statusObject)
callback