php - Paypal Ipn取消撤销

标签 php paypal-ipn payment-processing

我已经尝试在这里和 x.com 上搜索我的问题,但找不到任何东西,那么我想问一下。

问题是 Canceled_Reversal 状态。

  1. 当我得到这个状态时,我如何检查我们是赢了还是输了? 因为我发现这意味着赢/输

  2. 当我得到这个状态之后会不会有一个完整的状态?

我认为我应该做什么

我需要它的目的是因为我需要查明该成员是输掉了争议还是我们赢了。因为那样的话,用户不应该访问用户获胜的内容,但如果我们获胜,他仍然可以访问

*我现在如何使用它* 如果(完成)支付 if(Pending) 作为等待 if($payment_status == "Voided"|| $payment_status == "Expired") 被拒绝 if($payment_status == "Reversed"|| $payment_status == "Refunded"|| $payment_status == "Canceled_Reversal") 已退款

  1. 但是当我收到待处理的 paypal 之后会完成吗?

如果你有什么建议我想听听

希望有人能帮我解决这个问题:)

最佳答案

我或许能够解释原始问题中的发现以及用户 4416494 运行的实验。

关键是要了解 PayPal 费用是固定金额加上购买价格的百分比。退款后,客户会得到全额的退款。但是 Paypal 总是保留费用。这意味着商家实际上亏本了。他们失去了完整的原始购买价格(因为那又回到了客户手中)并且他们必须提供 PayPal 保留的费用。

因此,例如,如果我向某个组织捐赠了 5.00 美元,然后该组织退还了 5.00 美元,我将得到全额的 5.00 美元。但该组织甚至没有出来。他们实际上损失了 PayPal 为交易保留的费用。 (我没有在 PayPal 文档中找到这个细节,但我已经从我自己的 IPN 中验证了它。)

Cancelled-Reversal 看似笨拙的使用——即使是商家败诉的争议——也是 PayPal 如何“简化”这种费用处理的方式。

考虑购买 5.00 美元。如果 PayPal 收取 2.2% + 30 美分,则商家将获得 4.59 美元,而 PayPal 保留 41 美分。

(请参阅以下堆栈溢出问题以及 PayPal 提供的示例消息:PayPal IPN Example: Completed, Reversed, Canceled_Reversed and Refunded)

商家获胜的争议顺序是这样的(原购买:$5.00):

  • 完成:4.59 美元
  • 反向:$-4.59
  • 取消-逆转:4.59
  • 总和:4.59 美元

因此,归根结底,如果未提出争议,商户账户最终会收到他们本应收到的金额:4.59 美元。

以下是商户败诉导致 5.00 美元购买的顺序:

  • 完成:4.59 美元
  • 逆转:$-4.59
  • Canceled_Reversal:4.59 美元
  • 退款:$-5.00
  • 总和:-0.41

所以你可以看到客户拿回了他们所有的钱,商家赔了钱来支付 PayPal 保留的费用。

  • 如果客户赢得争议,他们将获得全额退款。
  • 商家为全额退款买单,包括 PayPal 保留的费用。
  • PayPal 不会同时向客户发出撤销和退款。这意味着商家将被收取两次费用,而客户将获得两倍于原始购买价格的退款。
  • 所以“反转”可以看作是暂时的。 它将以一种或另一种方式被取消
  • 如果商户获胜,撤销将被取消,到此结束。
  • 但如果客户在争议中胜诉,撤销将被撤销,并由全额退款代替。
  • 这就是 PayPal 实际上确保账簿余额的方式(请参阅 EJP 答案末尾的 EJP 评论)。

编辑 这是包含费用的更详细的回复。 (这些数字来自 this Stack Overflow 页面上报告的 IPN。)

商户胜诉:

Status            mc_gross  mc_fee 
==================================      
Completed             5.00    0.45 
Reversed             -4.55   -0.45 
Canceled_Reversal     4.55    0.45
===================================
SUM                   5.00    0.45

客户赢得的争议:

Status            mc_gross  mc_fee 
==================================      
Completed             5.00    0.45 
Reversed             -4.55   -0.45 
Canceled_Reversal     4.55    0.45
Refunded             -5.00   -0.15 
===================================
SUM                      0    0.30

有趣的是,这表明 PayPal 只保留退款费用的固定部分,而不是按购买价格百分比计算的费用部分。

关于php - Paypal Ipn取消撤销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14967249/

相关文章:

javascript - 为什么我的 .pagination li add active 对第 1 页不起作用?

paypal - Virtuemart 2 付款方式

paypal - 我需要在 php 中通过 api 支付给 paypal 定期付款的总金额列表

ruby-on-rails - result.credit_card_verification 即使在 braintree 出错时也返回 nil

php - 如何使用 AJAX 在 PHP、MySQL 中启动进程,然后停止

PHP - mysqli_fetch_assoc,2 个结果然后放入数组中

PHP和MySQL选择框

php - Paypal 隐藏变量不起作用

Paypal 订阅下一个付款日期

php - PayPal IPN 总是返回无效