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

Dee*_*ale 5 ruby-on-rails spree spree-3.1

我想在我的狂欢应用程序中应用优惠券,但优惠券应该通过外部API进行验证

我搜索了文档和教程,但我没有找到任何可以帮助我的东西

要求是这样的:

  • 我正在销售一种产品,我想给某个组织的成员提供10%的折扣.

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

我现在指的是这个

1. Promotions

编辑:

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

小智 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
Run Code Online (Sandbox Code Playgroud)

注册此规则,在spree.rb,

Rails.application.config.after_initialize do
  Rails.application.config.spree.promotions.rules << Spree::Promotion::Rules::OrganisationalUser
end
Run Code Online (Sandbox Code Playgroud)

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