我希望我的访问者可以直接阻止页面success.php,例如:www.site.com/paypal/success.php但是当PayPal付款完成后,重定向到此页面将显示信息。但在确认paypal付款之前不直接到此页面
答案 0 :(得分:1)
这不是正确的方法。
您始终可以将人员发送到成功页面,也可以选择使用交易ID。
您不能说的是,如果付款成功了。这取决于您的付款提供商。您可能不得不等待来自他们的消息。如果是PayPal,您可以使用IPN。
因此,请不要依赖成功页面来确认交易,只需依赖
。会话或Cookie也不应用于跟踪交易。如果我同时开始2个交易会怎么样?
答案 1 :(得分:-1)
而不是将您的目标网址设置为PayPal
http://...../success.php
将其设为
http://...../success.php?secret=something-random-here
然后您的success.php
脚本将检查$_GET['secret']
是否存在并且等于您的期望。
答案 2 :(得分:-1)
我不确定您的代码是什么样的,但我会在success.php确认页面上使用付款处理会话。
<?php // transcation.php page
// Should the payment be successfully authorized
session.start();
$_SESSION['successful_transaction'] = true;
?>
<?php //success.php
if (empty($_SESSION['successful_transaction'])) die("Sorry, access denied");
?>