IPN回调脚本的合理位置

时间:2012-07-16 作者:LBNerdBard

我正在开发一个插件,它将涉及接受贝宝即时支付通知。IPN是一个web挂钩,在处理付款时调用它。目前,我有一个脚本来处理插件中的IPN,例如。

http://mywordpressinstall.com/wp-content/plugins/paypalplugin/IPNHandler.php

然后我将此URL粘贴到PayPal开发者设置区域。

我想为IPN处理程序使用一个更可定制的位置(具有更友好的URL)。

我在想,也许可以使用一个短代码为插入的任何页面提供“处理程序”功能。这是一个明智的想法吗?有人对如何缩短处理程序的URL有什么建议吗?

谢谢

1 个回复
SO网友:Hameedullah Khan

您可以钩住init操作,然后检查查询变量,您可以使用贝宝提供的查询变量,也可以使用您自己的自定义查询变量。

我将为您提供一个自定义查询变量的示例,即MYIPN\\u侦听器

代码:

function wpse58656_paypal_ipn_listener() {
    // check for your custom query var
    // If you are paranoid you can also check the value of the var
    if ( ! isset( $_GET[\'MYIPN_LISTENER\'] ) ) {
        // if query var is not present just return
        return;
    }

    // do the processsing here

    // don\'t forget to exit when you are done
    exit;
}
add_action( \'init\', \'wpse58656_paypal_ipn_listener\' );
现在,您可以使用任何URL,但它应该具有MYIPN\\u侦听器作为查询变量,例如:http://mywordpressinstall.com/?MYIPN_LISTENER=1

结束

相关推荐

Paypal Framework

我正在尝试建立一个基于paypal订阅的网站,如果人们通过paypal支付订阅费,就可以在那里注册。我对Paypal IPN系统很陌生,但我发现这个插件似乎可以满足我的需要:http://wordpress.org/extend/plugins/paypal-framework/有人知道我需要通过hashCall() 函数为尝试注册的用户设置paypal订阅?我想这不是doDirectPayment 不需要所有CC参数,对吗?