【问题标题】:How to create a “return” url for a payment gateway?如何为支付网关创建“返回”网址?
【发布时间】:2011-05-13 20:18:36
【问题描述】:

我的网站中有一个非常简单的电子商务。它只是一个购物车、一个名为“订单”的表格以及与支付网关的集成。网关做得很好,因为当我点击“购买”时,它会重定向到网关的 https 网站,一切都在那里完成。

我的问题是:此网关向我的网站返回状态代码。我需要配置一些 url,例如 www.mysite.com/get-return.php、www.mysite.com/get-error.php 和 www.mysite.com/get-receipt.php

问题是我使用的是 Wordpress,所以我不能只指向我的主题文件夹中的 php 文件。在发送任何标头之前,我需要以某种方式使用add_action 添加一些逻辑(可能我将使用init 挂钩),并让我的插件完成www.mysite.com/get-的所有实现return.php 可以。

是否可以使用add_actioninit 挂钩来检测正在调用哪个 url,因此我可以在插件中实现逻辑,假设 www.mysite.com/get-return.php 存在,并且不返回 404 给它的调用者?

【问题讨论】:

    标签: php wordpress e-commerce redirect payment-gateway


    【解决方案1】:

    我的问题是:这个网关返回一个 状态码到我的网站。我需要 配置一些url,例如 www.mysite.com/get-return.php, www.mysite.com/get-error.php 和 www.mysite.com/get-receipt.php

    您仍然可以通过以下方式执行此操作

    您可以在主题文件夹中创建一个 php 文件作为模板文件。 顶部将包含以下代码

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

    它将为您创建一个模板,您可以将此文件用作

    从 wordpress 的管理站点创建一个页面并将此模板分配给该页面。

    每当您点击此页面的参数链接时,它都会从您的主题文件夹中执行您的模板文件。

    谢谢。

    【讨论】:

    • 我知道这可以做到,但是标头已经发送了。实现逻辑的正确方法是在插件中,而不是在模板文件中。我知道这个解决方案,但感谢您的回答。
    【解决方案2】:

    您可以使用$_SERVER['REQUEST_URI'] 检测从任何 PHP 文件(无论是直接运行还是包含在另一个文件中)调用的 URL。这将为您提供 URL before 应用任何类型的重写。请注意,它不会将域作为 URL 的一部分,仅包含路径(即/get-return.php)。

    【讨论】:

    • 嗯,这很有趣。感谢您的回答。
    猜你喜欢
    • 2022-12-10
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 2015-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多