【问题标题】:Why are some reasons that payments.valid.first.source return nil for Spree::Order?为什么 Payments.valid.first.source 为 Spree::Order 返回 nil 的某些原因?
【发布时间】:2020-02-17 16:34:57
【问题描述】:

大礼包电子商务 3.3.0 导轨 5.1 红宝石 2.5.7

我正在尝试取消为订单所做的 payment_selection。在 Spree::OrdersController 中,我使用的是:

payments.valid.first&.source

需要明确的是,支付是 Spree::Payment::CreditCard 的数组,而不是 Spree::Payment::Check。

【问题讨论】:

    标签: ruby-on-rails-5 spree


    【解决方案1】:

    这完全取决于您使用的支付网关。即使它是基于 CC 的支付网关,也有一些不会将 CC 作为 Spree 中的来源。

    Spree 中的每个 Payment Method 都有一个名为 source_required? 的方法:https://github.com/spree/spree/blob/a01ffd29b73f75cb234fcf5d368fb23553acf4d1/core/app/models/spree/payment_method.rb#L49

    您应该检查您正在使用的是否返回true

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-11
      • 2021-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多