Question

Désolé si le titre est un peu Vaque, je promets que je vais éclaircir ci-dessous:

Tout d'abord, il y a un moment j'ai posé une question sur la vente des clés de série:

Comment puis-je exécuter un script personnalisé suivant l'achat avec Ubercart pour Drupal

Les informations que j'ai posté il peut aider à clarifier les choses dans cette question, mais je doute beaucoup parce que cette question est un peu plus général.

En fait, je ne veux pas exécuter mon code personnalisé jusqu'à ce que je sais que le paiement a été autorisé et l'argent dans mon compte. Je ne savais pas trop ce que l'action sous condition des thats déclencheur est « client finalise le contrôle dehors » ai fait bien? Quand il dit avoir terminé votre commande, il ne signifie pas nécessairement avec succès et l'argent est sur mon compte ou non?

Dans le cas contraire, comment puis-je faire Ubercart attendre jusqu'à ce qu'il sait que j'ai l'argent de pour exécuter tout mon code personnalisé PSP (par exemple, Google Checkout, PayPal, etc.)? Je ne peux pas travailler dehors, est-il possible?

Était-ce utile?

La solution

Il est pas documenté ou exposé comme quelque chose qui doit être fiable mais je pense que l'utilisation des « finalise client consultez » déclencheur est la voie à suivre.

Gardez à l'esprit que ce qui suit s'applique à Ubercart 6.x-2.4. (Dernière version en date d'aujourd'hui)

D'après ce que je regardais le code, il semble que le déclencheur est exécutée uniquement sur les commandes réussies. Que ce soit un moyen de commande avec succès que vous avez reçu le paiement, qui dépend beaucoup de votre configuration actuelle et les différentes passerelles de paiement ou la méthode que vous utilisez, mais dans des situations générales et la configuration.

Ce déclencheur n'est lancé à partir d'une fonction:

function uc_cart_complete_sale($order, $login = FALSE);

Si vous faites un module recherche à l'échelle lorsque cette fonction est exécutée, il devrait vous donner une idée approximative sur les différentes situations. Au fond, j'ai découvert qu'il est en cours d'exécution de quelques modules de paiement (paypal et 2Checkout par exemple), ainsi que lorsque vous atteignez la page de cart/checkout/complete drupal, qui est généralement sur les commandes avec succès. Le module paypal, qui vous demande spécifiquement, semble appeler cette fonction lorsqu'un état IPN « Terminé » est reçu.

Il ne devrait pas être difficile d'essayer quelques achats (bien et mal) et voir si votre déclenchement exécute uniquement lorsque la commande est bien chargé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top