http://php.net/manual/es/function.sha1.php
Yo monte hace poco algo con la caixa, prueba a ponerlo todo en mayusculas antes de enviarselo al TPV.
Te pongo mi codigo:
Código PHP:
$message = $amount.$order.$code.$currency.$transactionType.$urlMerchant.$clave;
$signature = strtoupper(sha1($message));
Un saludo