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

Arwantys

Contributeur
Inscription
21 Octobre 2013
Messages
1 669
Réactions
397
Points
8 731
    Réponse de Arwantys Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #1


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 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.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

Une fois sur la page Services, vous allez Ajouter un service.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

Vous choisirez Monnaie Virtuel.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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.

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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 :)
 

Rivals

Développeur
Inscription
27 Août 2016
Messages
904
Réactions
807
Points
6 204
    Réponse de Rivals Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #2
Super, bonne rédaction Mathis continue ainsi :)

Bonne journée,
Rivals
 

adel_xf

Contributeur
Inscription
23 Mai 2015
Messages
485
Réactions
230
Points
4 554
    Réponse de adel_xf Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #3
Belle présentation :)
5% de batterie :trollface:
 

Ezoh'

Helpeur
Contributeur
Inscription
12 Juillet 2016
Messages
2 024
Réactions
918
Points
2 941
    Réponse de Ezoh' Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #4
Bonne rédac' ;) !

Bonne journée,
EZO
 

Arwantys

Contributeur
Inscription
21 Octobre 2013
Messages
1 669
Réactions
397
Points
8 731
    Réponse de Arwantys Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #5

MRN.

Contributeur
Inscription
30 Juin 2015
Messages
1 191
Réactions
503
Points
4 611
    Réponse de MRN. Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #8


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 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.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

Une fois sur la page Services, vous allez Ajouter un service.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

Vous choisirez Monnaie Virtuel.
Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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.

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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

Connectez-vous ou inscrivez-vous dès maintenant. pour voir le contenu de ce spoiler !

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
Contributeur
Inscription
5 Octobre 2011
Messages
2 181
Réactions
715
Points
12 753
    Réponse de Westiix Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #9
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 ;)
 

Julien Moreau

Lobby-Man
Contributeur
Inscription
5 Février 2013
Messages
1 737
Réactions
656
Points
8 870
    Réponse de Julien Moreau Informatique ⌨️ Programmation Programmation web : Créer & configurer une page de rechargement de points avec DediPass
  • #10
Salut,merci pour le tuto :)

Bonne journée,
Julien Moreau
 

Haut Bas