je viens de coder la partie paiement via PayPal de mon site. Cela me semble fonctionner, les essais effectués avec sandbox marchent.
Par contre, je voudrais être sûr que mon code soit suffisamment sécurisé pour éviter tout souci... Je vous laisse mon code ci-dessous.
<script
src="https://www.paypal.com/sdk/js?client-id=*****************¤cy=<?php echo $currency_code; ?>">
</script>
<div id="paypal-button-container"></div>
<script>
paypal.Buttons({
createOrder: function(data, actions) {
// détails de la transaction
return actions.order.create({
purchase_units: [{
reference_id: "0",
invoice_id: "<?php echo $arrayBalance['id']; ?>",
amount: {
value: "<?php echo number_format($arrayBalance['value'],2,'.',''); ?>"
},
description: "Nom entreprise - <?php echo number_format($number_of_points,0,'',' ').' points'; ?>"
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
// Ici un message pour dire que c'est OK (je l'ai mis en commentaire pour l'instant, car il bloque la suite
// alert('Transaction completed by ' + details.payer.name.given_name);
var tokenID = "<?php echo $arrayTokenID['token']; ?>";
var url = "https://www.monsite.com/validation.php";
var form = $('<form method="post" action="' + url + '">' + '<input type="hidden" name="token" value="' + tokenID + '" />' + '<input type="hidden" name="transaction" value="ok" />' + '</form>');
$('body').append(form);
form.submit();
})
},
onCancel: function(data) {
var tokenID = "<?php echo $arrayTokenID['token']; ?>";
var url = "https://www.monsite.com/cancellation.php";
var form = $('<form method="post" action="' + url + '">' + '<input type="hidden" name="token" value="' + tokenID + '" />' + '<input type="hidden" name="transaction" value="fail" />' + '</form>');
$('body').append(form);
form.submit();
}
}).render('#paypal-button-container');
</script>
Le fonctionnement : quand l'internaute clique sur mon site le bouton "Achat via Paypal", il est redirigé sur le site Paypal, il rentre ces informations de paiement et il est ensuite redirigé vers mon site :
- sur la page "validation.php" si tout s'est bien passé, avec un résumé de son achat
- sur la page "cancellation.php" s'il y a eu un problème.
Mais, avant d'être redirigé vers une de ces pages, la page sur laquelle il était (celle où il y a le bouton "Achat via Paypal") apparaît, avant d'être effectivement redirigé vers une des deux pages ci-dessus au bout de 5-6 secondes.
Le problème, c'est qu'il ne faut pas qu'il change de page avant d'être automatiquement redirigé sinon son achat n'est pas pris en compte (mais son paiement, oui)...
J'ai essayé de mettre un alert() une fois le paiement validé sur paypal. Le message s'affiche bien "veuillez patienter", mais la redirection vers validation ou cancellation ne se fait plus...
Quelqu'un aurait-il une idée pour résoudre ce petit souci ?
Je reviens vers vous car je bloque. Enfin, j'ai des questions et tout n'est pas très clair sur Paypal...
Est-ce que le code présenté est suffisamment sécurisé ou les données devraient être davantage protégées ?
Est-ce que ce qu'on voit dans mon code peut être dangereux si quelqu'un regarde le code source ?
Merci d'avance pour vos réponses !
Phil
Sécurisation script PayPal
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.