[téléchargement] lien unique après paiement

bernard -  
 bernard -
bonjour,

j'ai un ebook en vente sur mon site, paiement par PayPal.

j'aurais aimé que le futur acheteur reçoive un email avec un lien de téléchargement aussitot le paiement effectué, mais le liens ne doit être utilisable qu'une fois.

si quelqu'un peut m'aider.

par avance merci

bernard
A voir également:

4 réponses

crabs Messages postés 908 Date d'inscription   Statut Membre Dernière intervention   507
 
Salut,
Lors du paiement:
- tu crées un ticket (chaine de caractères de type identifiant unique ) avec des
fonctions aléatoire et hash
- tu l'inscris dans une base ou un fichier comme étant valide.
- tu envoies le mail avec le ticket dans l'url
Lors du download:
- tu invalides le ticket
- tu transmets ton ebook
Veilles à gérer les erreurs de download, sinon ton client va faire la gueule.

Si tu veux plus de précisions, indique au-moins le langage de programmation
que tu souhaites utiliser.
A+, crabs
1
Bernard
 
merci pour ta réponse
je suis en php avec ne base de donnée mysql

je suis débutant et j'avous ne pas comprendre tes infos en tous cas une bonne partie. te serait t'il possible de me développer au maximum la manipulation en faisant attention au termes technique que je ne maitrise pas toujours.

par avance merci

bernard
0
crabs Messages postés 908 Date d'inscription   Statut Membre Dernière intervention   507
 
Salut,
Une fois que le paiement est ok :
création d'un ticket : une chaine de caractère qui est difficile à deviner :
https://www.php.net/manual/fr/function.uniqid.php

Cette chaine tu la mets dans le corps de texte html de ton mail
<a href="download.php?ticket=(la valeur de la chaine du ticket)">...</a>

Et t'envois ton mail

Ensuite tu met le ticket dans une table de ta base par exemple :
 create table ticket ( v(32) not null, primary key(v) );

Et à chaque achat valide :
INSERT INTO ticket ('la valeur de la chaine du ticket')


Pour le script de download, quand l'acheteur clique sur le lien dans son mail
1) Afin de sécuriser ton site et ne pas le rendre sensible au SQL injection,
voici un morceau de PHP pour recupérer la valeur du ticket dans
download.php
if ( !array_key_exists( 'ticket', $_GET ) ) die( 'ticket invalide' ) ;
$ticket = $_GET['ticket'] ;
if ( !get_magic_quotes_gpc() ) $ticket =addslashes( $ticket ) ;

Tu vérifie que le ticket est dans la base
SELECT * FROM ticket WHERE v='$ticket'

Tu vérifie que la requette retourne bien le bon ticket.

Si c'est ok tu envois ton e-book : utilise readfile() du PHP
https://www.php.net/manual/fr/function.readfile.php

Et tu effaces le ticket de la base.
DELETE FROM ticket WHERE v='$ticket'

0
bernard
 
c'est très sympa, mais ce n'est pas de mon niveau surtout en partant de rien
je ne vais pas t'embêter plus, tant pis

si quelqu'un a ce genre de script je suis preneur

par avance merci

bernard
0