2012-07-05 81 views
1

我对codeigniter的第一个问题。我已经使用贝宝库在codeigniter中集成了paypal。一切工作正常,但当我回到成功页面,然后它给了我“发生错误:您执行的操作无效”。但同样的成功页面可以直接从网址(我的意思是当我直接在浏览器中)访问。贝宝成功的网址不工作:Codeigniter

控制器

function form() 
{ 
$this->paypal_lib->add_field('business', '[email protected]'); 
$this->paypal_lib->add_field('return', site_url('checkout/paypal/success')); 
$this->paypal_lib->add_field('cancel_return', site_url('checkout/paypal/cancel')); 
$this->paypal_lib->add_field('notify_url', site_url('checkout/paypal/ipn')); 
$this->paypal_lib-> 
add_field($this->security->csrf_token_name, $this->security->csrf_hash); 
} 
function success() 
{ 
    echo "success"; 
} 

路线

$route['checkout/paypal'] = 'checkout/paypal/index'; 
$route['checkout/paypal/(:any)'] = "checkout/paypal/$1"; 

成功页面是直接写给访问并打印 “成功”,但是当我从贝宝返回,它给了我 “的出错”

在apache log.getting 500 572.我不太确定我是什么反映。

谢谢

+0

您是否正确配置了CodeIgniter中的API密钥和PayPal界面上的IPN/Return URI? – 2012-07-05 10:10:43

+0

我很抱歉UGO,但我不知道API keys。我只是下载了paypal库,然后根据我的成功/取消/ ipn更改了参数。请更新我应该在哪里改变。 – 2012-07-05 10:14:49

+0

您正在处理付款API,您将需要完成一些工作!阅读您下载的库文档和Paypal API文档。 – 2012-07-05 10:17:20

回答

0

打开您网站的主配置文件并检查您的CSRF设置。我曾经有过类似的问题,并且通过禁用CSRF保护来解决问题。

$config['csrf_protection'] = FALSE; 

这有什么区别吗?

+0

你是完全正确的蒂姆。我已经整理出来了,我正在回答自己。 :) :)但后来我发现,你已经回答了这个问题。 – 2012-07-06 06:44:34

+0

很高兴听到它。 :) – Scully 2012-07-06 23:37:47

0

$ config ['csrf_protection'] = FALSE; 确实在这种情况下,虽然你不应该把它关闭, 所以在这种情况下:

$ config ['csrf_protection'] = TRUE; 和 $ config ['csrf_exclude_uris'] = array('controller/success_function');

也会伎俩。