2017-04-26 40 views
0

我有点新的网页钩,请去容易:)布伦特里网络挂接和WordPress

我开发的WordPress插件,使用他们的API布伦特里的付款处理器。

我有表单设置提交交易,似乎运作良好。但是,我需要监控子商户帐户授权的状态。

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

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

如何使用函数将webhook指向正确的文件以获取子商户信息?

我目前使用Ajax和

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

获得管理URL,并将其引导到函数处理支付。

你如何从外部做到这一点?

回答

0

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

明显的(事后)解决方案是使用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); 
} 

这将aloow的网址something.com/brainhook向brainhook.php从而使我与API回调直接在我的插件工作为目标。

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

希望这可以帮助别人。