Le souci que j'ai c'est que mon moyen de paiement (Paybox - qui m'a été imposé) renvoi l'autorisation du paiement de serveur à serveur. Le problème que j'ai c'est qu'au moment où le serveur de Paybox appelle ma page d'autorisation (c'est sur cette page que je créé la commande si paiement ok) il n'a pas les informations de Session pour pouvoir créer la commande (à partir de la session panier).
L'id de session est envoyé au client(navigateur , mobile ...) par un cookie. Or le cookie est propre à un domaine(et/ou ses sous-domaines) c-a-d seul le serveur émetteur a connaissance du cookie donc de l'id de session.
tu peux récupérer les données mises en session puis les transmettre à Paybox à l'aide d'une requête HTTP de type POST. Dans la même requête tu peux aussi transmettre l'url de la validation de la commande(IPN). Cette url sera appelée par Paybox à l'issue du paiement.
<?php
$params=['clientId'=>100, 'totalPrice'=>299.99, 'PBX_REPONDRE_A'=>'http://mon-serveur.fr/ipn.php' ];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.serveur-de-labanque.fr');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($params));
$response = curl_exec($ch);
var_export($response);
curl_close($curl);
?>
Pour se protéger d'un cas de vol de l'id de session encore appelé
attaque par fixation de session, comme mentionné dans les messages précédents, on utilise la fonction session_regenerate_id() qui a pour rôle de régénérer un nouvel identifiant de session tout en gardant la session actuelle. cette fonction tu peux la placer au moment de l'authentification par exemple juste après session_start()