2013-03-11 59 views
2

我做了會員制度,使用9.9美元/月的PayPal訂閱。在ipn.php 我可以處理,如果用戶付費或第一次失敗。貝寶 - 如何知道下個月用戶是否不支付他的訂閱?

<?php 

ini_set('log_errors', true); 
ini_set('error_log', dirname(__FILE__).'/ipn_errors.log'); 

include('ipnlistener.php'); 
$listener = new IpnListener(); 

$listener->use_sandbox = true; 


try { 
    $listener->requirePostMethod(); 
    $verified = $listener->processIpn(); 
} catch (Exception $e) { 
    error_log($e->getMessage()); 
    exit(0); 
} 


if ($verified) { 

// he paid 

} else { 

// he didn't pay 

} 

?> 

但是,如果用戶下個月不支付他的訂閱費用,我不會做什麼。我應該考慮採用哪種方法來檢測此問題?

回答

1

這不像「驗證=他支付」那麼簡單。不是一個長長的粉筆。有幾種不同的交易類型。你必須看,和解釋。其中一個是取消,另一個是EOT(期末)等。

例如,在這種情況下,如果下個月沒有獲得subscr_payment IPN,請不要續訂訂閱。

+0

我有這些。例如我檢查$ _POST ['payment_status']是否爲「已完成」。我問的是,下個月哪個腳本/系統會檢查它? – user198989 2013-03-11 03:48:19

+0

我已經回答了。如果您沒有收到subscr_payment,請不要續約。或者換句話說,當你收到付款時更新,而不是其他方式。 – EJP 2013-03-11 04:28:37