【问题标题】:Braintree Webhooks and WordpressBraintree Webhook 和 Wordpress
【发布时间】:2017-04-26 01:37:50
【问题描述】:

我对网络钩子有点陌生,请放轻松:)

我正在为 WordPress 开发一个插件,并使用 Braintree 的支付处理器使用他们的 API。

我设置了用于提交交易的表单,并且似乎运行良好。但是,我需要监控子商家帐户授权的状态。

开发文档指定在 Braintree 的控制面板中使用 domain.com/hook.php 位置设置 webhook。

在 Wordpress 中,您无法通过 URL 直接访问插件文件位置。

如何将 webhook 指向具有获取子商户信息功能的正确文件?

我目前使用 ajax 和

处理付款

get_admin_url() . 'admin-ajax.php?action=icfloevents_do_payment';

获取管理 url,并将其定向到函数。

您如何在外部执行此操作?

【问题讨论】:

    标签: php wordpress braintree


    【解决方案1】:

    经过一些搜索和实验后发现了这一点。

    显而易见的(事后)解决方案是使用 WordPress 重写 URL 功能将 URL 路径指向插件目录中的单个文件。

    function rewrite_braintree_hook(){
    
        global $wp_rewrite;
    
        $plugin_url = plugins_url( 'brainhook.php', __FILE__ );
        $plugin_url = substr( $plugin_url, strlen( home_url() ) + 1 );
    
        add_rewrite_rule('brainhook', $plugin_url ,'top');
    
    
        $wp_rewrite->flush_rules(true);
    }
    

    这将使 URL something.com/brainhook 指向 Brainhook.php,从而允许我直接在我的插件中使用 API 回调。

    确保通过进入设置->永久链接并单击保存来刷新重写“缓存”而不更改任何内容。

    希望这对其他人有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 1970-01-01
      • 2015-03-20
      相关资源
      最近更新 更多