Class: K2ConnectRuby::K2Entity::K2Stk

Inherits:
K2Entity
  • Object
show all
Defined in:
lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_stk.rb

Instance Attribute Summary

Attributes inherited from K2Entity

#access_token, #k2_response_body, #location_url, #query_hash

Instance Method Summary collapse

Methods inherited from K2Entity

#initialize, #query

Constructor Details

This class inherits a constructor from K2ConnectRuby::K2Entity::K2Entity

Instance Method Details

#query_resource(url) ⇒ Object

Query Location URL



25
26
27
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_stk.rb', line 25

def query_resource(url)
  super(url)
end

#query_statusObject

Query/Check STK Payment Request Status



20
21
22
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_stk.rb', line 20

def query_status
  super(location_url)
end

#send_stk_request(params) ⇒ Object

Receive payments from M-PESA users.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/k2_stk.rb', line 7

def send_stk_request(params)
  stk_push_request = K2ConnectRuby::K2Entity::K2FinancialEntities::StkPush::StkPushRequest.new(params)
  raise(ArgumentError, stk_push_request.errors.full_messages.first) unless stk_push_request.valid?

  result = K2ConnectRuby::K2Services::SendK2ConnectPostRequestService.call(
    access_token,
    stk_push_request.endpoint,
    stk_push_request.request_body,
  )
  @location_url = result.data[:response_headers][:location]
end