为Paypal标准订单创建部分贷项凭证/退款的过程


10

我看到许多问题报告,如果管理员通过贝宝(Paypal)向客户发送了部分退款,那么Magento会收到一个IPN,该IPN会将整个订单标记为已退款(例如https://collaborate.magento.com/magento/topics) / paypal_refunds_and_automatic_credit_memo_genic)。

通过在Magento发票视图中创建在线贷项凭证,是否可以发放部分退款?

在这种情况下最好的方法是什么?请注意,这适用于Paypal标准版(不适用于Express或其他集成)。


2
欢迎,乔纳森!很高兴在这里见到你。SO的忠实拥fan。我想知道1.8 Alpha中是否解决了此问题-“ PayPal Express Checkout和PayPal Pro现在可以正确处理部分退款了。” -尽管未列出标准。
philwinkle

谢谢@philwinkle-此客户端是EE,因此我们应该能够获取1.13源码的副本并进行调查。感谢指针,如果可行,将发布答案!:)
乔纳森日

这里有运气吗?我很想知道EE 1.13是否已解决。
philwinkle 2013年

未解决:(似乎是结构性问题,因为Paypal无法标记要记入哪些项目,因此它仅发送IPN表示已退款一大笔钱。可能的选择是重写Magento功能以记录IPN贷项通知单作为对订单的注释(带有trxn ID),但不会自动提高贷项通知单,而是创建一个管理通知,提示管理员手动筹集贷项通知单并将正确的订单项标记为已退款。 。
乔纳森日

@JonathanDay,您是否能够提出解决方案或解决此问题的方法?我们遇到了同样的问题。
Colin O'Dell 2013年

Answers:


7

我们最终编写了一个模块以重写核心IPN模型,该模型可在发出Paypal退款时禁止自动创建Credit Memos。相反,它会添加一个具有Paypal交易ID(用于对帐)的订单注释,并引发管理员通知,管理员应手动创建一个离线贷项通知单以与在Paypal上退款的款项相关联。这使管理员可以将适当的订单项目标记为已退款,对金额进行更改(调整费等)。现在,该功能可以在生产中愉快地工作,可以在我们的Github存储库中进行查看。


听起来非常不错-该模块是开源的吗?(或想成为)
Alex

1
@Alex代码已发布,并使用链接更新了答案。请根据需要编写代码并/或进行分叉:)
Jonathan Day

不需要它的ATM-如果我开始使用它,将很高兴收到垃圾邮件和“拉”请求:-)
Alex

呵呵,那是我在n98-magerun存储库上最擅长的工作,谢谢@Alex :)
Jonathan Day

@JonathanDay我们遇到了同样的问题,并安装了您的模块,但不幸的是它似乎无法正常工作-默认的退款方法未被覆盖,因此行为也没有改变。我浏览了一下代码,在模型中看起来有点奇怪const CONFIG_IPN_REFUND_METHOD = 'payment/modpaypal/ipn_refund_method';,但是我对Magento并不十分熟悉,无法知道这应该是什么还是问题所在。任何帮助,不胜感激!:)
BrynJ 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.