2013-03-11 46 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