【问题标题】:error code 108 ccavenue错误代码 108 ccavenue
【发布时间】:2011-09-14 18:19:15
【问题描述】:

我正在将 ccavenue 与我的电子商务网站集成。在某些情况下,我收到此错误: 错误代码:108 错误描述:校验和+不匹配。

如何纠正这个问题?任何人都可以帮助我

【问题讨论】:

  • 您是否偶然解决了这个问题?我遇到了同样的问题。

标签: php e-commerce shopping-cart ccavenue


【解决方案1】:

我解决了这个问题..校验和确实不正确。我在最后一刻硬编码为卢比。 10 测试集成.. 但我用实际金额计算的校验和。因此校验和不正确!希望这可以帮助某人。

【讨论】:

    【解决方案2】:

    我找到了问题,那就是 URL。如果您的重定向 URL 没有任何参数,它将起作用。

    为了解决这个问题。您必须通过 PHP 中的 urlencode 函数对您的 URL 进行编码。

    $url= urlencode($url);
    

    【讨论】:

      【解决方案3】:

      检查您的 ccavenue 商家密钥,每次重新生成时它都会更改,并检查您的算法以进行校验和计算

      【讨论】:

        【解决方案4】:

        如果您使用提供的免费代码将 ccavenuesjoomla 集成,则在文件 ps_ccavenues_info_part.php 中计算校验和后将四舍五入。

        我修改了代码,因此在计算校验和之前对金额进行了四舍五入,这为我解决了问题。

        【讨论】:

          【解决方案5】:

          尝试用这个替换 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;
          }
          ?>
          

          【讨论】:

            猜你喜欢
            • 2014-10-09
            • 2019-01-04
            • 1970-01-01
            • 2017-10-11
            • 1970-01-01
            • 2014-10-19
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多