Module: StripeMock::RequestHandlers::Refunds
- Included in:
- Instance
- Defined in:
- lib/stripe_mock/request_handlers/refunds.rb
Class Method Summary collapse
Instance Method Summary collapse
- #get_refund(route, method_url, params, headers) ⇒ Object
- #get_refunds(route, method_url, params, headers) ⇒ Object
- #new_refund(route, method_url, params, headers) ⇒ Object
- #update_refund(route, method_url, params, headers) ⇒ Object
Class Method Details
.included(klass) ⇒ Object
5 6 7 8 9 10 |
# File 'lib/stripe_mock/request_handlers/refunds.rb', line 5 def Refunds.included(klass) klass.add_handler 'post /v1/refunds', :new_refund klass.add_handler 'get /v1/refunds', :get_refunds klass.add_handler 'get /v1/refunds/(.*)', :get_refund klass.add_handler 'post /v1/refunds/(.*)', :update_refund end |
Instance Method Details
#get_refund(route, method_url, params, headers) ⇒ Object
65 66 67 68 69 |
# File 'lib/stripe_mock/request_handlers/refunds.rb', line 65 def get_refund(route, method_url, params, headers) route =~ method_url refund_id = $1 || params[:refund] assert_existence :refund, refund_id, refunds[refund_id] end |
#get_refunds(route, method_url, params, headers) ⇒ Object
56 57 58 59 60 61 62 63 |
# File 'lib/stripe_mock/request_handlers/refunds.rb', line 56 def get_refunds(route, method_url, params, headers) params[:offset] ||= 0 params[:limit] ||= 10 clone = refunds.clone Data.mock_list_object(clone.values, params) end |
#new_refund(route, method_url, params, headers) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/stripe_mock/request_handlers/refunds.rb', line 12 def new_refund(route, method_url, params, headers) if params[:idempotency_key] && refunds.any? original_refund = refunds.values.find { |c| c[:idempotency_key] == params[:idempotency_key]} return refunds[original_refund[:id]] if original_refund end charge = assert_existence :charge, params[:charge], charges[params[:charge]] params[:amount] ||= charge[:amount] id = new_id('re') bal_trans_params = { amount: params[:amount] * -1, source: id, type: 'refund' } balance_transaction_id = new_balance_transaction('txn', bal_trans_params) refund = Data.mock_refund params.merge( :balance_transaction => balance_transaction_id, :id => id, :charge => charge[:id], ) add_refund_to_charge(refund, charge) refunds[id] = refund if params[:expand] == ['balance_transaction'] refunds[id][:balance_transaction] = balance_transactions[balance_transaction_id] end refund end |
#update_refund(route, method_url, params, headers) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/stripe_mock/request_handlers/refunds.rb', line 42 def update_refund(route, method_url, params, headers) route =~ method_url id = $1 refund = assert_existence :refund, id, refunds[id] allowed = allowed_refund_params(params) disallowed = params.keys - allowed if disallowed.count > 0 raise Stripe::InvalidRequestError.new("Received unknown parameters: #{disallowed.join(', ')}" , '', http_status: 400) end refunds[id] = Util.rmerge(refund, params) end |