Télécharger
Noter:

Ajouté le 2021-04-19
Visionné 2220 fois
5/5 (2)

Sécuriser le script Allopass via PHP

Description

Ce script permet de vérifier si une transaction est valide, le procédé est simple, on récupère les variable $_GET qu'Allopass nous renvoi dans l'URL d'accès au produit payant que vous avez ajouté sur HIPAY Mobile (Anciennement Allopass, aujourd'hui Mobiyo).

J'ai pris des bouts de codes de la doc officielle de la solution de micropaiement HiPay Mobile.

Vous pouvez télécharger l'API Mobiyo complète ici:
Allopass-PHP5-API-Kit.zip (Téléchargé 290 fois)


Une fois téléchargé il vous faudra configurer le fichier conf/conf.xml et renseigner les champs <api_key> et <private_key>, vous trouverez ces informations depuis votre espace marchand hipaymobile.com à l'adresse: https://merchant.hipaymobile.com/merchant/toolbox/

Il vous reste plus qu'à placer le code suivant sur la page d'accès à votre produit pour sécuriser d'avantage leur vérification JavaScript afin que des requêtes PHP ne puisse pas être exécutées si la transaction est incorrecte.

error_reporting(0);//si vous ne voulez pas afficher les erreurs
$TrxId="erreur";
if(isset($_GET['transaction_id'])){
if(preg_match("#^[a-z0-9-]{36}$#",$_GET['transaction_id'])){
$TrxId=$_GET['transaction_id'];
}
}
if($TrxId=="erreur"){
if(isset($_GET['trxid'])){
if(preg_match("#^[a-z0-9-]{36}$#",$_GET['trxid'])){
$TrxId=$_GET['trxid'];
}
}
}
if($TrxId=="erreur"){
echo "ID Transaction incorrect ou inconnue.";
} else {
require_once 'Allopass-PHP5-API-Kit/api/AllopassAPI.php';
$api = new AllopassAPI();
$response = $api->getTransaction($TrxId);//numéro de transaction disponible via $_GET['trxid'] ou $_GET['transaction_id']
if($response->getStatusDescription()!="success"){
echo "La transaction n'a pas été valide.";
} else {
echo "Transaction validée!";
//Vous pouvez procéder au requêtes PHP!
}
}


Si le script trouve pas la transaction, il affichera rien et n'exécutera pas le reste de la page, je n'ai pas réussi à trouver comment faire un echo "Transaction not found", si vous avez la solution, notez la dans les commentaires s'il vous plaît.


Il vous ai possible d'avoir toutes infos concernant la transaction en question avec les fonctions suivantes:

var_dump($response->getStatusDescription());
var_dump($response->getStatus());
var_dump($response->getAccessType());
var_dump($response->getTransactionId());
var_dump($response->getPrice());
var_dump($response->getPaid());
var_dump($response->getCreationDate());
var_dump($response->getEndDate());
var_dump($response->getProductName());
var_dump($response->getCustomerIp());
var_dump($response->getCustomerCountry());
$codes=$response->getCodes(); echo $codes[0];

Besoin de travaux pour votre site ?

Je suis là pour vous aider !

Commentaires

Ajouter un commentaire

Commenter
Pseudo/Nom *
Email *
Message *
Captcha *
memo1
Commenter

Les champs marqués d'un * sont obligatoires.

Pas encore de commentaire, soyez le premier!

Retour à la liste des scripts