多付款订单处理/退款

时间:2015-05-14 10:59:53

标签: asp.net sql-server database e-commerce

我正在开发一个电子商务应用程序,目前我的网站只处理一种付款方式:信用卡/ BML或PayPal, 现在我必须添加另一种付款方式,即礼品卡。客户可以通过多种付款方式支付订单总额。例如  5张礼品卡,  1张信用卡和多张礼品卡等

我目前的数据库结构如下

   OrderTable
   --------------------------------------------------
   OrderID | OrderNumber | .. and many more columns 


   OrderPayment Table 
   -----------------------------------------------------------
    ID | OrderID | Payment Mode (CC,Paypal,BML) | Amount |

这些表格有一对一的关系,现在我需要将付款方式拆分为多种付款方式。我如何通过对现有架构进行最小的更改来实现这一目标。

其次,当使用多种付款方式处理订单时,我如何按顺序处理退款(全额退款,部分退款),以确保如何确保将确切金额退还到最初下订单的付款方式。例如,如果客户下了100美元的订单,并从信用卡支付60美元,从一张礼品卡支付30美元,从其他礼品卡支付10美元,当此订单退款时我如何退还CC和GC的确切金额。

1 个答案:

答案 0 :(得分:0)

单独的解决方案可能是不将礼品卡视为付款方式,而是作为优惠券。这样,礼品卡将从总金额中扣除,您只需支付一种付款方式即可支付。

在我使用的工具中,这些工具称为服务项目(与产品系列产品相对应),其中包含运费,折扣等......以及其中一种礼品卡。

这应该可以让您更容易退款,因为您最终只需支付一笔款项。这意味着您需要创建单独的逻辑来退还优惠券。