php - 帮助 payment_status PayPal Refunded Reversed Partially Refunded IONs

标签 php mysql paypal paypal-ipn

如果成员(member)正在订阅和/或一次付款并且他们要求退款、撤销或部分退款,那么下面的脚本是否适用于通过 IPN 发送的 IPN 消息?

if($payment_status == "Refunded" || $payment_status == "Reversed" || $payment_status == "Partially Refunded"){
mysql_query("UPDATE members SET month_date = '$gettoday', subscr_id = '$subscr_id', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'");
}

如果没有,我可以使用什么或如何在 PHP 中编写脚本以使我的系统读取所有人的 IPN payment_status 并知道是什么订阅者(通过他们的 PayPal 订阅 ID 或我系统中的成员(member) ID)或付款人((通过他们在我系统中的成员(member) ID)在发送其中一个时执行操作?

此外,如果我想检查订阅 ID,这样做会更聪明吗?

if($payment_status == "Refunded" || $payment_status == "Reversed" || $payment_status == "Partially Refunded"){

if($subscr_id){

mysql_query("UPDATE members SET month_date = '$gettoday', subscr_id = '$subscr_id', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'");

} else {

mysql_query("UPDATE members SET month_date = '$gettoday', subscr_cancel = 'Y', active = 'N', prepay = 'N' WHERE id='$id'");

}}

最佳答案

Paypal 会先发送一个支付状态为 reversed 的 IPN,然后再发送一个状态为 refunded 的 IPN。因此,我不会像您在原始示例中那样同时包括 reversed 和 refunded。

至于对 user_id 的测试,它始终是一致的,每个 IPN 都包含付款人 paypal 电子邮件,包括撤消/退款消息。

关于php - 帮助 payment_status PayPal Refunded Reversed Partially Refunded IONs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5174997/

相关文章:

php - 使用 PHP 在 MySQL 表中搜索 Base64 字符串

php - 即时支付通知 (IPN) 模拟器剂量工作

php - mongodb - 在子数组中搜索,PHP

php - mysql自定义排序方式

php - {$histogram{$value}++} 在 Perl 中是什么意思?

javascript - 数据表 : DeferLoading is not working correctly

php - 如何在自定义 php 项目中注册/使用/配置 beberlei/DoctrineExtensions?

php - 如何按日期为谷歌图表迭代数据库值

Perl:集成时 Net/Braintree HTTP 模块的服务器错误

paypal - 在生产中处理 paypal 付款时出错