class Tikkie::Api::V1::Requests::PaymentRequests

Payment requests operations at Tikkie.

Public Class Methods

new(request) click to toggle source
# File lib/tikkie/api/v1/requests/payment_requests.rb, line 11
def initialize(request)
  @request = request
end

Public Instance Methods

create(platform_token, user_token, bank_account_token, options = {}) click to toggle source
# File lib/tikkie/api/v1/requests/payment_requests.rb, line 35
def create(platform_token, user_token, bank_account_token, options = {})
  params = {
    currency: options.fetch(:currency),
    description: options.fetch(:description)
  }
  params[:amountInCents] = to_cents(options[:amount]) if options.key?(:amount)
  params[:externalId] = options[:external_id] if options.key?(:external_id)

  response = @request.post("/tikkie/platforms/#{platform_token}/users/#{user_token}/bankaccounts/#{bank_account_token}/paymentrequests", params)

  Tikkie::Api::V1::Responses::PaymentRequestCreated.new(response)
end
get(platform_token, user_token, payment_request_token) click to toggle source
# File lib/tikkie/api/v1/requests/payment_requests.rb, line 29
def get(platform_token, user_token, payment_request_token)
  response = @request.get("/tikkie/platforms/#{platform_token}/users/#{user_token}/paymentrequests/#{payment_request_token}")

  Tikkie::Api::V1::Responses::PaymentRequest.new(response)
end
list(platform_token, user_token, options = {}) click to toggle source
# File lib/tikkie/api/v1/requests/payment_requests.rb, line 15
def list(platform_token, user_token, options = {})
  offset = options[:offset] || 0
  limit = options[:limit] || 20
  from_date = options[:from_date]
  to_date = options[:to_date]

  params = { offset: offset, limit: limit }
  params[:fromDate] = from_date.respond_to?(:utc) ? from_date.utc.iso8601 : from_date if from_date
  params[:toDate] = to_date.respond_to?(:utc) ? to_date.utc.iso8601 : to_date if to_date

  response = @request.get("/tikkie/platforms/#{platform_token}/users/#{user_token}/paymentrequests", params)
  Tikkie::Api::V1::Responses::PaymentRequests.new(response, offset: offset, limit: limit)
end

Private Instance Methods

to_cents(amount) click to toggle source
# File lib/tikkie/api/v1/requests/payment_requests.rb, line 50
def to_cents(amount)
  decimal = BigDecimal(amount.to_s)
  decimal *= 100 # to cents
  decimal.to_i
end