Class: Spree::Api::V2::Storefront::PaymentMethodsController

Inherits:
ResourceController
  • Object
show all
Defined in:
app/controllers/spree/api/v2/storefront/payment_methods_controller.rb

Overview

Order & user independent catalog of the payment methods a vendor accepts. Takes vendor_id as a required query param, and an optional payout param (caller passes Order#required_payway_payout? — see PaymentMethods::Find). See Spree::Api::V2::Tenant::PaymentMethodsController for the caching caveat that comes with vendor_id, and for what else this deliberately leaves out.

Instance Method Summary collapse

Instance Method Details

#collectionObject

override



19
20
21
22
23
24
25
26
# File 'app/controllers/spree/api/v2/storefront/payment_methods_controller.rb', line 19

def collection
  @collection ||= SpreeCmCommissioner::PaymentMethods::Find.new(
    vendor: vendor,
    store: current_store,
    type: params[:type],
    payout: payout?
  ).execute
end

#collection_serializerObject

override



29
30
31
# File 'app/controllers/spree/api/v2/storefront/payment_methods_controller.rb', line 29

def collection_serializer
  ::Spree::V2::Storefront::PaymentMethodSerializer
end

#indexObject

override



12
13
14
15
16
# File 'app/controllers/spree/api/v2/storefront/payment_methods_controller.rb', line 12

def index
  render_serialized_payload do
    collection_serializer.new(collection).serializable_hash
  end
end