我需要在Prestashop中升级POS模块的安全性,现在我面临一个问题:获取付款签名时出现错误。
旧代码:
static public function getFirma($orderId, $importe, $tipoMondea, $exponente, $urlOK, $urlNOK ) {
//Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+Tipo Moneda+Exponente+'SHA1'+URL_OK+URL_NOK
$cryptKey = self::getCryptKey();
$merchantId = Configuration::get('CECA_MERCHANT_ID');
$acquirerBIN = Configuration::get('CECA_ACQUIRER_BIN');
$terminalId = Configuration::get('CECA_TERMINAL_ID');
return sha1($cryptKey.$merchantId.$acquirerBIN.$terminalId.$orderId.$importe.$tipoMondea.$exponente.'SHA1'.$urlOK.$urlNOK);
}
static public function getFirmaIPN($orderId, $importe, $tipoMondea, $exponente, $referencia ) {
//Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+TipoMoneda+Exponente+Referencia
$cryptKey = self::getCryptKey();
$merchantId = Configuration::get('CECA_MERCHANT_ID');
$acquirerBIN = Configuration::get('CECA_ACQUIRER_BIN');
$terminalId = Configuration::get('CECA_TERMINAL_ID');
return sha1($cryptKey.$merchantId.$acquirerBIN.$terminalId.$orderId.$importe.$tipoMondea.$exponente.$referencia);
}
我尝试过:
static public function getFirma($orderId, $importe, $tipoMondea, $exponente, $urlOK, $urlNOK ) {
//Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+Tipo Moneda+Exponente+'SHA2'+URL_OK+URL_NOK
$cryptKey = self::getCryptKey();
$merchantId = Configuration::get('CECA_MERCHANT_ID');
$acquirerBIN = Configuration::get('CECA_ACQUIRER_BIN');
$terminalId = Configuration::get('CECA_TERMINAL_ID');
return hash('sha2', $cryptKey.$merchantId.$acquirerBIN.$terminalId.$orderId.$importe.$tipoMondea.$exponente.'SHA2'.$urlOK.$urlNOK);
}
static public function getFirmaIPN($orderId, $importe, $tipoMondea, $exponente, $referencia ) {
//Clave_encriptacion+MerchantID+AcquirerBIN+TerminalID+Num_operacion+Importe+TipoMoneda+Exponente+Referencia
$cryptKey = self::getCryptKey();
$merchantId = Configuration::get('CECA_MERCHANT_ID');
$acquirerBIN = Configuration::get('CECA_ACQUIRER_BIN');
$terminalId = Configuration::get('CECA_TERMINAL_ID');
return hash('sha2', $cryptKey.$merchantId.$acquirerBIN.$terminalId.$orderId.$importe.$tipoMondea.$exponente.$referencia);
}
我们将不胜感激。