If I have a payment plugin that, in the response redirect, is not using POST (doing a simple redirect with parameters in query string), the HTML response code is not shown.
See this function in file /components/com_virtuemart/views/pluginresponse/view.html.php:
	public function display($tpl = null) {
		$mainframe = JFactory::getApplication();
		$pathway = $mainframe->getPathway();
		$document = JFactory::getDocument();
                $paymentResponse = JRequest::getVar('paymentResponse', '');
                  $paymentResponseHtml = JRequest::getVar('paymentResponseHtml','','post','STRING',JREQUEST_ALLOWRAW);
		$layoutName = $this->getLayout();
                $this->assignRef('paymentResponse', $paymentResponse);
                $this->assignRef('paymentResponseHtml', $paymentResponseHtml);
		parent::display($tpl);
	}
The  $paymentResponse variable is correctly set because calling the getVar function without explicit POST method. So I would change this function to:
	public function display($tpl = null) {
		$mainframe = JFactory::getApplication();
		$pathway = $mainframe->getPathway();
		$document = JFactory::getDocument();
                $paymentResponse = JRequest::getVar('paymentResponse', '');
                  $paymentResponseHtml = JRequest::getVar('paymentResponseHtml','','default','STRING',JREQUEST_ALLOWRAW);
		$layoutName = $this->getLayout();
                $this->assignRef('paymentResponse', $paymentResponse);
                $this->assignRef('paymentResponseHtml', $paymentResponseHtml);
		parent::display($tpl);
	}
In fact, "default" is the default value for that parameter, not post. So this way $paymentResponse and $paymentResponseHtml are get in the same way.
			
			
			
				Hi,
Yes you are rigth. 
I have done the change. 
Txs.
			
			
			
				I have found another similar code... File /components/com_virtuemart/views/cart/view.html.php:
 303  	private function lOrderDone() {
 304          $html = JRequest::getVar('html', JText::_('COM_VIRTUEMART_ORDER_PROCESSED'), 'post', 'STRING', JREQUEST_ALLOWRAW);
 305          $this->assignRef('html', $html);
 306  
 307          //Show Thank you page or error due payment plugins like paypal express
 308      }
As a consequence, the message ""Your order has been processed." is not displayed in the page with the payment form (and automatic redirect for paypal). I supposed it was deliberate, because if the payment fail the order is deleted.
			
			
			
				Hi,
Yes you are again :) rigth.
That page is not called anymore because instead the cart is displayed for paypal. But ther eis no reason to restrict to the post variables. I have done the change .
Txs.
			
			
			
				Quote from: alatak on December 28, 2011, 22:28:54 PM
That page is not called anymore because instead the cart is displayed for paypal.
What do you mean? The next 2.0.x release will have a different Paypal behavior?
			
 
			
			
				Hi,
No i did not meant that.
The behaviour will not change.