2

我通常不是 Web 开发人员,但我是一个足够体面的编码人员,我很乐意接受朋友的提议来开发他兄弟的小型企业网站。我快完成了,我一直在使用 CodeIgniter,它提供了巨大的帮助,而且很容易上手。

他们有一些他们想通过网站购买的产品,他们的偏好是 Auth.net(我以前没有经验),而且他们的主机不支持 SSL(nearlyfreespeech.net),所以我决定Auth.net 的 SIM 卡是合适的。如果我在 CI 应用程序之外使用中继响应页面测试 SIM,该页面只是吐出可用的交易详细信息,一切都会按预期进行。如果我尝试将中继响应页面设置为仅回显字符串的 CI 控制器/方法,则 Auth.net 将显示以下“错误”:

尝试向商家报告此交易时出错。已向商家发送一封电子邮件,通知他们该错误。以下是尝试从您的信用卡收取费用的结果。

本次交易已获批准。

建议您联系商家以确认您将收到产品或服务。

我最初的想法是,我设置的重写规则可能是为了避免必须包含 index.php 前端控制器,所以我尝试将它包含在中继响应 URL 中而没有更改。我还应该注意,有问题的控制器实现了一个 _remap() 方法,但是中继响应方法不应该受到它的影响,因为它不匹配它的正则表达式。

任何见解将不胜感激。

4

1 回答 1

3

当您的脚本在指定的时间内没有响应时,会发生此错误。如果返回 200 成功消息以外的任何内容,也会显示该消息。所以基本上你的中继响应 URL 有一个错误。

您需要首先通过直接拉起页面来测试它是否有效并返回正确的标题响应。然后你可以通过发送一个模拟的 POST 响应来测试它,看看它是否也能正确响应。如果这些工作确保脚本不会花费太长时间来响应。如果是的话,可能有办法优化慢速页面以提供适当数量的响应。

于 2011-04-13T14:57:23.620 回答