Authorize.net Тихая публикация и тестовый режим

Интегрировал систему автоматического периодического выставления счетов AuthNet вместе с функцией Silent Post для создания системы платных функций в веб-приложении нашей команды. Функция молчаливого сообщения имеет небольшую документацию, но я наткнулся на несколько полезных тем на SO, а также на несколько сообщений в блогах, созданных нашими участниками (особенно Джон Конде "Все о Silent Опубликовать" ), чтобы помочь сориентироваться. У меня есть еще несколько специальных вопросов, однако я надеялся, что некоторые из вас, более опытные люди, смогут помочь.

Документация Authorize.net включает это уведомление:

Учетные записи тестовой среды не обрабатывают транзакции подписки ARB. Если вы используете учетную запись тестовой среды, вы не будете получать эти уведомления по электронной почте ни в какой форме. Вы также не сможете получить транзакцию подписки ARB Silent Post при использовании учетной записи тестовой среды.

Мне было интересно, знает ли кто-нибудь, означает ли это, что учетные записи установлены в TEST MODE в их панелях управления, или это относится к учетным записям только для разработчиков, доступным для тех, кто работает на платформах AuthNet независимо от развертывания? Учетная запись, которую мы используем для тестирования, является реальной учетной записью продавца, установленной в тестовом режиме, и мы получаем молчащие сообщения для платежей виртуального терминала, выполненных через AuthNet CP, но даже успешные ARB не показывают молчащие сообщения.

Кроме того, какие параметры можно использовать для обеспечения того, чтобы тихий пост был создан с помощью AuthNet? Я настроил конечную точку и распечатал объекты запроса из молчаливого поста, а также суперглобал $_SERVER — не похоже, что они отправляют какую-либо идентификацию, кроме хэша MD5, установленного в CP. Это нормально, но мне было интересно, будет ли какое-либо преимущество в ограничении конкретными удаленными адресами — я предполагаю, что это маловероятно, поскольку сообщения, вероятно, поступают из центра обработки данных с множеством IP-адресов, выделенных для отправки тихих сообщений.

Кроме того, спецификация ARB устанавливает статус подписки в SUSPENDED только в AuthNet по очень конкретным критериям (только если неудачный платеж является первым повторным выставлением счета, а если нет, то после двух попыток в последующие дни). Является ли это нормальной практикой для приостановки подписки? Если мы хотим сделать один отказ триггером приостановки, должна ли логика отзыва функции также выдавать вызов API UpdateSubscription и устанавливать приостановку вручную, чтобы отказаться от спецификации по умолчанию?


person DeaconDesperado    schedule 04.04.2011    source источник


Ответы (1)


Мне было интересно, знает ли кто-нибудь, означает ли это, что учетные записи установлены в TEST MODE в их панелях управления, или это относится к учетным записям только для разработчиков, доступным для тех, кто работает на платформах AuthNet независимо от развертывания?

Это относится к обоим. Любые тестовые ARB-транзакции никогда не будут обработаны и не будут генерировать тихие сообщения. Вероятно, поэтому их форумы разработчиков забиты вопросами о тестировании ARB. По сути, лучшее, что вы можете сделать при тестировании, помимо настройки активной подписки, это:

  • Протестируйте вызов API, используя учетную запись разработчика. Если вы получите обратно идентификатор подписки, значит, ваша интеграция работает правильно.
  • Протестируйте тихую публикацию, отправив симулированную отправку POST. Я могу опубликовать образец формы для этого.

Кроме того, какие параметры можно использовать для обеспечения того, чтобы тихий пост был создан с помощью AuthNet?

Хэш MD5, возвращенный в молчаливом сообщении, представляет собой хэш строки, которая включает хеш-значение MD5 (установленное в настройках безопасности), которое, предположительно, известно только авторизации. Таким образом, вы генерируете хэш на своей стороне, используя возвращенную информацию плюс секретную хеш-строку, и сравниваете, чтобы проверить ответ. Подробности о хеше можно найти здесь.

Это нормальная практика приостановки подписки?

Нормальная практика? Честно говоря, я не знаю. Я не знаю, как другие компании справляются с этим. Где-то на их форумах сообщества есть сообщение, в котором сотрудник Authnet объясняет, как это работает, но я не смог найти ссылку на него здесь. Это имело смысл для меня, когда я читал это.

Если мы хотим сделать один отказ триггером приостановки, должна ли логика отзыва функции также выдавать вызов API UpdateSubscription и устанавливать приостановку вручную, чтобы отказаться от спецификации по умолчанию?

Если подписка терпит неудачу, она автоматически приостанавливается Authorize.Net, поэтому вам не нужно ничего делать со своей стороны. Но вам необходимо обновить учетную запись пользователя в вашей системе и приостановить ее (при условии, что подписка предназначена для какой-либо учетной записи пользователя).

person John Conde    schedule 04.04.2011