A priori, j'ai trouvé d'où vient le "id=2" dans l'url de retour en cas d'annulation paypal.
Dans le fichier PaypalTheliaV15Facade.php, il y a le code suivant ligne 246:
public function getCancelUrl()
{
return $this->urlSite . '/?fond=commande&action=transport&id=2';
}
Par ailleurs, après avoir installé des transports puis les avoir enlevés, il restait dans la table transzone de ma bdd une ligne pour le transport 2 mais qui ne correspondait plus à aucun mode de transport existant. Donc en revenant sur la page commande, le prix du transport était à 0.
En nettoyant la table dans ma bdd, le retour de paypal après annulation m'amène maintenant à la page ?fond=adresse.
C'est normal car quand on entre une url ?fond=commande&action=transport&id=2 avec un id de transport qui n'existe pas en bdd, on est renvoyé sur la page ?fond=adresse pour choisir un mode de transport.
C'est quand même très arbitraire et "bizarre" ce id=2 choisi d'avance dans le plugin...
J'ai essayé de remplacer id=2 par id=' . $commande->transport mais ça ne fonctionne pas. Je ne suis pas du tout un as en php, je dois m'en remettre à vous.
En tout cas le problème est circonscrit et contournable, à défaut d'être résolu.