0

我正在使用 FirstData Global Gateway API 为客户端编写结帐模块的最后阶段。数据输入的所有表单视图都已创建,控制器正在成功地与 FirstData Web 服务通信测试数据。

我正在寻找有关在单击“流程订单”按钮后如何构建结帐用户体验的最佳实践的想法。

我计划在单击它后使用 javascript 禁用进程按钮,并在此延迟期间将信息传递给 Web 服务。在通知用户正在拨打付款电话时,您过去可能使用过哪些方法来造成这种延迟。您过去可能使用过哪些方法来最好地操作通知交易是否已被批准或拒绝的回调函数?有没有人发现使用 PHP_SELF 在同一个脚本中处理所有这些信息,或者将这个逻辑放在其他地方通常更好?

只是一些一般性的询问,以帮助指导通过一些试验和错误的过程。也许响应将有助于收集一些非常好的想法供大家使用。

4

1 回答 1

1

在通知用户正在拨打付款电话时,您过去可能使用过哪些方法来造成这种延迟?

您不想延迟流程,因为处理付款会产生足够的开销,导致自然延迟自行发生。您此时的目标是防止重复提交并让用户在等待时知道正在发生的事情。禁用提交按钮是个好主意。此外,为也需要与订单一起提交的结帐流程创建唯一密钥是一个好主意。当他们提交付款时,您检查该密钥并确保它在那里(通常它在会话变量中)。如果是删除它然后处理交易,如果他们再次提交表单,它将能够被标记为重复交易。

您过去可能使用过哪些方法来最好地操作通知交易是否已被批准或拒绝的回调函数?

支付网关将返回批准、拒绝或错误值。没有什么花哨的,所以真的不需要花哨的处理。批准的交易应执行所有相关的订单和数据库信息操作,然后应将用户带到感谢/收据页面。错误和拒绝可以以类似的方式处理,再次向用户呈现结帐页面。如果信用卡被拒绝,请礼貌地告知用户他们的银行拒绝了交易,并邀请他们使用另一张信用卡。如果出现处理错误,您可以要求他们重试或指示他们通过电话与您联系下订单。

有没有人发现使用 PHP_SELF 在同一个脚本中处理所有这些信息,或者将这个逻辑放在其他地方通常更好?

番茄,番茄。这完全取决于您的编程风格。将付款流程与表格放在同一页面上很好。我已经做到了。重要的是付款处理得当,用户可以看到他们需要看到的内容。后台发生的事情对他们来说并不重要。

于 2010-01-16T13:31:39.063 回答