我如何在我的成功页面上知道客户PayPal交易是否成功


How do i know whether the client paypal transaction is successful or not on my success page

在我的订单页面上,我使用以下表格:

<input type="hidden" name="item_number" value="<?php echo $refNumber; ?>">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="<?php echo $paypal_email; ?>" />
<input type="hidden" name="currency_code" value="USD" />
<input type="hidden" name="return" value="<?=$_SESSION["web_site_url"]?>/payment_success.php?OrderID=<?=$refNumber;?>" />
input type="hidden" name="amount" id="amount" value="<?=$product_vals["discount_prize"]?>" />
<input type="hidden" name="item_name" id="item_name" value="<?=$product_vals["name"]?>" />

现在我想要我的payment_success页面的示例代码,从中我开始知道PayPal是否验证客户付款或客户的付款是否成功..以便我可以继续下一步从客户收集信息。

我已经阅读了PayPal文档,但无法从中学到有用的东西。 帮我解决这个问题。此外,我还想获得客户和交易ID/payment_success变量(真/假)的PayPal电子邮件,以便我帮助我确定付款是否成功。

提前谢谢。

您可以使用 Micah Carrick PayPal class。这是非常明确的类,支持通知URL,返回URL和成功URL。你不需要使用任何形式或其他东西,而只需使用这个类,让这个类来完成你的工作。示例代码为:

$p = new paypal_class;   
$p->add_field('business', $paypal_email);
$p->add_field('return', $add_fund_url.'/success.php');
$p->add_field('cancel_return', $add_fund_url.'/cancel.php');
$p->add_field('notify_url', $notify_url );
$p->add_field('item_name', $item_name);
$p->add_field('item_number', $item_number);
$p->add_field('custom',$custom_field);
$p->add_field('amount', $amount);
$p->add_field('no_shipping', '1');
$p->submit_paypal_post(); // submit the fields to paypal

如果您在他们付款后收集更多数据,那么您真的应该使用快速结账 API,而不是像现在这样PayPal标准。 即使在您的PayPal配置文件中启用了自动返回,用户仍然可能无法返回您的网站(例如,他们可以在重定向发生之前关闭浏览器。

使用Express Checkout,即使在最终呼叫完成付款之前,用户也将始终回到您的网站,因此,如果您愿意,甚至可以在完成付款之前从用户那里收集其他详细信息。

查看本指南,了解如何实现最简单的快速结账集成。 这将使您熟悉应如何设置快速结帐(即您将进行的API调用)。

然后,获取此PayPal PHP SDK 并使用它来进行 API 调用。 它为您设置了所有内容,因此您可以非常快速轻松地集成到结帐中。