Php BraintreeWebhooks和Wordpress
我对网络挂钩有点陌生,请放松:) 我正在为WordPress开发一个插件,使用Braintree的支付处理器的API 我有提交交易的表单设置,看起来效果不错。但是,我需要监视子商户帐户授权的状态 Dev文档指定在Braintree的控制面板中使用domain.com/hook.php位置设置webhook 在Wordpress中,您不能通过URL直接访问插件文件位置 如何使用函数将webhook指向正确的文件以获取子商户信息 我目前使用ajax和Php BraintreeWebhooks和Wordpress,php,wordpress,braintree,Php,Wordpress,Braintree,我对网络挂钩有点陌生,请放松:) 我正在为WordPress开发一个插件,使用Braintree的支付处理器的API 我有提交交易的表单设置,看起来效果不错。但是,我需要监视子商户帐户授权的状态 Dev文档指定在Braintree的控制面板中使用domain.com/hook.php位置设置webhook 在Wordpress中,您不能通过URL直接访问插件文件位置 如何使用函数将webhook指向正确的文件以获取子商户信息 我目前使用ajax和 get_admin_url()。'admin a
get_admin_url()。'admin ajax.php?action=icfloevents_do_payment'代码>
获取管理员url,并将其定向到函数
你是如何做到这一点的 经过一些搜索和实验后,发现了这个问题
显而易见的(事后)解决方案是使用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回调
进入设置->永久链接并单击保存,确保刷新重写“缓存”,而不做任何更改
希望这对其他人有帮助