Интегрировал систему автоматического периодического выставления счетов 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 и устанавливать приостановку вручную, чтобы отказаться от спецификации по умолчанию?