protected static function handleReponse(TransactionData $txnData, $fields = array())
 {
     if (!$txnData->getTransaction()) {
         return array();
     }
     $methods = array('getAmount', 'getAmountRefunded', 'getCount', 'getPaymentMethod', 'getConsumerProtection', 'getStatus', 'getStatusReason', 'getStatusModifiedTime', 'getLanguageCode', 'getCurrency', 'getTransaction', 'getReason', 'getTime', 'getProjectId', 'getRecipientHolder', 'getRecipientAccountNumber', 'getRecipientBankCode', 'getRecipientCountryCode', 'getRecipientBankName', 'getRecipientBic', 'getRecipientIban', 'getSenderHolder', 'getSenderAccountNumber', 'getSenderBankCode', 'getSenderCountryCode', 'getSenderBankName', 'getSenderBic', 'getSenderIban');
     // apply field list
     if ($fields) {
         $methods = array_intersect($methods, $fields);
     }
     $output = array();
     foreach ($methods as $method) {
         $key = lcfirst(substr($method, 3));
         switch ($method) {
             case 'getReason':
                 $output[$key . '1'] = $txnData->{$method}(0, 0);
                 $output[$key . '2'] = $txnData->{$method}(0, 1);
                 break;
             default:
                 $output[$key] = $txnData->{$method}();
         }
     }
     return $output;
 }