Sha256: 2e1297a400d8585a24524e56ec3b2f13731dba29865e6ca9d152e38ae64dba47
Contents?: true
Size: 1.15 KB
Versions: 15
Compression:
Stored size: 1.15 KB
Contents
module Spree module Api module Returnly class RefundsController < ApiController include ::Returnly::RefundsConfiguration def estimate authorize! :create, Order render json: refund_calculator_class.process(order, line_items_params) end def create authorize! :create, Order refunds = refunder_class.new order: order, line_items: line_items_params, product_refund_amount: product_refund_amount_param, shipping_refund_amount: shipping_refund_amount_param render json: refunds.proceed! end private def line_items_params return [] if params[:items].blank? params.require(:items) end def product_refund_amount_param params.require(:product_refund_amount) end def shipping_refund_amount_param params.require(:shipping_refund_amount) end def order @order ||= Spree::Order.find_by!(number: params[:order_id]) end end end end end
Version data entries
15 entries across 15 versions & 2 rubygems