We often see funky, homebrew error structures like,
gateway_common/gateway.adapter.php line 991 $this->transaction_response->setErrors( array( 'internal-0000' => array( 'debugInfo' => "Failed pre-process checks for transaction type $transaction.", 'message' => $this->getErrorMapByCodeAndTranslate( 'internal-0000' ), 'logLevel' => LogLevel::INFO ) ) );
Instead, use error objects from SmashPig.