1
我正在尝试添加一个PayPal“立即付款”类型的按钮,该按钮重定向用户进行付款。但是在完成之后,我的数据库和程序如何知道付款是否成功以及哪些东西已付款?PayPal按钮:支付成功后如何返回指定值?
我需要贝宝采取一个简单的id变量,并且只有在付款发生后才将其返回给指定页面。我认为如果贝宝可以简单地持有我的“item_id”变量,那就足够了。
在我的付款页面:
<?php
$item_id = $item["id"];
?>
<td>
<!-- code from PayPal: -->
<form action="https://www.paypal.com/cgi-bin/webscr" method="post" target="_top">
<input type="hidden" name="cmd" value="_s-xclick">
<input type="hidden" name="hosted_button_id" value="RZ3N8DZLEYN5L">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_paynow_LG.gif" border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
<img alt="" border="0" src="https://www.paypalobjects.com/en_US/i/scr/pixel.gif" width="1" height="1">
</form>
</td>
在payment_complete页:
<?php
if(isset($item_id)){
$query = "UPDATE items SET status = 'paid' WHERE id = {$item_id}";
$result = mysqli_query($db, $query);
redirect_to("paywalled_page.php");
}else{
redirect_to("payments.php");
}
?>
在贝宝,该按钮创建页面上,在“高级功能”,它看起来像它让我输入一个变量返回到指定的URL,但即使我得到这个工作,我不认为硬编码“$ paid = true”就足够了。
你应该看看贝宝IPN,这是不是。 https://developer.paypal.com/docs/classic/products/instant-payment-notification/ – FluxCoder