/**
  * This method generates the external transaction id according to the transaction context.
  * 
  * @return string
  */
 protected final function generateExternalId()
 {
     $orderId = $this->getTransactionContext()->getOrderId();
     $transactionId = $this->getTransactionContext()->getTransactionId();
     if (!empty($orderId) && $this->transactionContext->isOrderIdUnique()) {
         return $orderId;
     } else {
         if (!empty($orderId)) {
             return $orderId . '_' . $transactionId;
         } else {
             return $transactionId;
         }
     }
 }
 public function isOrderIdUnique()
 {
     return $this->_transactionContext->isOrderIdUnique();
 }