Module: Spree::Api::V2::Storefront::CheckoutControllerDecorator
- Defined in:
- app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#create_payment_service ⇒ Object
override.
-
#payment_redirect ⇒ Object
This API are deprecated.
- #payment_redirect_serializer ⇒ Object
-
#request_update_payment ⇒ Object
This API are deprecated :order_token, :payment_number.
Class Method Details
.prepended(base) ⇒ Object
6 7 8 |
# File 'app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb', line 6 def self.prepended(base) base.skip_before_action :ensure_order, only: [:request_update_payment] end |
Instance Method Details
#create_payment_service ⇒ Object
override
11 12 13 |
# File 'app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb', line 11 def create_payment_service Vpago::Payments::FindOrCreate end |
#payment_redirect ⇒ Object
This API are deprecated
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb', line 37 def payment_redirect payments = spree_current_order.payments raise ActiveRecord::RecordNotFound if payments.blank? last_payment = payments.last payment_redirect = ::Vpago::PaymentRedirectHandler.new( payment: last_payment, override_return_deeplink_url: params[:override_return_deeplink_url] ).process if payment_redirect..blank? render_serialized_payload do payment_redirect_serializer.new(payment_redirect, params: serializer_params).serializable_hash end else render_error_payload(payment_redirect.) end end |
#payment_redirect_serializer ⇒ Object
56 57 58 |
# File 'app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb', line 56 def payment_redirect_serializer Spree::V2::Storefront::PaymentRedirectSerializer end |
#request_update_payment ⇒ Object
This API are deprecated :order_token, :payment_number
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'app/controllers/spree/api/v2/storefront/checkout_controller_decorator.rb', line 17 def request_update_payment # this action is mostly called after order is completed. # spree_current_order will be nil in this case, so we need to manual find. order = find_order_by_token(params[:order_token]) if order.paid? render_serialized_payload { serialize_resource(order) } else payment = find_payment(order, params[:payment_number]) context = payment.request_update if context.success? && context..blank? render_serialized_payload { serialize_resource(order) } else render_error_payload(context.) end end end |