class Killbill::Deposit::DepositClient

Constants

KILLBILL_DEPOSIT_PREFIX

Public Class Methods

deposit_plugin_available?(options = nil) click to toggle source
# 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 = {}) click to toggle source
# File lib/deposit/client.rb, line 9
def record_payments(account_id, 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: account_id,
    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