Class: Killbill::Deposit::DepositClient

Inherits:
KillBillClient::Model::Resource
  • Object
show all
Defined in:
lib/deposit/client.rb

Constant Summary collapse

KILLBILL_DEPOSIT_PREFIX =
'/plugins/killbill-deposit'

Class Method Summary collapse

Class Method Details

.deposit_plugin_available?(options = nil) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
42
43
# File 'lib/deposit/client.rb', line 35

def deposit_plugin_available?(options = nil)
  path = "#{KILLBILL_DEPOSIT_PREFIX}/healthcheck"
  KillBillClient::API.get path, nil, options

  [true, nil]
  # Response error if the deposit plugin is not listening
rescue KillBillClient::API::ResponseError => e
  [false, e.message.to_s]
end

.record_payments(account_id, effective_date, payment_reference_number, deposit_type, invoice_payments, user = nil, reason = nil, comment = nil, options = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/deposit/client.rb', line 9

def record_payments(, effective_date, payment_reference_number, deposit_type, invoice_payments, user = nil, reason = nil, comment = nil, options = {})
  payments = []
  invoice_payments.each do |invoice_number, payment_amount|
    payments << { invoiceNumber: invoice_number, paymentAmount: payment_amount }
  end

  body = {
    accountId: ,
    effectiveDate: effective_date,
    paymentReferenceNumber: payment_reference_number,
    depositType: deposit_type,
    payments: payments
  }.to_json

  path = "#{KILLBILL_DEPOSIT_PREFIX}/record"
  response = KillBillClient::API.post path,
                                      body,
                                      {},
                                      {
                                        user: user,
                                        reason: reason,
                                        comment: comment
                                      }.merge(options)
  response.body
end