Magento Отмена заказов через бэкэнд

15

Мы используем платежную систему UsaEPay для нашего сайта (но я думаю, что эта проблема / вопрос сохраняется и для других способов оплаты).

Система работает так, что «Авторизация и захват» пакетирует транзакцию, и каждую ночь UsaEPay отправляет заказы в банк для окончательной обработки.

Теперь метод возврата не будет работать, потому что до пакетирования доступно только аннулирование.

В бэкэнде нет кнопки «Пустота», только «Возврат» (который выдает ошибку бэкэнда в тот же день).

Есть идеи по отмене заказов A & C?

Борух
источник
Вы пытались отменить заказ? Кроме того, возврат изнутри в модуле также может привести к пустоте - похоже на проблему,
связанную с
Это зависит от того, что вы называете "мочеиспускание". Вам нужно отправить запрос в банк, чтобы отменить обработку и вернуть деньги или просто отменить заказ в бэкэнде Magento?
user487772
Под Void я имею в виду вызов API void для шлюза. Если заказ CC еще не был отправлен (отправлен в банк), будет работать только Void, и возврат будет отклонен
boruch

Ответы:

7

Мне пришлось работать над очень похожей задачей с Брэйнтри, в которой они также разрешали возмещение только после того, как заказ был выполнен, и до этого можно было только аннулировать. Это не основная ошибка Magento, так как это нечто специфическое для (некоторых) платежных шлюзов. Кроме того, конкретные вызовы API отличаются, поэтому имеет смысл, что команда Magento не может предоставить общее решение.

Решение, которое применимо к этому случаю, состоит в том, чтобы выполнить вызов AJAX, посмотреть, не завершена ли транзакция, и если это так, сделать вызов «void» вместо «refund». Если поставщик модулей UsaEPay не сделает это за вас, это то, что вы должны реализовать.

Пол Григорута
источник
+1 и принял - я так и думал :) Спасибо за ответ. Есть указатели? Моя первоначальная мысль заключается в том, чтобы прослушать событие возмещения magento и перенаправить вызов void () (если в тот же день), но как остановить вызов вызова после возврата в UEP refund () и выдачи ошибки?
Борух
Это действительно зависит от кода USAEPay. Я предполагаю, что вы можете просто переопределить контроллер возврата и вызвать void, если в тот же день, или просто вызвать родительское (оригинальное) действие, если прошло более одного дня.
Пол Григорута
Я знаю, но я предпочел не навязчивое кодирование :)
boruch
Кто-нибудь поможет мне, после аннулирования заказа от PayPal, почему я не могу отменить заказ от magento.
ZUS
7

Я не могу точно сказать UsaEPay, но вы можете аннулировать только тот заказ, который не был выставлен счет при использовании authorize.net . в authorize.net , когда вы «авторизуетесь и захватываете», аннулирование больше невозможно. возможно это то же самое с UsaEPay?

Лаура
источник
+1 - это то же самое, но как я могу аннулировать в нашем сценарии использования?
Борух
Кто-нибудь поможет мне, после аннулирования заказа от PayPal, почему я не могу отменить заказ от magento.
ZUS