Estoy intentando integrar pagofacil en mi propio sistema de compras. Estoy en servidor de pruebas como se ve en el action del form.
Las funciones:
function firmarArreglo($arreglo) {
//Ordeno Arreglo
ksort($arreglo);
//Concateno Arreglo
$mensaje = concatenarArreglo($arreglo);
//Firmo Mensaje
$mensajeFirmado = firmarMensaje($mensaje, $arreglo['ct_token_secret'] );
//Guardo y retorno el mensaje firmado
//$this->ct_firma = $mensajeFirmado;
return $mensajeFirmado;
}
function firmarMensaje($mensaje, $claveCifrado) {
$mensajeFirmado = hash_hmac('sha256', $mensaje, $claveCifrado);
return $mensajeFirmado;
}
function concatenarArreglo($arreglo) {
$resultado = "";
foreach ($arreglo as $field => $value) {
$resultado .= $field . $value;
}
return $resultado;
}
$ct_monto = $_POST['monto'];
$ct_order_id = $_POST['pedido_id'];
$ct_email = $_POST['email'];
$ct_token_service = '30922149ecc2f7618bfddedba46496a37b71d2932caedde53XXXXXXXXXXXX';
$ct_token_secret = '2c91eba0ccc48c4cbdebdcf8fdb76443ce11da5320209649bXXXXXXXXXXXXX';
$ct_token_tienda = '';
$ct_firma = '';
$pago_args = array(
'ct_monto' => $ct_monto,
'ct_order_id' => $ct_order_id,
'ct_email' => $ct_email,
'ct_token_service' => $ct_token_service,
'ct_token_secret' => $ct_token_secret,
'ct_token_tienda' => $ct_token_tienda,
'ct_firma' => '',
);
$ct_firma = firmarArreglo($pago_args);
$form = '
<form id="irapago" name="irapago" method="post" action="https://sv1.tbk.cristiantala.cl/tbk/v2/initTransaction" >
<input type="hidden" name="ct_monto" value="'.$ct_monto.'" />
<input type="hidden" name="ct_order_id" value="'.$ct_order_id.'" />
<input type="hidden" name="ct_email" value="'.$ct_email.'" />
<input type="hidden" name="ct_token_service" value="'.$ct_token_service.'" />
<input type="hidden" name="ct_token_tienda" value="'.$ct_token_tienda.'" />
<input type="hidden" name="ct_firma" value="'.$ct_firma.'" />
<center><a class="bot_aregar" id="envia_pago" ref="#">PAGAR</a></center>
</form>
';
1.- Cambié las funciones arriba para que no sean objetos.
2.- La función pedía un ct_token_secret el cual no sale en el arreglo de ejemplo.
3.- ct_token_tienda no sé que poner.
Al pagar me sale "Servicio relacionado no existe".