Class: K2ConnectRuby::K2Entity::PaymentLink

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

Overview

Service class to initiate or cancel a payment link

Instance Attribute Summary collapse

Attributes inherited from K2Entity

#access_token, #k2_response_body, #location_url, #query_hash

Instance Method Summary collapse

Methods inherited from K2Entity

#initialize, #query, #query_resource

Constructor Details

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

Instance Attribute Details

Returns the value of attribute payment_link_location_url.



7
8
9
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_link.rb', line 7

def payment_link_location_url
  @payment_link_location_url
end

Instance Method Details



23
24
25
26
27
28
29
30
31
32
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_link.rb', line 23

def cancel_payment_link(resource_url)
  result = K2ConnectRuby::K2Services::SendK2ConnectPostRequestService.call(
    access_token,
    "#{resource_url}/cancel",
    nil,
  )
  raise(result.errors.first) unless result.success?

  result.data[:response_body][:message]
end

Raises:

  • (ArgumentError)


9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_link.rb', line 9

def create_payment_link(params)
  payment_link_request = build_payment_link_request(params)
  raise(ArgumentError, payment_link_request.errors.full_messages.first) unless payment_link_request.valid?

  result = K2ConnectRuby::K2Services::SendK2ConnectPostRequestService.call(
    access_token,
    payment_link_request.endpoint,
    payment_link_request.request_body,
  )
  raise(result.errors.first) unless result.success?

  @payment_link_location_url = result.data[:response_headers][:location]
end

#query_statusObject



34
35
36
# File 'lib/k2-connect-ruby/k2_entity/k2_financial_entities/payment_link.rb', line 34

def query_status
  super(payment_link_location_url)
end