Поддерживает ли Satchmo частичную авторизацию Authorize.net платежный модуль поддерживает частичную авторизацию MasterCard?

#python #authorize.net #satchmo

#python #authorize.net #satchmo

Вопрос:

У меня есть приложение Django, которое использует Satchmo совместно с Authorize.net . Authorize.net теперь поддерживается частичная авторизация для карт MasterCard и Discover, как указано здесь и здесь. Кто-нибудь знает, поддерживаются ли эти изменения в Authorize.net платежный модуль в Satchmo? Я нашел ветку списка рассылки на эту тему, но ответ из нее был неясен.

(Я отправил этот же запрос как в список пользователей Satchmo, так и в список разработчиков Satchmo, и задал запрос в IRC-канале, ответа нет. Проект Satchmo в основном, похоже, мертв, поэтому я надеюсь, что кто-нибудь здесь сможет помочь.)

Ответ №1:

Короткий ответ — нет, Satchmo Authorize.net модуль не поддерживает частичную авторизацию «из коробки». Длинный ответ, однако, заключается в том, что создать то, что вы хотите, может быть проще, чем вы думаете:

  1. В этой документации точно описано, что вам нужно для отправки частичного платежа на Authorize.net система:

    • Отправка x_allow_partial_auth=true с отдельной транзакцией.
    • Когда первая транзакция успешно одобрена на часть общей суммы заказа, генерируется и возвращается идентификатор разделенного тендера. Вы должны передать это значение обратно в следующих транзакциях с x_split_tender_id=<value> . (Если вы укажете идентификатор разделенного тендера и идентификатор транзакции в одном запросе, появится ошибка.)
  2. Документация Satchmo описывает, как создавать пользовательские платежные модули.

Если вы посмотрите на исходный код для Authorize.net платежный модуль в /payment/modules/authorizenet/processor.py , вы можете видеть, что большая часть работы уже выполнена за вас. Вы можете либо расширить это Authorize.net создайте класс или просто скопируйте и вставьте код в новый модуль, скажем, /payment/modules/authorizenetpartial/ и внесите изменения, как указано на Authorize.net документация. Просто замените это x_split_tender_id на свое x_trans_id и, возможно, на несколько других настроек методом проб и ошибок, и все будет готово.

Комментарии:

1. Ссылка на документ не работает, найдите его [здесь] ( developer.authorize.net/guides/AIM/wwhelp/wwhimpl/js/html /… )

2. Спасибо @UdaySawant, я обновил его до прямой ссылки на документацию по частичной авторизации.