Using PayPal IPN with Yii2

0 0
1
Viewed: 16 622 times
Version: Unknown (update)
Category: Tips
Written by: darioo darioo
Updated by: darioo darioo
Created: Feb 28, 2015
Updated: 11 years ago

You are viewing revision #3 of this wiki article.
This is the latest version of this article.
You may want to see the changes made in this revision.

« previous (#2)

I'm using PayPal's script from

https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php

To create IPN. I'm using Yii2 framework. In my sandbox account I'm trying to test IPN but I'm keep getting error:

We could not send an IPN due to an HTTP error: 400: Bad Request

It is not cookie problem because I tried to use different browsers.

I fixed it by adding:

public $enableCsrfValidation = false;

To my XYZController. It's not safe to do it, but it worked, I'm using different controllers just for IPN, so it's fine.

Or just add this code in your controller so you can easily disable CSRF

public function beforeAction($action) 
{
	if(Yii::$app->controller->action->id=="ipn")
		$this->enableCsrfValidation = false;
	return parent::beforeAction($action);
}

Read more here: [Yii Forum]( http://www.yiiframework.com/forum/index.php/topic/21146-yii-and-paypal-ipn-400-bad-request-via-ipn-simulator/page__gopid__268890#entry268890 " http://www.yiiframework.com/forum/index.php/topic/21146-yii-and-paypal-ipn-400-bad-request-via-ipn-simulator/page__gopid__268890#entry268890")