[RESOLU] Comment lier une action PHP à une action effectuée via un prestataire extérieur?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Comment lier une action PHP à une action effectuée via un prestataire extérieur?

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 17 juin 2022, 20:58

Désolé, j'ai laissé tomber.
J'ai trouvé une solution beaucoup plus simple avec STARPASS et seulement deux javascripts installés...
Tests OK.

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par @rthur » 17 juin 2022, 13:07

Fais ton traitement directement sans faire une redirection via header() qui ne sera potentiellement pas suivi par l'appel de Stripe.

Et sinon comme toujours, commence par un code ultra-simple en suivant le tuto officiel et juste en effectuant une commande simple (genre écrire un fichier avec file_put_contents() ) comme traitement, et une fois que le tuto fonctionne, alors tu ajoutes progressivement ta complexité

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 17 juin 2022, 11:03

Je les ai contacté via le tchat, mais apparemment on ne se comprend pas. La fille m'a renvoyé vers le systeme de lien de paiement. Chose que j'ai déjà mis en place ...
J'ai ajouté mon lien de maj dans les évènements à traiter mais cela ne fonctionne toujours pas.
// Handle the event
switch ($event->type) {
	  case 'payment_intent.succeeded':
    $paymentIntent = $event->data->object; // contains a \Stripe\PaymentIntent
  header('Location:maj_bonus.php');
  exit;

  case 'cash_balance.funds_available':
    $cashBalance = $event->data->object;
 // ... handle other event types
  header('Location:maj_bonus.php');
  exit;
  case 'checkout.session.async_payment_succeeded':
    $session = $event->data->object;
  header('Location:maj_bonus.php');
  exit;
  case 'checkout.session.completed':
    $session = $event->data->object;
	  header('Location:maj_bonus.php');
  exit;

  // ... handle other event types
  default:
    echo 'Received unknown event type ' . $event->type;
}

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 04 juin 2022, 22:56

Apparemment, c'est pas dans celui-ci ! et ni dans "server.php" ?!

Help !

Est-ce dans le dashboard que je dois ajouter mon lien de maj?

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 03 juin 2022, 16:26

J'ai testé en réel, les paiements s'effectuent bien.
J'ai 2 scripts: server.php et webhook.php.
Je pense que c'est dans ce dernier que je dois mettre mon line de maj de database suite paiement?
<?php
// webhook.php
//
// Use this sample code to handle webhook events in your integration.
//
// 1) Paste this code into a new file (webhook.php)
//
// 2) Install dependencies
//   composer require stripe/stripe-php
//
// 3) Run the server on http://localhost:4242
//   php -S localhost:4242

require 'vendor/autoload.php';

// This is your Stripe CLI webhook secret for testing your endpoint locally.
$endpoint_secret = 'xxxxxxxxxxxxx';

$payload = @file_get_contents('php://input');
$sig_header = $_SERVER['HTTP_STRIPE_SIGNATURE'];
$event = null;

try {
  $event = \Stripe\Webhook::constructEvent(
    $payload, $sig_header, $endpoint_secret
  );
} catch(\UnexpectedValueException $e) {
  // Invalid payload
  http_response_code(400);
  exit();
} catch(\Stripe\Exception\SignatureVerificationException $e) {
  // Invalid signature
  http_response_code(400);
  exit();
}

// Handle the event
switch ($event->type) {
  case 'cash_balance.funds_available':
    $cashBalance = $event->data->object;
  // ... handle other event types
  default:
    echo 'Received unknown event type ' . $event->type;
}

http_response_code(200);
?>

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 25 mai 2022, 11:09

Merci pour vos réponses, je continue les tests. Je suis en train de configurer le webhook pour qu'il pointe vers mon script de maj de la base de données ...

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par two3d » 24 mai 2022, 14:27

Si le paiement est direct (paymentintents), pas besoin de webhook, la réponse est instantanée (hors virement qui peuvent prendre plusieurs jours).

J'affirme ceci car je les ai eu par leur tchat et ils me l'ont confirmé (d'ailleurs si tu as besoin d'aide, ils sont facilement joignable via le tchat ;))

Pour les autres méthodes, l'utilisation de webhooks sera la solution.

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par @rthur » 24 mai 2022, 11:49

Il faut que tu mettes en place un webhook pour que Stripe appelle un de tes scripts à chaque fois qu'un paiement a été effectué.
La doc est là :
https://stripe.com/docs/webhooks/quickstart

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par two3d » 24 mai 2022, 10:50

C'est quoi que tu doit faire comme style de paiement ? un paiement et tu valide directement ? ou un abonnement ?

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 24 mai 2022, 10:35

Oui, je viens de me plonger dedans et c'est galère :?

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par two3d » 24 mai 2022, 00:41

Je dois voir avec l'hébergeur où et comment installer l'API coté serveur
Ton hébergeur ne t'aider pas, c'est à toi de te débrouiller.

La doc est là : https://stripe.com/docs

Avec un peu de traduction et 2 à 3 jours pour comprendre le système, tu devrais y arriver, Stripe est plus simple que PayPal, la doc est bien fournie et partiellement traduite en Français ;)

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 23 mai 2022, 23:48

J'ai installé Stripe. Mais il n'est pas encore opérationnel. Je dois voir avec l'hébergeur où et comment installer l'API coté serveur.

Re: Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par two3d » 23 mai 2022, 22:46

Si le paiement est sur ton site, il te suffit de faire une requête sur ta base de données après le déclenchement du paiement.

Ou regarde du côté des Webhooks.

Quel service de paiement en ligne tu utilise ? Le service doit normalement proposer une "URL de fond" pour l'appeler et lui demander si le paiement est OK (si OK : Maj de la base)

Comment lier une action PHP à une action effectuée via un prestataire extérieur?

par nestor94 » 23 mai 2022, 17:58

Serait -il possible d'effectuer une maj de la database après le déclenchement d'un paiement en ligne sur mon site?