Class: PayuPl::Orders::Capture

Inherits:
PayuPl::Operations::Base show all
Defined in:
lib/payu_pl/orders/capture.rb

Instance Method Summary collapse

Instance Method Details

#call(order_id, amount: nil, currency_code: nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/payu_pl/orders/capture.rb', line 6

def call(order_id, amount: nil, currency_code: nil)
  params = {
    order_id: order_id.to_s,
    amount: amount,
    currency_code: currency_code
  }
  validate_contract!(Contracts::CaptureContract, params, input: params)

  path = Endpoints.order_captures(order_id)

  if amount.nil? && currency_code.nil?
    transport.request(:post, path, json: nil)
  else
    payload = {
      amount: amount,
      currencyCode: currency_code
    }.compact
    transport.request(:post, path, json: payload)
  end
end