AjaxForm + FormIt + hooks

Доброе время суток, возникли проблемы при интеграции своего hooks и AjaxForm.
Hooks используется для интеграции с банком для произведение оплаты.
Проблема заключается в том, что не могу перенаправить на страницу оплаты после отправки формы.

Вот сам Hooks:
$miObj = new RedsysAPI;
		
	//$modx->log(xPDO::LOG_LEVEL_ERROR, print_r($miObj, 1));
	
	$merchantCode 	="";   
	$terminal 		="1";
	$amount 		="145";  
	$currency 		="978";
	$transactionType ="0";
	
	
	$merchantURL 	= MODX_ASSETS_URL.'components/redsys/action.php';
	$urlOK 			= ""; 
	$urlKO 			= ""; 
	$order 			= time(); 

	//Entorno
	//$urlPago = "https://sis.redsys.es/sis/realizarPago"; 
	$urlPago = "https://sis-t.redsys.es:25443/sis/realizarPago"; // ТЕСТОВЫЙ УРЛ

	// Se Rellenan los campos
	$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
	$miObj->setParameter("DS_MERCHANT_ORDER",strval($order));
	$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$merchantCode);
	$miObj->setParameter("DS_MERCHANT_CURRENCY",$currency);
	$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$transactionType);
	$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
	$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$merchantURL);
	$miObj->setParameter("DS_MERCHANT_URLOK",$urlOK);		
	$miObj->setParameter("DS_MERCHANT_URLKO",$urlKO);

	//Datos de configuración
	$version="HMAC_SHA256_V1";
	$key = '';//Clave secreta del terminal 

	// Se generan los parámetros de la petición
	$request = "";
	$params = $miObj->createMerchantParameters();
	$signature = $miObj->createMerchantSignature($key);
	
	$output = '';
	
	$html = '';
	$html .= '<form method="POST" action="'.$urlPago.'" id="paymentform" name = "paymentform">';
    $html .= '
            <input type="hidden" name="Ds_SignatureVersion" value="'.$version.'"/>
            <input type="hidden" name="Ds_MerchantParameters" value="'.$params.'"/>
            <input type="hidden" name="Ds_Signature" value="'.$signature.'"/>';
    $html .= '</form>
                <script type="text/javascript">
                    document.getElementById("paymentform").submit();
                </script>';
                
    $modx->log(xPDO::LOG_LEVEL_ERROR, print_r($html, 1));
    
    return $html;
Паша Палиенко
31 января 2018, 18:59
modx.pro
1 410
0

Комментарии: 3

Андрей
01 февраля 2018, 08:58
0
Хук может возвращать только true/false. Вам свой обработчик формы проще сделать.
    Олег
    01 февраля 2018, 12:01
    0
    Я в подобной ситуации внес небольшие изменения в js ajaxform
    Перед реакцией на ответ он проверяется, в ответе я присылаю массив с нужными мне данными, одним из типов может быть 'redirect', тогда в массиве лежит 'link' => 'http://...' на который и производится редирект.
      Sergey
      29 июня 2020, 17:58
      0
      А подскажите как в ответ присылать массив с нужными данными?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3