【问题标题】:Recurring Profile and Bundled Item经常性配置文件和捆绑项目
【发布时间】:2011-03-20 06:01:21
【问题描述】:

我有一项人们按月付费的订阅服务,因此我设置了一个带有重复配置文件的“虚拟产品”。同时,我想拥有它,这样他们就可以添加不同的一次性产品。为此,我尝试使用所有不同的一次性产品创建一个“捆绑产品”,并将“虚拟产品”添加到该“捆绑产品”中。

但是,当我结账时,它显示“标称商品只能单独购买。要继续,请从报价中删除其他项目。”如何让人们同时订阅服务和购买产品?

注意:我使用 Paypal Website Payment Pro 作为我的商家帐户。

【问题讨论】:

  • 评论不会影响您的问题,但编辑会。如果您尚未解决此问题,请添加其他信息,如果您有,请提供答案。谢谢。
  • 您使用的是什么版本的 Magento?
  • 现在,我使用的是最新版本的 Magento,当时我提出问题时……不太确定。

标签: magento paypal paypal-subscriptions


【解决方案1】:

这是 Magento 代码的评论:

/** * 购买过程的临时解决方法:购买多于一件名义物品太危险了 * 或名义和非名义项目的混合,尽管在技术上是可行的。 * * 问题是目前是按顺序提交名义物品和订单,一键提交。 * 使购买过程不安全在逻辑上是不可能的。 * 正确的解决方案是每次都在客户确认的情况下逐一提交项目。 */

其实你可以去掉下面的代码:

if ($item->isNominal() && $this->hasItems() || $this->hasNominalItems()) {
    Mage::throwException(Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.'));
}

Magento 仍然可以处理多个名义产品,但是,您使用它需要您自担风险。

【讨论】:

    【解决方案2】:

    不幸的是,这是 Mage_Paypal 代码中的硬编码限制。

    您可以在Mage_Sales_Model_Service_Quote::submitAll() 中看到它执行submitNominalItems(),其中包含:

        $this->_validate();
        $this->_submitRecurringPaymentProfiles();
        $this->_inactivateQuote();
        $this->_deleteNominalItems(); 
    

    因此,它会在提交名义物品后杀死购物车。我不确定为什么会这样,但我认为这是由于在 Paypal 上创建订阅的方式所致。

    这是防止将物品添加到包含Mage_Sales_Model_Quote::addItem() 中的名词的购物车的代码:

        if ($item->isNominal() && $this->hasItems() || $this->hasNominalItems()) {
            Mage::throwException(Mage::helper('sales')->__('Nominal item can be purchased standalone only. To proceed please remove other items from the quote.'));
        }
    

    我目前正在为其他支付提供商使用 Magento 的定期配置文件(它是一项后台任务:Magento Recurring Profiles with non-Paypal payment method),并且可以同时结帐名义(也称为订阅)和真实产品,但是它确实使它变得更加复杂。

    如果这是一个大问题,应该可以重构 Mage_Paypal 代码来做到这一点,但这是一项复杂的任务,无法在一篇文章中真正回答。

    【讨论】:

    • 是的,看起来没有一个简单的方法可以解决这个问题:(
    • 您好,它解决了问题,但它为同一产品创建了两个订单。我们如何才能克服这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 2023-03-16
    • 2015-07-15
    相关资源
    最近更新 更多