Buenos días, estoy trabajando con el TPV de Redsys. El cliente haría un pago en la página a través de esta pasarela de pago. Tengo una página en la que recojo todos los datos.
CONFIRMA-PAGO.PHP
Código PHP:
// Se incluye la librería
include 'inc/redsysHMAC256_API_PHP_5.2.0/apiRedsys.php';
// Se crea Objeto
$miObj = new RedsysAPI;
$urlMerchant=$urlweb_ok = get_site_url('', '', 'https').'/validacion-firma';
$urlweb_ok = get_site_url('', '', 'https').'/validacion-firma';
// Se Rellenan los campos
$miObj->setParameter("DS_MERCHANT_AMOUNT",$amount);
$miObj->setParameter("DS_MERCHANT_CURRENCY",$currency);
$miObj->setParameter("DS_MERCHANT_ORDER",$order);
$miObj->setParameter("DS_MERCHANT_MERCHANTCODE",$code);
$miObj->setParameter("DS_MERCHANT_TERMINAL",$terminal);
$miObj->setParameter("DS_MERCHANT_TRANSACTIONTYPE",$transactionType);
$miObj->setParameter("DS_MERCHANT_MERCHANTURL",$urlMerchant);
$miObj->setParameter("DS_MERCHANT_URLOK", $urlweb_ok);
...
Cuándo se comprueba que el pago este correcto me mandaría a VALIDACION-FIRMA, pasándole los datos (ya que se supone que con DS_MERCHANTURL me manda los datos a la URL que le indique). Aquí saldría un mensaje diciendo que el pago se ha hecho correctamente comprobando que los datos no estén vacíos.
El problema es al llegar a la otra página, recojo los datos y me llegan vacíos, por lo que la comprobación no funcionaría y muestra un mensaje diciendo que ha habido un error en el pago.
VALIDACION-FIRMA.PHP
Código PHP:
require_once('inc/redsysHMAC256_API_PHP_5.2.0/apiRedsys.php');
$Redsys=new RedsysAPI;
$versionURL=$_POST["Ds_SignatureVersion"];
$paramsURL=$_POST["Ds_MerchantParameters"];
$signatureRecibida=$_POST["Ds_Signature"];
if (isset($paramsURL))
{
Código....
}
Muchas gracias y un saludo.