2010-01-26 12 views
2

Je dois créer une méthode de paiement personnalisée qui récupère certaines variables de la commande du client et les envoie en tant que variables POST à ​​une URL externe.dans Magento, Comment faire une méthode de paiement qui envoie des variables POST à ​​une URL externe?

Les variables que j'ai besoin de Magento sont le montant total, le numéro de commande et la description des produits. Ces variables sont envoyées à une URL d'une passerelle tierce, où les informations de carte de crédit sont demandées de manière sécurisée, et lorsque la transaction est terminée, elles renvoient l'utilisateur sur mon site magento. J'ai cherché des informations et des tutoriels, mais je me sens encore un peu confus, je suis pratiquement nouveau à la programmation en magento, donc j'apprécierais vraiment si quelqu'un pouvait donner une explication étape par étape, ou à moins un lien vers un tutoriel

Merci

Répondre

3

Voilà comment fonctionne Paypal, de sorte que le module inclus car ce serait un bon point de départ, mais essentiellement:

  • vous avez une méthode sur votre paiement classe qui dit à Magento que le m ethod est adapté à la commande (cela vous permet d'utiliser différentes méthodes pour différents ordres-totaux, ou devises, etc. mais vous pouvez simplement retourner 'true')

  • s'il y a des bits d'information dont vous avez besoin pour capturer que Magento sinon, vous configurez un modèle/bloc pour votre formulaire, et cela s'affiche lorsque le client sélectionne votre méthode (Paypal n'a pas ce type de formulaire)

  • vous implémentez une méthode 'authorize' qui fait tout traitement des détails de la commande

  • Vous implémentez une méthode getRedirectUrl qui retourne une URL pour que Magento redirige également l'utilisateur. Si vous avez besoin de poster sur votre passerelle, alors votre redirection sera à une URL locale (/redirect.php dire) et ici vous aurez un formulaire avec des champs cachés et du javascript qui le soumettra automatiquement (vous pouvez coller un loading-gif aussi si vous voulez) qui amènera l'utilisateur à la passerelle. *

  • si vous fournissez une URL à la passerelle pour renvoyer le client à (vous faites normalement ...) alors vous allez besoin d'une page là aussi, ce qui fait toute demande de nettoyage/validation, avant de rediriger le client vers la page de confirmation de commande

(* vous pouvez le faire en tant que contrôleur et modèle au sein magento si vous voulez (il est un peu plus ordonné), mais en expliquant comment faire t de cette façon prendra un peu plus de temps que j'ai)