Class: Cayan::Merchantware::Credit::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/cayan/merchantware/credit/client.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(credentials) ⇒ Client

Returns a new instance of Client.



10
11
12
13
14
15
16
# File 'lib/cayan/merchantware/credit/client.rb', line 10

def initialize(credentials)
  @credentials = credentials
  @client = Savon.client(
    wsdl: 'https://ps1.merchantware.net/Merchantware/ws/RetailTransaction/v45/Credit.asmx?WSDL',
    convert_request_keys_to: :camelcase
  )
end

Instance Attribute Details

#credentialsObject

Returns the value of attribute credentials.



8
9
10
# File 'lib/cayan/merchantware/credit/client.rb', line 8

def credentials
  @credentials
end

Instance Method Details

#adjust_tip(tip_request) ⇒ Object



40
41
42
43
44
45
46
# File 'lib/cayan/merchantware/credit/client.rb', line 40

def adjust_tip(tip_request)
  response = @client.call(:adjust_tip, message: with_credentials({
    request: tip_request
  }))
  
  response.body[:adjust_tip_response][:adjust_tip_result]
end

#attach_signature(signature_request) ⇒ Object



48
49
50
51
52
53
54
# File 'lib/cayan/merchantware/credit/client.rb', line 48

def attach_signature(signature_request)
  response = @client.call(:attach_signature, message: with_credentials({
    request: signature_request
  }))
  
  response.body[:attach_signature_response][:attach_signature_result]
end

#authorize(payment_data, authorization_request) ⇒ Object



56
57
58
59
60
61
62
63
# File 'lib/cayan/merchantware/credit/client.rb', line 56

def authorize(payment_data, authorization_request)
  response = @client.call(:authorize, message: with_credentials({
    payment_data: payment_data,
    request: authorization_request
  }))
  
  response.body[:authorize_response][:authorize_result]
end

#board_card(payment_data) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/cayan/merchantware/credit/client.rb', line 24

def board_card(payment_data)
  response = @client.call(:board_card, message: with_credentials({
    payment_data: payment_data
  }))

  response.body[:board_card_response][:board_card_result]
end

#capture(capture_request) ⇒ Object



65
66
67
68
69
70
71
# File 'lib/cayan/merchantware/credit/client.rb', line 65

def capture(capture_request)
  response = @client.call(:capture, message: with_credentials({
    request: capture_request
  }))
  
  response.body[:capture_response][:capture_result]
end

#find_boarded_card(vault_token_request) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/cayan/merchantware/credit/client.rb', line 32

def find_boarded_card(vault_token_request)
  response = @client.call(:find_boarded_card, message: with_credentials({
    request: vault_token_request
  }))
  
  response.body[:find_boarded_card_response][:find_boarded_card_result]
end

#force_capture(payment_data, force_capture_request) ⇒ Object



81
82
83
84
85
86
87
88
# File 'lib/cayan/merchantware/credit/client.rb', line 81

def force_capture(payment_data, force_capture_request)
  response = @client.call(:force_capture, message: with_credentials({
    payment_data: payment_data,
    request: force_capture_request
  }))
  
  response.body[:force_capture_response][:force_capture_result]
end

#refund(payment_data, refund_request) ⇒ Object



90
91
92
93
94
95
96
97
# File 'lib/cayan/merchantware/credit/client.rb', line 90

def refund(payment_data, refund_request)
  response = @client.call(:refund, message: with_credentials({
    payment_data: payment_data,
    request: refund_request
  }))

  response.body[:refund_response][:refund_result]
end

#sale(payment_data, sale_request) ⇒ Object



99
100
101
102
103
104
105
106
# File 'lib/cayan/merchantware/credit/client.rb', line 99

def sale(payment_data, sale_request)
  response = @client.call(:sale, message: with_credentials({
    payment_data: payment_data,
    request: sale_request
  }))

  response.body[:sale_response][:sale_result]
end

#settle_batchObject



108
109
110
111
112
# File 'lib/cayan/merchantware/credit/client.rb', line 108

def settle_batch
  response = @client.call(:settle_batch, message: with_credentials({}))

  response.body[:settle_batch_response][:settle_batch_result]
end

#unboard_card(vault_token_request) ⇒ Object



114
115
116
117
118
119
120
# File 'lib/cayan/merchantware/credit/client.rb', line 114

def unboard_card(vault_token_request)
  response = @client.call(:unboard_card, message: with_credentials({
    request: vault_token_request
  }))

  response.body[:unboard_card_response][:unboard_card_result]
end

#update_boarded_card(update_boarded_card_request) ⇒ Object



73
74
75
76
77
78
79
# File 'lib/cayan/merchantware/credit/client.rb', line 73

def update_boarded_card(update_boarded_card_request)
  response = @client.call(:update_boarded_card, message: with_credentials({
    request: update_boarded_card_request
  }))
  
  response.body[:update_boarded_card_response][:update_boarded_card_result]
end

#void(void_request) ⇒ Object



122
123
124
125
126
127
128
# File 'lib/cayan/merchantware/credit/client.rb', line 122

def void(void_request)
  response = @client.call(:void, message: with_credentials({
    request: void_request
  }))

  response.body[:void_response][:void_result]
end

#with_credentials(hash) ⇒ Object



18
19
20
21
22
# File 'lib/cayan/merchantware/credit/client.rb', line 18

def with_credentials(hash)
  hash.merge({
    credentials: credentials
  })
end