class MandarinApi::PaymentManager
Pergorms payouts and payins
Public Instance Methods
perform_charge(params)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 5 def perform_charge(params) perform(params, 'pay', :charge_request_body) end
perform_payment(params)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 13 def perform_payment(params) perform(params, 'pay', :normal_request_body) end
perform_payout(params)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 9 def perform_payout(params) perform(params, 'payout', :normal_request_body) end
perform_rebill(params)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 21 def perform_rebill(params) perform(params, 'pay', :rebill_request_body) end
perform_refund(params)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 17 def perform_refund(params) perform(params, 'reversal', :refund_request_body) end
Private Instance Methods
charge_request_body(params, action)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 44 def charge_request_body(params, action) body = { payment: payment(params, action), customer_info: { email: params[:email], phone: phone(params[:phone]) } } body[:custom_values] = params[:custom_values] if params[:custom_values] body[:urls] = params[:urls] if params[:urls] body end
normal_request_body(params, action)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 35 def normal_request_body(params, action) body = { payment: payment(params, action), target: { card: params[:assigned_card_uuid] } } body[:custom_values] = params[:custom_values] unless params[:custom_values].empty? body end
payment(params, action)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 70 def payment(params, action) { order_id: params[:order_id], action: action, price: params[:amount] } end
perform(params, action, body)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 27 def perform(params, action, body) MandarinApi::Wrapper.new( merchant_id: MandarinApi.config.merchant_id, secret: MandarinApi.config.secret, logger: MandarinApi.config.logger ).request('/api/transactions', send(body, params, action)) end
phone(phone)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 74 def phone(phone) if phone.nil? '+70000000000' else '+' + phone.gsub(/[^\d]+/, '').gsub(/^8/, '7') end end
rebill_request_body(params, action)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 63 def rebill_request_body(params, action) { payment: payment(params, action), target: { rebill: params[:transaction_uuid] } } end
refund_request_body(params, action)
click to toggle source
# File lib/mandarin_api/payment_manager.rb, line 54 def refund_request_body(params, action) body = { payment: { order_id: params[:order_id], action: action }, target: { transaction: params[:transaction_uuid] } } body[:payment][:price] = params[:amount] if params[:amount] body end