Процесс создания частичного кредитового авизо / возврата для заказов Paypal Standard

10

Я вижу ряд проблем, о которых сообщалось, что если администратор отправляет частичную компенсацию клиенту через Paypal, то Magento получает IPN, в результате чего весь заказ помечается как возвращенный (например, https://collaborate.magento.com/magento/topics. / paypal_refunds_and_automatic_credit_memo_generated ).

Можно ли оформить частичное возмещение путем создания онлайн-кредитового авизо в представлении счета Magento?

Каков наилучший подход для этого сценария? Обратите внимание, что это относится к стандарту Paypal (не к экспрессу или другим интеграциям).

Джонатан Дэй
источник
2
Добро пожаловать, Джонатан! Рад видеть тебя здесь. Большой поклонник ваших вещей на SO. Интересно, была ли устранена эта проблема в 1.8 Alpha - «PayPal Express Checkout и PayPal Pro теперь обрабатывают частичные возвраты должным образом». - хотя это не перечисляет Стандарт.
Philwinkle
спасибо @philwinkle - этот клиент EE, поэтому мы должны иметь возможность получить копию источника 1.13 и провести расследование. оцените указатель, выложите ответ, если он работает! :)
День Джонатана
Удачи здесь? Мне любопытно узнать, разрешен ли EE 1.13.
Philwinkle
Не решен :( Кажется, это структурная проблема, так как Paypal не может пометить, какие предметы должны быть зачислены, поэтому он просто отправляет IPN, сообщая, что часть денег была возвращена. Возможный вариант - переписать функциональность Magento для записи кредитового авизо IPN. в качестве комментария к заказу (с идентификатором trxn), но не для автоматического поднятия кредитового авизо. Вместо этого создайте уведомление администратора, которое предлагает администратору вручную поднять кредитовое авизо и пометить правильные позиции как возвратные. Будет github то, что мы придумали .
День Jonathan
@JonathanDay, вы смогли найти решение или обойти эту проблему? У нас та же проблема.
Колин О'Делл

Ответы:

7

Мы закончили тем, что написали модуль для переписывания базовой модели IPN, которая подавляет автоматическое создание кредитных авизо при выдаче возврата Paypal. Вместо этого он добавляет комментарий к заказу с идентификатором транзакции Paypal (для сверки) и выдает административное уведомление о том, что администратор должен вручную создать автономное кредитовое авизо, чтобы соотнести его с деньгами, возмещенными в Paypal. Это позволяет администратору пометить соответствующие позиции заказа как возмещенные, применить изменения к сумме (сборы за корректировку и т. Д.). Теперь это успешно работает в производстве и может быть рассмотрено в нашем репозитории Github .

Джонатан Дэй
источник
Звучит очень хорошо - это модуль с открытым исходным кодом? (или хотел бы стать)
Алекс
1
@Алекс-код опубликован и ответ обновлен со ссылкой. пожалуйста, кодовый обзор и / или разветвление, как вы хотите :)
Джонатан Дэй
В этом нет необходимости, банкомат - будет рад СПАМУ с запросами о проблемах и вытягивании, если я его использую :-)
Alex
хе-хе, это то, что я делаю лучше всего на репо n98-magerun, спасибо @Alex :)
Джонатан Дэй
@JonathanDay Мы столкнулись с той же проблемой и установили ваш модуль, но, к сожалению, он не работает - метод возврата по умолчанию не переопределяется и, следовательно, поведение не меняется. Я просмотрел код, и в модели это выглядит немного странно const CONFIG_IPN_REFUND_METHOD = 'payment/modpaypal/ipn_refund_method';, но я не совсем знаком с Magento, чтобы знать, что это должно быть, или это проблема. Любая помощь с благодарностью! :)
BrynJ