现在已经有一周了,我无法弄清楚在 django-oscar实施COD的方法.如果有人至少让我开始完成这项任务,我将非常感激.我尝试使用少量的 Github存储库,但它们已经过时或不够清晰,无法与项目一起使用.一个良好的开端将足以让我从头开始.
谢谢 最佳答案 我还没有为奥斯卡实施COD,但是我已经在奥斯卡源代码中挖了几个星期来进行另一次非标准的支付集成.困难的部分是付款涉及结账,购物篮,合作伙伴,订单和付款应用程序.保持原始checkout views.py文件的源代码关闭,并经常引用它.
那么关键步骤是什么:
>所有付款处理都发生在结帐应用程序的PaymentDetailsView中,因此您需要一个分叉结帐应用程序来开始创建自定义PaymentDetailsView子类.
>您需要覆盖submit()方法,您可以在其中创建订单号,冻结购物篮,将其保存在会话中并发送pre_payment信号(只需复制/粘贴源代码).由于此处不会付款,因此您需要在此时从自定义submit()实施中删除该部分.
>然后你必须像付款一样继续,并调用handle_order_placement(),它将调用handle_successful_order()
>之后,当您的产品到货时付款,您需要为相关的订单号实施handle_payment(),并触发post_payment信号.
简而言之就是这样,但显然还需要一些异常处理.希望这会让你开始!