28.1.3 实现一个付款系统

在本项目中,我们要合计用户的订单总价,并获取送货详细信息。实际上,我们并不处理任何付款。如今,有许多的付款系统可供使用,但是,对于每一个系统应用,付款系统又各不相同。我们将编写一个dummy函数,该函数可以用所选定系统的界面代替。

尽管有一些不同的付款网关可以使用,但是,对于这些付款网关的接口来说,实时信用卡处理接口的功能都是类似的。你必须在银行开通一个商业账户,确定能够接受的信用卡类型——通常,你的银行会针对你所选择的支付系统给出一个推荐的信用卡提供商列表,你的付款系统提供商会给出该付款系统所需的参数以及如何传递这些参数。大多数付款系统都有PHP版本的示例代码,这样就便于替代本章所创建的示例函数。

当使用付款系统时,系统将你的数据发送给银行并且返回成功代码或任何一个错误代码类型。在数据交换的时候,付款网关将收取设置费用或年费,以及基于交易金额的手续费。某些提供商甚至会收取取消交易的费用。

不过,你的付款系统至少需要来自客户的信息(例如,信用卡),标识你的信息(指定交易款项的商业账户),以及交易的总金额。

我们可以通过一个用户的购物车会话变量计算出订单的总量。将订单的最终信息记录到数据库,并在此时销毁会话变量。