Bonjour,
Je souhaite placer PaySafeCard sur mon site. J'ai donc téléchargé et mis en place le script disponible à cette adresse: https://github.com/paysafecard/paysafecard-rest_api-php
C'est très basique et je personnaliserais ultérieurement avec un montant fixe et d'autres éléments. Bien sûr j'ai créé un compte sur leur site et généré des PIN de test, je ne dépense pas mon propre argent.
Sur la page de notification du paiement, j'ai mis ça:
Le fonctionnement n'est pas compliqué:
1) L'API fait un appel à la page notification.php?payment_id=icionretrouveliddupaiement
2)
$response = $pscpayment->retrievePayment($id);
récupère les données du paiement en fonction de son ID
3)
$logger->log($pscpayment->getRequest(), $pscpayment->getCurl(), $pscpayment->getResponse());
log la réponse (première partie dans le fichier texte joint à ce message)
4) vérifie s'il y a une réponse
5)
if (isset($response["object"])) {
vérifie s'il y a des données dans la réponse
6)
if ($response["status"] == "AUTHORIZED") {
vérifie si le paiement a été autorisé (voir première partie du fichier texte joint à ce message)
7)
$response = $pscpayment->capturePayment($id);
valide le paiement
8)
$error = $pscpayment->getError();
vérifie s'il y a une erreur
9)
$logger->log($pscpayment->getRequest(), $pscpayment->getCurl(), $pscpayment->getResponse());
log la réponse de la validation du paiement (deuxième partie dans le fichier texte joint à ce message)
10)
1 2
| if ($response == true) {
if (isset($response["object"])) { |
vérifie s'il y a encore une réponse et des données
11)
if ($response["status"] == "SUCCESS") {
vérifie si la validation du paiement a réussie et si oui, exécute du code comme par exemple l'envoie du mail de confirmation à la personne qui vient de payer.
Mon problème est que le code à l'intérieur de
if ($response["status"] == "SUCCESS") {
n'est jamais exécuté.
J'ai alors tenté un petit truc:
1 2 3 4 5 6 7 8 9 10 11 12
|
if (isset($_GET["payment_id"])) {
$id = $_GET["payment_id"];
// get payment status with retrieve Payment details
$response = $pscpayment->retrievePayment($id);
$expediteur = "blablabla";
$reponse = "blablabla";
$mail = "blablabla";
$codehtml = "<html><body>".$response['customer']['id']."</body></html>";
mail($mail,"Confirmation de votre paiement",$codehtml,"From: $expediteur\r\n"."Reply-To: $reponse\r\n"."Content-Type: text/html; charset=\"UTF-8\"\r\n");
} |
Et là ça fonctionne.
D'après le fichier que j'ai joins à ce message il serait logique que ça fonctionne lorsque c'est placé à l'intérieur des "if" ... mais en faite non ...
Si quelqu'un sait d'où ça peut provenir ça m'aiderait énormément. Merci d'avance
log.txt
Partager