Class: Paykassa::Paykassa

Inherits:
Object
  • Object
show all
Defined in:
lib/paykassa.rb

Instance Method Summary collapse

Constructor Details

#initialize(domain:, sci_id:, sci_key:, api_id: nil, api_key: nil, test:, logger: nil) ⇒ Paykassa

Returns a new instance of Paykassa.



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/paykassa.rb', line 10

def initialize(domain:, sci_id:, sci_key:, api_id: nil, api_key: nil, test:, logger: nil)
  @logger = Logger.new(logger) unless logger.nil? 
  
  @paykassa_order = PaykassaOrder.new({domain: domain, sci_id: sci_id, sci_key: sci_key}, @logger, test)
  if api_id.nil? 
    @paykassa_pay = nil
  else
    @paykassa_pay = PaykassaPay.new(
        domain: domain, api_id: api_id,
        api_key: api_key, test: test, logger: @logger
    )
  end
end

Instance Method Details

#balance(shop:) ⇒ Object



38
39
40
41
# File 'lib/paykassa.rb', line 38

def balance(shop:)
  raise "api_key not present!" if @paykassa_pay.nil?
  @paykassa_pay.balance(shop: shop)
end

#confirm_order(hash:) ⇒ Object

Raises:

  • (StandardError)


68
69
70
71
72
73
74
# File 'lib/paykassa.rb', line 68

def confirm_order(hash:)
  result = @paykassa_order.confirm_order(hash)
  raise StandardError.new(result[:message]) if result[:error]
  order_id = result[:data][:order_id]
  amount = result[:data][:amount]
  {order_id: order_id, amount: amount}
end

#create_order(amount:, currency:, order_id:, paid_commision:, comment: "from paykassa gem", system:) ⇒ Object

Raises:

  • (StandardError)


56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/paykassa.rb', line 56

def create_order(amount: , currency:, order_id:, paid_commision: , comment: "from paykassa gem", system:)
  order = @paykassa_order.create_order(
    amount: amount,
    currency: currency,
    order_id: order_id,
    paid_commission: paid_commision,
    comment: comment,
    system: system
  )
  raise StandardError.new(order[:message]) if order[:error]
  url = order[:data][:url]
end

#get_order_address(amount:, currency:, order_id:, paid_commission:, comment: "from paykassa gem", system:) ⇒ Object

Raises:

  • (StandardError)


45
46
47
48
49
50
51
52
53
54
55
# File 'lib/paykassa.rb', line 45

def get_order_address(amount: , currency:, order_id:, paid_commission: , comment: "from paykassa gem", system:)
  order =  @paykassa_order.get_data( amount: amount,
    currency: currency,
    order_id: order_id,
    paid_commission: paid_commission,
    comment: comment,
    system: system
  )
  raise StandardError.new(order[:message]) if order[:error]
  order
end

#pay(amount:, shop:, currency:, system_name:, paid_commission: "shop", number:, tag:, priority:) ⇒ Object



24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/paykassa.rb', line 24

def pay(amount: , shop: , currency: , system_name: , paid_commission: "shop", number:, tag:, priority:)
  raise "api_key not present!" if @paykassa_pay.nil?
  @paykassa_pay.pay(
    amount: amount,
    shop: shop,
    currency: currency,
    system_name: system_name,
    paid_commission: paid_commission,
    number: number,
    tag: tag,
    priority: priority
  )
end

#rate(c_in, c_out) ⇒ Object



42
43
44
# File 'lib/paykassa.rb', line 42

def rate(c_in, c_out) 
  @paykassa_pay.currency_rate(c_in, c_out)
end