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