2017-10-20 231 views
-1

我正试图将我们的新付款系统与我们的网站进行整合。但是我打了一堵墙。 基本上,我的客户将通过我的网站支付托儿费用。然而,每月的金额会有所变化,并且每个人都会依赖孩子们将要参加的活动。 我使用网关公司提供的代码,但输入的金额与通过哈希发送的金额不匹配。因此不允许我在他们的网站上完成交易。 我试图回显电荷值并将其称为变量中的哈希,但它不喜欢这一点。尽管他们似乎没有能力,但我已经要求公司寻求帮助。付款集成

下面是代码。如果有人能提供帮助,我将不胜感激。 在我们的网站

<? include("ipg-util.php"); ?> 
<html> 
    <?php 

    ob_start(); 
echo $chargetotal; 
$total = ob_get_contents($chargetotal); 
ob_end_clean(); 

    ?> 

<head><title>IPG Connect Sample for PHP</title></head> 
<body> 
<p><h1>Order Form</h1> 
<form method="post" action="https://www.ipg-online.com/connect/gateway/processing"> 
<input type="hidden" name="txntype" value="sale"> 
<input type="hidden" name="timezone" value="Europe/London"/> 
<input type="hidden" name="txndatetime" value="<?php echo 
getDateTime() ?>"/> 
<input type=”hidden” name=”hash_algorithm” value=”SHA256”/> 
<input type="hidden" name="hash" value="<?php echo createHash(
$total,"826") ?>"/> 
<input type="hidden" name="storename" value="Hidden"/> 
<input type="hidden" name="mode" value="payonly"/> 
<input type="hidden" name="paymentMethod" value="M"/> 
<input type="text" name="chargetotal" value=""/> 
<input type="hidden" name="currency" value="826"/> 
<input type="hidden" name="responseSuccessURL" value="http://yourdomain.com/Thanks" /> 
    <input type="hidden" name="responseFailURL" value="http://yourdomain.com/PaymentFailure" /> 
<input type="submit" value="Submit"> 
</form> 
</body> 
</html> 

付款页面与包括页面

<?php 







    $dateTime = date("Y:m:d-H:i:s"); 



    function getDateTime() { 

     global $dateTime; 

     return $dateTime; 

    } 


    function createHash($chargetotal, $currency) { 

     $storename ="Hidden"; 

    $sharedSecret = "Hidden"; 



     $stringToHash = $storename . getDateTime() . $chargetotal . $currency . $sharedSecret; 



     $ascii = bin2hex($stringToHash); 



     return sha1($ascii); 

    } 



?> 

我也包括错误网页 结果页面

基本上在散量和充电量需要对其进行正确生成相同。

如果我输入15在chargetotal的量,我把15的数量,在哈希像这样

<input type="hidden" name="hash" value="<?php echo createHash(
    "15","826") ?>"/> . 

它将允许完成交易,但我们不知道量来计算每个人会付钱。

感谢您看

+0

修复HTML中的引号,你有一些引号应该是直引号。 – Barmar

+1

检查预期货币格式,一些API需要美分,而不是美元和美分 – rtfm

回答

0

你发送一个空白的费用总额为以下代码:

<input type="text" name="chargetotal" value=""/> 

我不熟悉您使用的API,但是我想你应该做类似的事情:

<input type="text" name="chargetotal" value="<?php echo $chargetotal; ?>"/>