无法从Drupal重定向到Paypal

时间:2014-10-28 18:32:37

标签: php paypal drupal-7 paypal-sandbox

我对Drupal完全不熟悉。我在Drupal中使用纯HTML创建了一个表单,当用户点击付费时我调用一个PHP文件只是为了获取一些数据库信息,随后这个PHP重定向到另一个将Paypal付款放在一起的PHP。

出于某种原因,当从Drupal下调用时,paypal支付PHP不会重定向到Paypal。我的图层如下:

https://mysite.com/test/?q=node/11 - > call savedatatoDB.php - >致电paypalpreparepayment.php - >重定向到paypal

如果我直接从浏览器调用paypal支付PHP,如下所示: https://mysite.com/test/paypal/restapi/sample/payments/PaymentPP.php?samount=0.005&sprice=123.45&description=products&sqty=100

它有效!我认为问题可能是header()之前的输出,但事实并非如此。

我在重定向之前写了一行来写日志文件,如下所示:

$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$log = "{$today} ready to redirect {$sale_description}, {$sale_amount}, {$sale_quantity}, {$sale_price}\n";
//Save string to log, use FILE_APPEND to append.
file_put_contents('./log_'.date("j.n.Y").'.txt', $log, FILE_APPEND);
header("Location: $redirectUrl");
exit;

日志显示我已经到了那么远但没有重定向!但是,如果我直接从浏览器调用PHP,那么我会看到Paypal要求我授权。

因此,当我在Drupal UI下时,我想知道Drupal是否会以某种方式阻止重定向。

有什么想法吗?谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

我从Drupal.org得到了一个有意义的回答。

这是链接:https://www.drupal.org/node/2365503#comment-9295613

  

Jaypan评论大约11小时前

     

问题是你的重定向是在服务器端,但你是   用JavaScript触发它。如果触发器在你的JS中,那么   重定向也需要在JS中发生。如果触发器是非JS的   (提交到服务器),然后您的重定向可以在服务器端。