Class: Spree::Api::V2::Storefront::Adyen::PaymentSessionsController
- Inherits:
-
BaseController
- Object
- BaseController
- BaseController
- Spree::Api::V2::Storefront::Adyen::PaymentSessionsController
- Includes:
- OrderConcern
- Defined in:
- lib/spree_api_v2/spree/api/v2/storefront/adyen/payment_sessions_controller.rb
Instance Method Summary collapse
-
#complete ⇒ Object
POST /api/v2/storefront/adyen/payment_sessions/:id/complete.
-
#create ⇒ Object
POST /api/v2/storefront/adyen/payment_sessions.
-
#show ⇒ Object
GET /api/v2/storefront/adyen/payment_sessions/:id.
Methods inherited from BaseController
#adyen_gateway, #require_adyen_gateway
Instance Method Details
#complete ⇒ Object
POST /api/v2/storefront/adyen/payment_sessions/:id/complete
33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/spree_api_v2/spree/api/v2/storefront/adyen/payment_sessions_controller.rb', line 33 def complete :update, spree_current_order, order_token SpreeAdyen::PaymentSessions::ProcessWithResult.new(payment_session: @payment_session, session_result: params[:session_result]).call if @payment_session.completed? render_serialized_payload { serialize_resource(@payment_session) } else render_error_payload("Can't complete the order for the payment session in the #{@payment_session.status} state") end rescue Spree::Core::GatewayError => e render_error_payload(e., :unprocessable_entity) end |
#create ⇒ Object
POST /api/v2/storefront/adyen/payment_sessions
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/spree_api_v2/spree/api/v2/storefront/adyen/payment_sessions_controller.rb', line 12 def create :update, spree_current_order, order_token payment_session_result = SpreeAdyen::PaymentSessions::FindOrCreate.new( order: spree_current_order, amount: permitted_attributes[:amount], user: spree_current_user, payment_method: adyen_gateway, channel: permitted_attributes[:channel], return_url: permitted_attributes[:return_url] ).call if payment_session_result.success? render_serialized_payload { serialize_resource(payment_session_result.value) } else error = payment_session_result.value&.errors || payment_session_result.error.value render_error_payload(error) end end |
#show ⇒ Object
GET /api/v2/storefront/adyen/payment_sessions/:id
48 49 50 51 52 |
# File 'lib/spree_api_v2/spree/api/v2/storefront/adyen/payment_sessions_controller.rb', line 48 def show :show, spree_current_order, order_token render_serialized_payload { serialize_resource(@payment_session) } end |