ComNpay - Développeur

Librairie PHP

Exemple d'utilisation

Un exemple d'utilisation rapide est présent dans la documentation générale.

Télécharger la librairie

TÉLÉCHARGER

Exemple rapide

Vous trouverez ci-dessous un exemple d'utilisation du PSP dans votre site (appel + réception du résultat de la transaction)

Page d'appel

<?php
  include("libs/payment.php");
  $a = new Payment("VAD-XXX-XXX",
                    "secret-key",
                    "http://localhost/retour_ok",
                    "http://localhost/retour_nok",
                    "http://localhost/ipn.php",
                    "D"
                   );
?>
<!doctype html>
<html>
<head>
  <title>Exemple</title>
</head>
<body>
  <form method="post" action="https://secure.comnpay.com">
   <?php echo $a->buildSecretHTML("Produit",10);?>
   <input type="submit" value="Payer!" />
  </form>
</body>
</html>

Page de retour

<?php
  echo "<pre>";
    print_r($_POST);
  echo "</pre>";
?>

IPN

La mise en place de l'option IPN implique que vous devez mettre en place dans votre code une nouvelle page, page qui devra valider la transaction en fonction des données reçues.

L'IPN n'est pas une option obligatoire, cependant si vous souhaitez suivre efficacement vos transactions (et de manière automatique). Nous vous conseillons vivement de l'activer.

Les données de l'IPN possèdent une clé de sécurité `sec` qui vous assure que notre système est bien à l'origine de la requête que vous venez de recevoir.

Démonstration

Aucun changement par rapport à un appel sans IPN à l'exception du paramètre supplémentaire (dans notre cas: http://localhost/ipn) qui représente la page à appeler après la validation du paiement bancaire client.

<?php
  include("libs/payment.php");
  $a = new Payment("VAD-XXX-XXX",
                    "secret-key",
                    "http://localhost/retour_ok.php",
                    "http://localhost/retour_nok.php"
                    "http://localhost/ipn.php",
                    "D"
                   );
?>
<!doctype html>
<html>
<head>
  <title>Exemple</title>
</head>
<body>
  <form method="post" action="https://secure.comnpay.com">
   <?php echo $a->buildSecretHTML("Produit",10);?>
   <input type="submit" value="Payer!" />
  </form>
</body>
</html>

Pour utiliser cet exemple vous devez créer un fichier ipn.php (fichier paramétré dans l'exemple). Celui-ci sera appelé automatiquement après la transaction bancaire. Il vous retournera un certain nombre d'informations :

  • idTpe
  • idTransaction
  • montant
  • result (OK / NOK)
  • sec

L'Url de l'IPN est appelée dans tous les cas, que le paiement réussisse ou non, vous devez impérativement contrôler la valeur `result` et la valeur `sec` avant d'effectuer vos traitements.

Page de reception IPN

<?php
  include("libs/payment.php");
  if(!validSec($_POST,"secret-key")){
    header('HTTP/1.0 400 Bad Request', true, 400);
    die("ERROR");
  }

  // Affichage des valeurs reçues en POST de l'IPN
  echo "<pre>";
    print_r($_POST);
  echo "</pre>";

  // C'est ici que vous devez effectuer vos traitements, validation de commande, etc...
?>