Class: MidtransApi::Client

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

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) {|@config| ... } ⇒ Client

Returns a new instance of Client.

Yields:



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/midtrans_api/client.rb', line 24

def initialize(options = {})
  @config = MidtransApi::Configure.new(options)

  yield @config if block_given?

  @connection = Faraday.new(url: "#{@config.api_url}/#{@config.api_version}/") do |connection|
    connection.basic_auth(@config.server_key, '')

    unless @config.notification_url.nil?
      connection.headers['X-Override-Notification'] = @config.notification_url
    end

    connection.request :json
    connection.response :json

    connection.use MidtransApi::Middleware::HandleResponseException
    connection.adapter Faraday.default_adapter
  end
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



22
23
24
# File 'lib/midtrans_api/client.rb', line 22

def config
  @config
end

Instance Method Details

#credit_card_chargeObject



52
53
54
# File 'lib/midtrans_api/client.rb', line 52

def credit_card_charge
  @credit_card_charge ||= MidtransApi::Api::CreditCard::Charge.new(self)
end

#credit_card_tokenObject



48
49
50
# File 'lib/midtrans_api/client.rb', line 48

def credit_card_token
  @credit_card_token ||= MidtransApi::Api::CreditCard::Token.new(self)
end

#get(url, params) ⇒ Object



60
61
62
63
# File 'lib/midtrans_api/client.rb', line 60

def get(url, params)
  response = @connection.get(url, params)
  response.body
end

#gopay_chargeObject



44
45
46
# File 'lib/midtrans_api/client.rb', line 44

def gopay_charge
  @charge ||= MidtransApi::Api::Gopay::Charge.new(self)
end

#post(url, params) ⇒ Object



65
66
67
68
# File 'lib/midtrans_api/client.rb', line 65

def post(url, params)
  response = @connection.post(url, params)
  response.body
end

#statusObject



56
57
58
# File 'lib/midtrans_api/client.rb', line 56

def status
  @status ||= MidtransApi::Api::Check::Status.new(self)
end