Créer & configurer une page de rechargement de points avec DediPass

Iktus

Premium
Inscription
21 Octobre 2013
Messages
1 675
Réactions
374
Points
12 981
3c471712e09a48dc8ec7254d66006f4c.png


Bonjour, bonsoir,

On se retrouve aujourd'hui pour un petit tutoriel assez rapide et simple.
Ce tutoriel aura pour but de créer une système de recharge de points avec le module Dedipass.
Qu'est-ce Dedipass? Dedipass est une solutions de paiements par SMS, audiotel, carte bancaire et cartes prépayées pour monétiser le contenu premium de votre site.
Tout d'abord, il va falloir que vous ayez créer le système de connexion à votre site, je vous laisse regarder ce tutoriel si ce n'est pas déjà fait.

N'oubliez-pas de rajouter la colonne points à votre table membre.

Normalement, vous devez déjà avoir les pages login.php et register.php.
Vous allez créer la page index.php et vous allez mettre dedans​
PHP:
<?php

session_start();

include('includes/settings.php');

 if(isset($_SESSION['id'])){

} else {

header('Location: login.php');
exit();
}

?>
Vous allez faire la même chose pour la page valider.php.
Une fois cela de fait, vous allez mettre le code si dessous où vous souhaitez que le message de validation soit affiché.​
PHP:
<?php if(isset($validation)) { ?>
<?php echo $validation ?>
<?php } ?>
Une fois les pages de fait, on se rend sur .
Je vous laisse vous inscrire.
Une fois connecté, vous allez atterrir sur cette page, puis vous allez vous rendre dans la page services.
115ee7b17c69401d81623a4e5a753b4b.png

Une fois sur la page Services, vous allez Ajouter un service.
9053771788964294bd4d29e613e83fbd.png

Vous choisirez Monnaie Virtuel.
b6f4722812bf4b56a49f7d3dba876ca4.png

Dans l'url d'installation vous allez mettre la page où se trouvera le module de paiement.
Dans la section Paiement, vous choisissez Redirection puis vous allez mettre la page où vous serez redirigé si votre code est valide.

dd797d4a6ef1482b89a6a8216127581e.png

Une fois cela de fait, vous allez atterrir sur la page Solutions de paiement.
À vous de remplir comme bon vous semble.

0dad78f4b1944f7c9e3a5c247d147f33.png

Une fois que vous avez remplis vos prix etc, vous validez et vous atterrirez sur la page pour modifier l'apparence du module.

0b61a054027e4b84b66aff563194010c.png

À vous de personnaliser celui-ci. Une fois cela de fait, vous allez avoir les instructions d'installation.

6f58955a69084b6daa2cb9ed98aa6611.png

Je vous laisse installer comme il faut puis nous passerons à la mise en place du système de rechargement.
Nous allons remplacer les 3 echo par des $validation = "";

Ce qui vous donnera​
PHP:
$code = isset($_POST['code']) ? preg_replace('/[^a-zA-Z0-9]+/', '', $_POST['code']) : '';
if( empty($code) ) {
  $validation = 'Vous devez saisir un code';
}
else {
  $dedipass = file_get_contents('votre url perso');
  $dedipass = json_decode($dedipass);
  if($dedipass->status == 'success') {
    // Le transaction est validée et payée.
    // Vous pouvez utiliser la variable $virtual_currency
    // pour créditer le nombre de Points.
    $virtual_currency = $dedipass->virtual_currency;
    $validation = 'Le code est valide et vous êtes crédité de ' . $virtual_currency . 'Points';
  }
  else {
    // Le code est invalide
    $validation = 'Le code '.$code.' est invalide';
  }
}
Maintenant, nous allons faire un prepare qui éditera notre colonne points.
PHP:
$ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
    $ValideCode->execute(array(''.$virtual_currency.'', $_SESSION['id']));

Donc, en gros, nous allons mettre à jour notre table membres dont la colonne est points, donc on ajoute à nos points actuel les points reçu à l'utilisateur comportant l'id de sa session.

Ici, '.$virtual_currency.' sert à ajouter le nombre de points acheté et $_SESSION['id'] à récupérer l'id de notre compte.

Une fois cela de fait, nous allons faire un système d'historique de paiement.
Vous allez créer une table historique_paiement comportant:
id en int 11 en auto increment avec une key
code
en varchar 8
et utilisateur en varchar 255

49c4a975015144628b4783e132f38b41.png

Nous allons maintenant faire une autre prepare en INSERT INTO.​
PHP:
$HistoriquePaiement = $bdd->prepare('INSERT INTO historique_paiement(code, utilisateur) VALUES(?, ?)');
    $HistoriquePaiement->execute(array(''.$code.'', $_SESSION['utilisateur']));
Ici, on insère dans notre table historique_paiement les valeurs $code et $_SESSION['utilisateur'].
$code récupère le code entré.
$_SESSION['utilisateur'] récupère notre nom d'utilisateur.

Voilà le code final​
PHP:
<?php

session_start();

include'includes/settings.php';

if(isset($_SESSION['id'])){

} else {

header('Location: login.php');
exit();
  
}

$code = isset($_POST['code']) ? preg_replace('/[^a-zA-Z0-9]+/', '', $_POST['code']) : '';
if( empty($code) ) {
  $validation = 'Vous devez saisir un code';
}
else {
  $dedipass = file_get_contents('votre url perso);
  $dedipass = json_decode($dedipass);
  if($dedipass->status == 'success') {
    $virtual_currency = $dedipass->virtual_currency;
    $ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
    $ValideCode->execute(array(''.$virtual_currency.'', $_SESSION['id']));
    $HistoriquePaiement = $bdd->prepare('INSERT INTO historique_paiement(code, utilisateur) VALUES(?, ?)');
    $HistoriquePaiement->execute(array(''.$code.'', $_SESSION['utilisateur']));
    $validation = 'Le code est valide et vous êtes crédité de ' . $virtual_currency . 'Points';
  }
  else {
    $validation = 'Le code '.$code.' est invalide';
  }
}
  
?>
Précision: Le code de test fournit OBLIGATOIREMENT 1 point, donc si vous pensez que c'est un bug, et bien, ce n'est pas le cas.

Bonne journée à vous :)
 

MRN.

Premium
Inscription
30 Juin 2015
Messages
1 223
Réactions
544
Points
7 861
3c471712e09a48dc8ec7254d66006f4c.png


Bonjour, bonsoir,

On se retrouve aujourd'hui pour un petit tutoriel assez rapide et simple.
Ce tutoriel aura pour but de créer une système de recharge de points avec le module Dedipass.

Tout d'abord, il va falloir que vous ayez créer le système de connexion à votre site, je vous laisse regarder ce tutoriel si ce n'est pas déjà fait.

N'oubliez-pas de rajouter la colonne points à votre table membre.

Normalement, vous devez déjà avoir les pages login.php et register.php.
Vous allez créer la page index.php et vous allez mettre dedans​
PHP:
<?php

session_start();

include('includes/settings.php');

 if(isset($_SESSION['id'])){

} else {

header('Location: login.php');
exit();
}

?>
Vous allez faire la même chose pour la page valider.php.
Une fois cela de fait, vous allez mettre le code si dessous où vous souhaitez que le message de validation soit affiché.​
PHP:
<?php if(isset($validation)) { ?>
<?php echo $validation ?>
<?php } ?>
Une fois les pages de fait, on se rend sur .
Je vous laisse vous inscrire.
Une fois connecté, vous allez atterrir sur cette page, puis vous allez vous rendre dans la page services.
115ee7b17c69401d81623a4e5a753b4b.png

Une fois sur la page Services, vous allez Ajouter un service.
9053771788964294bd4d29e613e83fbd.png

Vous choisirez Monnaie Virtuel.
b6f4722812bf4b56a49f7d3dba876ca4.png

Dans l'url d'installation vous allez mettre la page où se trouvera le module de paiement.
Dans la section Paiement, vous choisissez Redirection puis vous allez mettre la page où vous serez redirigé si votre code est valide.

dd797d4a6ef1482b89a6a8216127581e.png

Une fois cela de fait, vous allez atterrir sur la page Solutions de paiement.
À vous de remplir comme bon vous semble.

0dad78f4b1944f7c9e3a5c247d147f33.png

Une fois que vous avez remplis vos prix etc, vous validez et vous atterrirez sur la page pour modifier l'apparence du module.

0b61a054027e4b84b66aff563194010c.png

À vous de personnaliser celui-ci. Une fois cela de fait, vous allez avoir les instructions d'installation.

6f58955a69084b6daa2cb9ed98aa6611.png

Je vous laisse installer comme il faut puis nous passerons à la mise en place du système de rechargement.
Nous allons remplacer les 3 echo par des $validation = "";

Ce qui vous donnera​
PHP:
$code = isset($_POST['code']) ? preg_replace('/[^a-zA-Z0-9]+/', '', $_POST['code']) : '';
if( empty($code) ) {
  $validation = 'Vous devez saisir un code';
}
else {
  $dedipass = file_get_contents('votre url perso);
  $dedipass = json_decode($dedipass);
  if($dedipass->status == 'success') {
    // Le transaction est validée et payée.
    // Vous pouvez utiliser la variable $virtual_currency
    // pour créditer le nombre de Points.
    $virtual_currency = $dedipass->virtual_currency;
    $validation = 'Le code est valide et vous êtes crédité de ' . $virtual_currency . 'Points';
  }
  else {
    // Le code est invalide
    $validation = 'Le code '.$code.' est invalide';
  }
}
Maintenant, nous allons faire un prepare qui éditera notre colonne points.
PHP:
$ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
    $ValideCode->execute(array(''.$virtual_currency.'', $_SESSION['id']));

Donc, en gros, nous allons mettre à jour notre table membres dont la colonne est points, donc on ajoute à nos points actuel les points reçu à l'utilisateur comportant l'id de sa session.

Ici, '.$virtual_currency.' sert à ajouter le nombre de points acheté et $_SESSION['id'] à récupérer l'id de notre compte.

Une fois cela de fait, nous allons faire un système d'historique de paiement.
Vous allez créer une table historique_paiement comportant:
id en int 11 en auto increment avec une key
code
en varchar 8
et utilisateur en varchar 255

49c4a975015144628b4783e132f38b41.png

Nous allons maintenant faire une autre prepare en INSERT INTO.​
PHP:
$HistoriquePaiement = $bdd->prepare('INSERT INTO historique_paiement(code, utilisateur) VALUES(?, ?)');
    $HistoriquePaiement->execute(array(''.$code.'', $_SESSION['utilisateur']));
Ici, on insère dans notre table historique_paiement les valeurs $code et $_SESSION['utilisateur'].
$code récupère le code entré.
$_SESSION['utilisateur'] récupère notre nom d'utilisateur.

Voilà le code final​
PHP:
<?php

session_start();

include'includes/settings.php';

if(isset($_SESSION['id'])){

} else {

header('Location: login.php');
exit();
  
}

$code = isset($_POST['code']) ? preg_replace('/[^a-zA-Z0-9]+/', '', $_POST['code']) : '';
if( empty($code) ) {
  $validation = 'Vous devez saisir un code';
}
else {
  $dedipass = file_get_contents('votre url perso);
  $dedipass = json_decode($dedipass);
  if($dedipass->status == 'success') {
    $virtual_currency = $dedipass->virtual_currency;
    $ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
    $ValideCode->execute(array(''.$virtual_currency.'', $_SESSION['id']));
    $HistoriquePaiement = $bdd->prepare('INSERT INTO historique_paiement(code, utilisateur) VALUES(?, ?)');
    $HistoriquePaiement->execute(array(''.$code.'', $_SESSION['utilisateur']));
    $validation = 'Le code est valide et vous êtes crédité de ' . $virtual_currency . 'Points';
  }
  else {
    $validation = 'Le code '.$code.' est invalide';
  }
}
  
?>
Précision: Le code de test fournit OBLIGATOIREMENT 1 point, donc si vous pensez que c'est un bug, et bien, ce n'est pas le cas.

Bonne journée à vous :)
Très bien expliqué et détaillé, à l'avenir si j'en ai besoin je ferai ce codage ;)
 

Westiix

Fortnite Player || PHP & VB.NET
Premium
Inscription
5 Octobre 2011
Messages
2 219
Réactions
88
Points
12 753
Salut,

Super tutoriel mais à certains endroit, le code pourrait être "plus propre" :
<?php if(isset($validation)) { ?>
<?php
echo $validation ?>
<?php
} ?>

Avec une seul balise PHP :

PHP:
<?php
   if(isset($validation)) {
       echo $validation;
    }
?>

$ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
$ValideCode->execute(array(''.$virtual_currency.'', $_SESSION['id']));

deviendrait :
PHP:
<?php
$ValideCode = $bdd->prepare('UPDATE membres SET points = points + ? WHERE id = ?');
    $ValideCode->execute(array($virtual_currency, $_SESSION['id']));
?>

Pareil pour le "INSERT" ... Rien de grave mais si on peut "alléger" (même un peu) les requêtes, autant le faire ;)
 
Haut