创建用于从外部API获取数据的返回URL

时间:2019-08-29 作者:Alibagdad

我正在开发一个带有支付系统的插件。我需要为支付网关提供一个返回url,以便接收其答案。我不想创建一个特定的页面,而是希望有一种监听器根据返回进行处理,并重定向到一个成功或失败的页面。所以,我需要一些建议。

谢谢

1 个回复
最合适的回答,由SO网友:Jason RWD 整理而成

您可以注册rest路由(参考:https://developer.wordpress.org/reference/functions/register_rest_route/).

在你的情况下,类似这样的事情可以做到:

register_rest_route( \'your-plugin/v1\', \'/payments/(?P<trans_id>\\d+)(?:/(?P<amount>\\d+))?\', array(
        \'methods\' => \'GET\',
        \'callback\' => array( $this, \'your_callback_function\'),
        \'args\' => array(
          \'trans_id\' => array(
            \'validate_callback\' => function($param, $request, $key) {
              return is_numeric( $param );
            }
          ),
          \'amount\' => array(
            \'validate_callback\' => function($param, $request, $key) {
              return is_numeric( $param );
            }
          ),
        ),
    ) );
找出所有参数,在此处设置验证,然后编写回调函数来完成实际工作。

Wordpress正在沿着这条道路前进,以取代旧的管理ajax api,而且它非常容易使用。更多信息:https://developer.wordpress.org/rest-api/

相关推荐

Wp redirect - reset password

我卡住了。我正在从approve post功能重定向到建立密码的链接。这是可行的,但不需要用户。也就是说,打开重置密码页面,但我看到的错误是没有指定用户。我是否调用了错误的变量?提前谢谢。 add_action(\'init\', \'approve_post\', 10, 2 ); add_action(\'edit_user_created_user\', \'approve_post\', 10, 2 ); function approve_post($use