从外部API验证狂欢促销优惠券

时间:2016-12-28 10:43:41

标签: ruby-on-rails spree spree-3.1

我想在我的狂欢申请中使用优惠券,但优惠券应该从外部API验证

我搜索了文档和教程,但我找不到任何可以帮助我的内容

要求是这样的:

  • 我正在销售产品,我想给某个组织的会员折扣10%。

  • 在付款页面上,用户将输入他的电子邮件地址,我想验证来自组织提供的API的电子邮件

我现在正在提及

1。 Promotions

编辑:

我目前正在研究促销规则和促销处理程序

1 个答案:

答案 0 :(得分:2)

您可以创建新的用户规则。 在app/models/spree/promotion/rules/organisational_user.rb

module Spree
  class Promotion
    module Rules
      class OrganisationalUser < PromotionRule
        def applicable?(promotable)
          promotable.is_a?(Spree::Order)
        end

        def eligible?(order, options = {})
          # hit external API to verify user existence
        end
      end
    end
  end
end

注册此规则, 在spree.rb

Rails.application.config.after_initialize do
  Rails.application.config.spree.promotions.rules << Spree::Promotion::Rules::OrganisationalUser
end

然后为此规则添加必需的视图文件和翻译。 这应该是它。现在,您可以将该规则与任何其他规则和操作结合使用。