I created a function in ee module to handle Paypal IPN as follows:

function ipn_paypal(){

    $objPaypal = new Paypal_Lib();

where process_order function is written in a separate file inside libraries as "Paypal_lib.php". Inside this library file the function is:

function process_order() {
    if ($this->validate_ipn()) {


But Paypal gets a 403 error when the following ACT is called:


I even tried creating an ee template and calling the IPN function inside template, but still Paypal sees a 403 error.

Strange thing is that when I call the same ACT URL from browser it runs fine. Seems when Paypal sends a POST to the ACT URL, some issue happens.

Any clues?

  • 1
    Have you tried POSTing to the URL? Or just GET from the browser? You might try an app like Rested, which allows you to send a post request, so you can simulate the IPN. Also, I know PayPal offers an IPN simulator in their developers site. Have you tried that? Mar 17 '14 at 12:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.