Using PayPal IPN with Yii2

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")

0 0
1 follower
Viewed: 13 018 times
Version: 2.0
Category: Tips
Written by: darioo
Last updated by: darioo
Created on: Feb 28, 2015
Last updated: 9 years ago
Update Article

Revisions

View all history