2016-11-03 98 views
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」就足夠了。

+0

你應該看看貝寶IPN,這是不是。 https://developer.paypal.com/docs/classic/products/instant-payment-notification/ – FluxCoder

回答