【发布时间】:2015-07-25 23:16:53
【问题描述】:
我正在开发一个电子商务应用程序,目前我的网站只处理一种支付方式,信用卡/BML 或贝宝, 现在我必须添加另一种付款方式,即礼品卡。客户可以通过多种付款方式支付订单总额。例如 5张礼品卡, 1 张信用卡和多张礼品卡等
我目前的db结构如下
OrderTable
--------------------------------------------------
OrderID | OrderNumber | .. and many more columns
OrderPayment Table
-----------------------------------------------------------
ID | OrderID | Payment Mode (CC,Paypal,BML) | Amount |
这些表是一对一的关系,现在我需要将支付方式拆分为多种支付方式。我如何通过对现有架构进行最小的更改来实现这一点。
其次,当使用多种付款方式处理订单时,我如何按顺序处理退款(全额退款,部分退款),我如何确保将确切金额退款到最初下订单的付款方式。例如,如果客户下了 100 美元的订单并从信用卡支付 60 美元,从一张礼品卡支付 30 美元,从另一张礼品卡支付 10 美元,当此订单退款时,我如何将确切金额退还给 CC 和 GC。
【问题讨论】:
-
从您发布的结构来看,我认为单个订单接收多笔付款没有任何问题。退款逻辑需要更多信息才能提供更多帮助。如果是全额退款,应该很简单。如果是部分退款,您需要确定要处理的订单。
标签: asp.net sql-server database e-commerce