Class: AbacatePay::Clients::StoreClient

Inherits:
Client
  • Object
show all
Defined in:
lib/abacate_pay/clients/store_client.rb

Overview

Client for store-level data in the AbacatePay API.

Exposes the account balance and revenue reporting for a date range.

Constant Summary

Constants inherited from Client

Client::RETRIABLE_EXCEPTIONS, Client::RETRIABLE_METHODS, Client::RETRIABLE_STATUSES

Instance Method Summary collapse

Methods inherited from Client

#auto_paging_each, #each_page

Constructor Details

#initialize(client = nil) ⇒ StoreClient

Returns a new instance of StoreClient.



9
10
11
# File 'lib/abacate_pay/clients/store_client.rb', line 9

def initialize(client = nil)
  super("", client)
end

Instance Method Details

#getResources::Store

Returns:



14
15
16
17
18
19
# File 'lib/abacate_pay/clients/store_client.rb', line 14

def get
  # The API serves this as `stores/get`, plural, even though the reference
  # documents `store/get`. The singular path answers HTTP 400.
  response = request("GET", "stores/get")
  Resources::Store.new(response)
end

#merchant_infoHash

Returns Merchant info.

Returns:

  • (Hash)

    Merchant info



22
23
24
# File 'lib/abacate_pay/clients/store_client.rb', line 22

def merchant_info
  request("GET", "public-mrr/merchant-info")
end

#mrrHash

Returns MRR metrics.

Returns:

  • (Hash)

    MRR metrics



27
28
29
# File 'lib/abacate_pay/clients/store_client.rb', line 27

def mrr
  request("GET", "public-mrr/mrr")
end

#revenue(start_date:, end_date:) ⇒ Hash

Returns Revenue data.

Parameters:

  • start_date (String)

    Start date (YYYY-MM-DD)

  • end_date (String)

    End date (YYYY-MM-DD)

Returns:

  • (Hash)

    Revenue data



34
35
36
37
38
39
# File 'lib/abacate_pay/clients/store_client.rb', line 34

def revenue(start_date:, end_date:)
  request("GET", "public-mrr/revenue", params: {
            startDate: start_date,
            endDate: end_date
          })
end