2017-10-20 30 views
-1

J'essaie d'intégrer notre nouveau système de paiement à notre site Web. Cependant, je frappe un mur. Fondamentalement, mes clients feront un paiement sur mon site Web pour leurs frais de scolarité. Cependant, le montant changera chaque mois et pour chaque personne dépendante de ce que les enfants vont assister. J'utilise le code fourni par la société de passerelle mais le montant entré ne correspond pas au montant envoyé par le hachage. Par conséquent, ne me permettant pas de compléter la transaction sur leur site Web. J'ai essayé de répercuter la valeur de la charge et de l'appeler dans une variable dans le hachage, mais cela ne lui plaît pas non plus. J'ai demandé de l'aide à l'entreprise, mais ils ne semblent pas en mesure de le faire.Payment Intergration

ci-dessous est le code. J'apprécierais que quelqu'un puisse aider. La page de paiement sur notre site

<? 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> 

et comprennent la page

<?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); 

    } 



?> 

J'ai également inclus la page d'erreur page Résultat

essentiellement la quantité dans le hachage et le besoin de quantité de charge être le même pour générer correctement.

Si j'entre une quantité de 15 dans le chargetotal et je mets la quantité de 15 dans le hachage comme si

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

Il permettra de compléter la transaction, mais nous ne savons pas le montant que chaque la personne paiera.

Merci pour regarder

+0

Fixer les citations dans votre code HTML, vous avez des citations frisées qui devraient être des citations droites. – Barmar

+1

vérifier le format monétaire attendu, certaines API exigent des cents, pas des dollars et des cents – rtfm

Répondre

0

Vous envoyez un total de charge vide avec le code suivant:

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

Je ne suis pas familier avec l'api que vous utilisez, mais je vous attendre si faire quelque chose comme:

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