2015-05-14 89 views
0

我工作的一个电子商务应用程序,目前我的网站是只处理一种付款方式或者信用卡/ BML或贝宝, 现在我必须添加其他付款方式,即礼品卡。客户可以通过多种付款方式支付订单总额。例如 5礼品卡, 1信用卡和多种礼品卡等Multipayment订单处理/退款

我现在的分贝结构如下

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


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

这些表具有一对一关系的船,现在我需要分割计费方式多种付款方式。我如何通过对现有体系结构进行最小限度的改变来实现这一点。

其次当订单与多种付款方法,我怎样才能在顺序处理退款(全额退还,部分退款),该如何i确保精确量是退还给支付模式,通过该顺序被最初放置处理。例如,如果客户订购100美元订单并从信用卡支付60美元,并且从一张礼品卡支付30美元,并且从其他礼品卡支付10美元,则当该订单退还时,我如何将确切金额退还给CC和GC(s)。

+0

从您发布的结构中,我看不到接收多个付款的单个订单的任何问题。退款逻辑要求提供更多信息以提供更多帮助。如果这是全额退款,它应该是非常简单的。如果是部分退款,您需要确定要处理的订单。 –

回答

0

一个单独的解决方案可能是看不到的礼品卡作为付款方式,而是作为一个优惠券。这样礼品卡将从总金额中扣除,并且您仍然只需使用一种付款方式付款。

在我用这些被称为服务行项目(如并列产品线项目),其包含的东西像运输成本,折扣,工具...和的一个是礼品卡。

这应该退款容易,因为你只会到底有一个付款。这意味着你将需要创建单独的逻辑来退还优惠券。

+0

感谢您的建议,但我必须使用第三方GC而不是优惠券。 –