Почему Authorize.net выдает ошибку, когда мой URL-адрес ответа ретранслятора указывает на контроллер CodeIgniter, а не иначе? - PullRequest
2 голосов
/ 13 апреля 2011

Я, как правило, не веб-разработчик, но я достаточно приличный программист, поэтому я чувствовал себя комфортно, принимая предложение от друга о разработке веб-сайта его брата для малого бизнеса. Я почти закончил, и я использую CodeIgniter, который мне очень помог, и в него было легко войти.

У них есть несколько продуктов, которые они хотели бы приобрести через сайт, их предпочтение было отдано Auth.net (с которым у меня нет предыдущего опыта), а их хост не поддерживает SSL (nearfreespeech.net), поэтому Я решил, что SIM-карта Auth.net была подходящей. Если я тестирую SIM-карту вне приложения CI со страницей ответа реле, которая просто выплевывает доступные детали транзакции, все идет как ожидалось. Если я попытаюсь сделать это со страницей ответа реле, настроенной на контроллер / метод CI, который просто отображает строку, Auth.net отобразит следующую «ошибку»:

Произошла ошибка при попытке сообщить об этой транзакции торговец. E-mail был отправлен купец, информирующий их о ошибка. Следующее является результатом попытка взимать ваш кредит карта.

Эта сделка была одобрена.

Желательно, чтобы вы связались с продавец, чтобы убедиться, что вы будете получить товар или услугу.

Первоначально я думал, что, возможно, проблема была связана с правилом перезаписи, которое я обошел без необходимости включать фронт-контроллер index.php, поэтому я попытался включить его в URL ответа ретранслятора без изменений. Следует также отметить, что рассматриваемый контроллер реализует метод _remap (), но на метод ответа ретранслятора он не должен влиять, так как он не соответствует его регулярному выражению.

Любое понимание (я) будет с благодарностью.

1 Ответ

3 голосов
/ 13 апреля 2011

Эта ошибка возникает, когда ваш скрипт не отвечает в течение указанного времени. Он также отображается, если возвращается что-либо, кроме сообщения об успехе 200. Так что в основном в вашем ответном URL-адресе есть ошибка.

Сначала вам нужно проверить это, подтянув страницу напрямую, чтобы увидеть, работает ли она и возвращает ли правильный ответ заголовка. Затем вы можете проверить его, отправив имитированный POST-ответ и посмотреть, правильно ли он отвечает. Если они работают, убедитесь, что сценарий не займет слишком много времени, чтобы ответить. Если это так, вероятно, есть способы оптимизировать медленную страницу, чтобы дать ответ в соответствующем количестве.

...