2010-11-22 5 views
1

J'ai un e-commerce très simple sur mon site. C'est juste un panier, une table nommée "commandes" et une intégration avec une passerelle de paiement. La passerelle se porte bien, puisque lorsque je clique sur "acheter", elle redirige vers le site https de la passerelle et tout est fait là.Comment créer une url "return" pour une passerelle de paiement?

Ma question est: cette passerelle renvoie un code d'état sur mon site Web. J'ai besoin de configurer quelques URL, par exemple www.mysite.com/get-return.php, www.mysite.com/get-error.php et www.mysite.com/get-receipt.php

Le problème est J'utilise Wordpress, donc je ne peux pas simplement pointer vers un fichier php dans mon dossier de thèmes. Je dois, en quelque sorte, ajouter une certaine logique en utilisant add_action avant que les en-têtes ne soient envoyés (probablement je vais utiliser le hook init), et faire en sorte que mon plugin fasse toute l'implémentation que www.mysite.com/get-return.php faire.

Est-il possible de détecter en utilisant add_action et le crochet init, qui url était appelé pour que je puisse mettre en œuvre la logique dans un plug-in en supposant existe www.mysite.com/get-return.php, et ne renvoient pas 404 à son appelant?

Répondre

1

Vous pouvez détecter l'URL appelée à partir de n'importe quel fichier PHP (qu'il soit exécuté directement ou inclus dans un autre fichier) en utilisant $_SERVER['REQUEST_URI']. Cela vous donnera l'URL avant toute sorte de réécriture a été appliquée. Juste une note, il n'inclura pas le domaine dans le cadre de l'URL, juste le chemin (par exemple, /get-return.php).

+0

Hum, c'est intéressant. Merci de répondre. –

1

Ma question est: cette passerelle renvoie un code d'état à mon site Web. Je dois configurer certains urls, par exemple www.mysite.com/get-return.php, www.mysite.com/get-error.php et www.mysite.com/get-receipt.php

vous pouvez toujours le faire en en suivant façon

vous pouvez créer un fichier php dans le dossier que vous thème en tant que fichier modèle. qui contiendra le code suivant en haut

<?php 
/* 
Template Name: Some name 
*/ 
//your dynamic stuff here 
?> 

Il va créer un modèle pour vous et vous pouvez utiliser ce fichier comme

créer une page sur le site d'administration de wordpress et attribuer ce modèle à cette page . Et chaque fois que vous cliquez sur le paramalink de cette page, il va exécuter votre fichier de modèle à partir de votre dossier de thème.

Merci.

+0

Je sais que cela peut être fait, mais les en-têtes seraient déjà envoyés. Et la manière correcte d'implémenter la logique est dans un plugin, pas dans un fichier modèle. Je suis au courant de cette solution, mais merci d'avoir répondu. –

Questions connexes