код ошибки 108 ccavenue - PullRequest
       21

код ошибки 108 ccavenue

2 голосов
/ 14 сентября 2011

Я интегрирую ccavenue со своим сайтом электронной коммерции. в некоторых случаях я получаю эту ошибку: Код ошибки: 108 Описание ошибки: Контрольная сумма + несоответствие.

Как исправить это? Кто-нибудь может мне помочь

Ответы [ 5 ]

1 голос
/ 29 сентября 2011

Я решил эту проблему .. Контрольная сумма была действительно неверна. Я в последний момент жестко кодировал сумму в рупиях. 10, чтобы проверить интеграцию .. но контрольную сумму я рассчитал с фактической суммой. Отсюда и неверная контрольная сумма! Надеюсь, это кому-нибудь поможет.

0 голосов
/ 09 апреля 2014

Я нашел проблему, и это URL.Это будет работать, если ваш URL перенаправления не будет иметь никаких параметров.

Для решения этой проблемы.Вам нужно будет закодировать ваш URL через функцию urlencode в PHP.

$url= urlencode($url);
0 голосов
/ 16 августа 2013

Попробуйте заменить свой функциональный файл, предоставленный в наборе CCAvenue, следующим:

<?php

function getchecksum($MerchantId,$Amount,$OrderId ,$URL,$WorkingKey)
{
    $str ="$MerchantId|$OrderId|$Amount|$URL|$WorkingKey";
    $adler = 1;
    $adler = adler32($adler,$str);
    return $adler;
}

function verifychecksum($MerchantId,$OrderId,$Amount,$AuthDesc,$CheckSum,$WorkingKey)
{
    $str = "$MerchantId|$OrderId|$Amount|$AuthDesc|$WorkingKey";
    $adler = 1;
    $adler = adler32($adler,$str);

    if($adler == $CheckSum)
        return "true" ;
    else
        return "false" ;
}

function adler32($adler , $str)
{
    $BASE =  65521 ;

    $s1 = $adler & 0xffff ;
    $s2 = ($adler >> 16) & 0xffff;
    for($i = 0 ; $i < strlen($str) ; $i++)
    {
        $s1 = ($s1 + Ord($str[$i])) % $BASE ;
        $s2 = ($s2 + $s1) % $BASE ;
            //echo "s1 : $s1 <BR> s2 : $s2 <BR>";

    }
    return leftshift($s2 , 16) + $s1;
}

function leftshift($str , $num)
{

    $str = DecBin($str);

    for( $i = 0 ; $i < (64 - strlen($str)) ; $i++)
        $str = "0".$str ;

    for($i = 0 ; $i < $num ; $i++) 
    {
        $str = $str."0";
        $str = substr($str , 1 ) ;
        //echo "str : $str <BR>";
    }
    return cdec($str) ;
}

function cdec($num)
{

    for ($n = 0 ; $n < strlen($num) ; $n++)
    {
       $temp = $num[$n] ;
       $dec =  $dec + $temp*pow(2 , strlen($num) - $n - 1);
    }

    return $dec;
}
?>
0 голосов
/ 22 апреля 2012

, если вы используете бесплатный код, предоставленный для интеграции ccavenues с joomla , в файле ps_ccavenues_info_part.php сумма округляется после вычисления контрольной суммы.* Я изменил код, чтобы округлить сумму до вычисления контрольной суммы, и это исправило ее для меня.

0 голосов
/ 16 апреля 2012

проверьте ваш торговый ключ ccavenue, он меняется каждый раз, когда вы регенерируете, а также проверяйте свой алгоритм для подсчета контрольной суммы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...