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

时间:2016-01-17 18:36:31

标签: php paypal payment-gateway payment payment-processing

在我的订单页面上,我使用此表单:

<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电子邮件(即真/假),以便我能帮助我确定付款是否成功..

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您在付款后收集更多数据,那么您应该使用Express Checkout API而不是像现在使用的PayPal Standard。即使在您的PayPal个人资料中启用了自动返回功能,用户仍可能无法将其恢复到您的网站(例如,他们只需在重定向发生之前关闭其浏览器。)

使用快速结账时,即使在最终确认付款之前,用户也总是会回到您的网站上,因此即使在最终确定付款之前,您也可以从用户那里收集其他详细信息。

Implementing the Simplest Express Checkout Integration上查看本指南。这将使您熟悉如何设置Express Checkout(即您将要进行的API调用)。

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

答案 1 :(得分:1)

你可以使用Micah Carrick的paypal课程。这是非常明确的类,它支持通知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