ach_client 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.codeclimate.yml +18 -0
- data/.gitignore +9 -0
- data/.rubocop.yml +1156 -0
- data/.ruby-version +1 -0
- data/.travis.yml +10 -0
- data/Gemfile +4 -0
- data/README.md +388 -0
- data/Rakefile +10 -0
- data/ach_client.gemspec +58 -0
- data/bin/console +93 -0
- data/bin/setup +8 -0
- data/config/return_codes.yml +761 -0
- data/lib/ach_client/abstract/abstract_method_error.rb +3 -0
- data/lib/ach_client/helpers/dollars_to_cents.rb +15 -0
- data/lib/ach_client/logging/log_provider_job.rb +36 -0
- data/lib/ach_client/logging/log_providers/log_provider.rb +22 -0
- data/lib/ach_client/logging/log_providers/null_log_provider.rb +14 -0
- data/lib/ach_client/logging/log_providers/stdout_log_provider.rb +14 -0
- data/lib/ach_client/logging/logging.rb +76 -0
- data/lib/ach_client/logging/savon_observer.rb +26 -0
- data/lib/ach_client/objects/account_types.rb +32 -0
- data/lib/ach_client/objects/responses/ach_response.rb +15 -0
- data/lib/ach_client/objects/responses/corrected_ach_response.rb +18 -0
- data/lib/ach_client/objects/responses/processing_ach_response.rb +6 -0
- data/lib/ach_client/objects/responses/returned_ach_response.rb +16 -0
- data/lib/ach_client/objects/responses/settled_ach_response.rb +5 -0
- data/lib/ach_client/objects/return_code.rb +20 -0
- data/lib/ach_client/objects/return_codes.rb +33 -0
- data/lib/ach_client/objects/transaction_types.rb +16 -0
- data/lib/ach_client/providers/abstract/ach_batch.rb +23 -0
- data/lib/ach_client/providers/abstract/ach_status_checker.rb +21 -0
- data/lib/ach_client/providers/abstract/ach_transaction.rb +70 -0
- data/lib/ach_client/providers/abstract/company_info.rb +28 -0
- data/lib/ach_client/providers/abstract/response_record_processor.rb +15 -0
- data/lib/ach_client/providers/abstract/transformer.rb +38 -0
- data/lib/ach_client/providers/sftp/account_type_transformer.rb +20 -0
- data/lib/ach_client/providers/sftp/ach_batch.rb +97 -0
- data/lib/ach_client/providers/sftp/ach_status_checker.rb +146 -0
- data/lib/ach_client/providers/sftp/ach_transaction.rb +62 -0
- data/lib/ach_client/providers/sftp/nacha_provider.rb +30 -0
- data/lib/ach_client/providers/sftp/sftp_provider.rb +124 -0
- data/lib/ach_client/providers/sftp/transaction_type_transformer.rb +19 -0
- data/lib/ach_client/providers/soap/ach_works/account_type_transformer.rb +17 -0
- data/lib/ach_client/providers/soap/ach_works/ach_batch.rb +89 -0
- data/lib/ach_client/providers/soap/ach_works/ach_status_checker.rb +86 -0
- data/lib/ach_client/providers/soap/ach_works/ach_transaction.rb +80 -0
- data/lib/ach_client/providers/soap/ach_works/ach_works.rb +57 -0
- data/lib/ach_client/providers/soap/ach_works/company_info.rb +87 -0
- data/lib/ach_client/providers/soap/ach_works/correction_details_processor.rb +92 -0
- data/lib/ach_client/providers/soap/ach_works/date_formatter.rb +33 -0
- data/lib/ach_client/providers/soap/ach_works/response_record_processor.rb +91 -0
- data/lib/ach_client/providers/soap/ach_works/transaction_type_transformer.rb +18 -0
- data/lib/ach_client/providers/soap/i_check_gateway/account_type_transformer.rb +20 -0
- data/lib/ach_client/providers/soap/i_check_gateway/ach_batch.rb +12 -0
- data/lib/ach_client/providers/soap/i_check_gateway/ach_status_checker.rb +35 -0
- data/lib/ach_client/providers/soap/i_check_gateway/ach_transaction.rb +53 -0
- data/lib/ach_client/providers/soap/i_check_gateway/company_info.rb +51 -0
- data/lib/ach_client/providers/soap/i_check_gateway/i_check_gateway.rb +39 -0
- data/lib/ach_client/providers/soap/i_check_gateway/response_record_processor.rb +59 -0
- data/lib/ach_client/providers/soap/i_check_gateway/transaction_type_transformer.rb +8 -0
- data/lib/ach_client/providers/soap/soap_provider.rb +47 -0
- data/lib/ach_client/version.rb +4 -0
- data/lib/ach_client.rb +38 -0
- metadata +346 -0
@@ -0,0 +1,59 @@
|
|
1
|
+
module AchClient
|
2
|
+
class ICheckGateway
|
3
|
+
## Transforms ICheckGateway transaction report response records into
|
4
|
+
# AchClient::Response objects
|
5
|
+
class ResponseRecordProcessor < Abstract::ResponseRecordProcessor
|
6
|
+
|
7
|
+
# The column index with the record status
|
8
|
+
STATUS_COLUMN = 1
|
9
|
+
# The column index with the record amount ($)
|
10
|
+
AMOUNT_COLUMN = 15
|
11
|
+
# The column index with the record submission date
|
12
|
+
DATE_COLUMN = 17
|
13
|
+
# THe string index range within the record status with the return code
|
14
|
+
RETURN_CODE_INDEX = 3..5
|
15
|
+
|
16
|
+
## Transforms ICheckGateway transaction report response records into
|
17
|
+
# AchClient::Response objects
|
18
|
+
# @param record [String] the | separated record string from ICheckGateway
|
19
|
+
# @return [AchClient::AchResponse] our representation of the response
|
20
|
+
def self.process_response_record(record)
|
21
|
+
# The response record is a | separated list
|
22
|
+
record = record.split('|')
|
23
|
+
# The first letter in the second column determines the response type
|
24
|
+
case record[STATUS_COLUMN].first
|
25
|
+
when 'N'
|
26
|
+
# N - no, it hasn't settled yet
|
27
|
+
AchClient::ProcessingAchResponse.new(
|
28
|
+
amount: record[AMOUNT_COLUMN],
|
29
|
+
date: record[DATE_COLUMN]
|
30
|
+
)
|
31
|
+
when 'Y'
|
32
|
+
# Y - yes, it has settled
|
33
|
+
AchClient::SettledAchResponse.new(
|
34
|
+
amount: record[AMOUNT_COLUMN],
|
35
|
+
date: record[DATE_COLUMN]
|
36
|
+
)
|
37
|
+
else
|
38
|
+
# If it starts with R, it is probably a return, in which case the
|
39
|
+
# column looks like: R (R01)
|
40
|
+
# As of now, it looks like there are no corrections from
|
41
|
+
# ICheckGateway
|
42
|
+
if record[1].start_with?('R')
|
43
|
+
AchClient::ReturnedAchResponse.new(
|
44
|
+
amount: record[AMOUNT_COLUMN],
|
45
|
+
date: record[DATE_COLUMN],
|
46
|
+
return_code: AchClient::ReturnCodes.find_by(
|
47
|
+
code: record[STATUS_COLUMN][RETURN_CODE_INDEX]
|
48
|
+
)
|
49
|
+
)
|
50
|
+
else
|
51
|
+
# If it doesn't start with an R, something that is undocumented is
|
52
|
+
# happening, so we raise an error since we need to know about it
|
53
|
+
raise "Couldnt process ICheckGateway Response: #{record.join('|')}"
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
module AchClient
|
2
|
+
## Concern for providers that have SOAP apis, to be included in
|
3
|
+
# provider class
|
4
|
+
module SoapProvider
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
|
7
|
+
included do
|
8
|
+
# @return [String] Url of provider's WSDL doc for the environment you want
|
9
|
+
class_attribute :wsdl
|
10
|
+
|
11
|
+
# @return [Savon::Client] The Savon client object to use for making SOAP
|
12
|
+
# requests to the provider
|
13
|
+
class_attribute :_soap_client
|
14
|
+
|
15
|
+
# Makes a SOAP request to the provider, without any error handling, and
|
16
|
+
# returns the savon response after logging it
|
17
|
+
# @param method [Symbol] SOAP operation to call against the provider
|
18
|
+
# @param message [Hash] The request body
|
19
|
+
# @return [Savon::Response] raw response
|
20
|
+
def self.request(method:, message:)
|
21
|
+
logged_response(method, soap_client.call(method, message: message))
|
22
|
+
end
|
23
|
+
|
24
|
+
private_class_method def self.logged_response(method, response)
|
25
|
+
# Provider name can be the name of the class this is included in
|
26
|
+
provider_name = self.to_s.demodulize
|
27
|
+
AchClient::Logging::LogProviderJob.perform_async(
|
28
|
+
body: response.xml,
|
29
|
+
name: "response-#{provider_name}-#{method}-#{DateTime.now}.xml"
|
30
|
+
)
|
31
|
+
response
|
32
|
+
end
|
33
|
+
|
34
|
+
# @return [Savon::Client] The Savon client object to use for making SOAP
|
35
|
+
# requests to the provider
|
36
|
+
private_class_method def self.soap_client
|
37
|
+
self._soap_client ||= Savon.client(wsdl: self.wsdl) do
|
38
|
+
# Lets us use symbols as keys without Savon changing the case
|
39
|
+
# { 'Key' => 'Value' } == { Key: 'Value' }
|
40
|
+
convert_request_keys_to :none
|
41
|
+
|
42
|
+
pretty_print_xml true
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
data/lib/ach_client.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'ach'
|
2
|
+
require 'active_support/all'
|
3
|
+
require 'savon'
|
4
|
+
require 'sucker_punch'
|
5
|
+
|
6
|
+
# Require all of the files in lib
|
7
|
+
Dir[Gem::Specification.find_by_name("ach_client").gem_dir + '/lib/**/*.rb'].sort.each do |f|
|
8
|
+
require(f.split('/lib/').last.split('.rb').first)
|
9
|
+
end
|
10
|
+
|
11
|
+
# Adapter for interacting with various Ach service providers
|
12
|
+
module AchClient
|
13
|
+
|
14
|
+
# Enables consumer to interact with new Sftp/NACHA providers without adding
|
15
|
+
# them to the codebase!!
|
16
|
+
# Lets say the consumer wants to integrate with Citibank.
|
17
|
+
# They would invoke AchClient::Citibank, which would be undefined.
|
18
|
+
# This const_missing would be called, and the Citibank module would be
|
19
|
+
# dynamically defined, with all the necessary Sftp/NACHA concerns included and
|
20
|
+
# ready for use.
|
21
|
+
# This is only helpful because many financial institutions use the same setup
|
22
|
+
# with NACHA and an SFTP server.
|
23
|
+
def self.const_missing(name)
|
24
|
+
const_set(
|
25
|
+
name,
|
26
|
+
Class.new do
|
27
|
+
include AchClient::SftpProvider
|
28
|
+
include AchClient::NachaProvider
|
29
|
+
|
30
|
+
# Defines the classes within the provider namespace to use for
|
31
|
+
# sending transactions
|
32
|
+
const_set(:AchTransaction, Class.new(Sftp::AchTransaction))
|
33
|
+
const_set(:AchBatch, Class.new(Sftp::AchBatch))
|
34
|
+
const_set(:AchStatusChecker, Class.new(Sftp::AchStatusChecker))
|
35
|
+
end
|
36
|
+
)
|
37
|
+
end
|
38
|
+
end
|
metadata
ADDED
@@ -0,0 +1,346 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ach_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Zach Cotter
|
8
|
+
autorequire:
|
9
|
+
bindir: exe
|
10
|
+
cert_chain: []
|
11
|
+
date: 2017-01-24 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ach
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: net-sftp
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: savon
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: sucker_punch
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - "~>"
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '2'
|
76
|
+
type: :runtime
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - "~>"
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '2'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: bundler
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.12'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.12'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: codeclimate-test-reporter
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: minitest-reporters
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: minitest
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '5'
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - "~>"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '5'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: mocha
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '0'
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '0'
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: pry
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: rake
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - "~>"
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '10'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - "~>"
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '10'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: simplecov
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: timecop
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :development
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
209
|
+
- !ruby/object:Gem::Dependency
|
210
|
+
name: vcr
|
211
|
+
requirement: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - ">="
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '0'
|
216
|
+
type: :development
|
217
|
+
prerelease: false
|
218
|
+
version_requirements: !ruby/object:Gem::Requirement
|
219
|
+
requirements:
|
220
|
+
- - ">="
|
221
|
+
- !ruby/object:Gem::Version
|
222
|
+
version: '0'
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: webmock
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: '0'
|
230
|
+
type: :development
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: '0'
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: yard
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: '0'
|
244
|
+
type: :development
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
description:
|
252
|
+
email:
|
253
|
+
- zach@zachcotter.com
|
254
|
+
executables: []
|
255
|
+
extensions: []
|
256
|
+
extra_rdoc_files: []
|
257
|
+
files:
|
258
|
+
- ".codeclimate.yml"
|
259
|
+
- ".gitignore"
|
260
|
+
- ".rubocop.yml"
|
261
|
+
- ".ruby-version"
|
262
|
+
- ".travis.yml"
|
263
|
+
- Gemfile
|
264
|
+
- README.md
|
265
|
+
- Rakefile
|
266
|
+
- ach_client.gemspec
|
267
|
+
- bin/console
|
268
|
+
- bin/setup
|
269
|
+
- config/return_codes.yml
|
270
|
+
- lib/ach_client.rb
|
271
|
+
- lib/ach_client/abstract/abstract_method_error.rb
|
272
|
+
- lib/ach_client/helpers/dollars_to_cents.rb
|
273
|
+
- lib/ach_client/logging/log_provider_job.rb
|
274
|
+
- lib/ach_client/logging/log_providers/log_provider.rb
|
275
|
+
- lib/ach_client/logging/log_providers/null_log_provider.rb
|
276
|
+
- lib/ach_client/logging/log_providers/stdout_log_provider.rb
|
277
|
+
- lib/ach_client/logging/logging.rb
|
278
|
+
- lib/ach_client/logging/savon_observer.rb
|
279
|
+
- lib/ach_client/objects/account_types.rb
|
280
|
+
- lib/ach_client/objects/responses/ach_response.rb
|
281
|
+
- lib/ach_client/objects/responses/corrected_ach_response.rb
|
282
|
+
- lib/ach_client/objects/responses/processing_ach_response.rb
|
283
|
+
- lib/ach_client/objects/responses/returned_ach_response.rb
|
284
|
+
- lib/ach_client/objects/responses/settled_ach_response.rb
|
285
|
+
- lib/ach_client/objects/return_code.rb
|
286
|
+
- lib/ach_client/objects/return_codes.rb
|
287
|
+
- lib/ach_client/objects/transaction_types.rb
|
288
|
+
- lib/ach_client/providers/abstract/ach_batch.rb
|
289
|
+
- lib/ach_client/providers/abstract/ach_status_checker.rb
|
290
|
+
- lib/ach_client/providers/abstract/ach_transaction.rb
|
291
|
+
- lib/ach_client/providers/abstract/company_info.rb
|
292
|
+
- lib/ach_client/providers/abstract/response_record_processor.rb
|
293
|
+
- lib/ach_client/providers/abstract/transformer.rb
|
294
|
+
- lib/ach_client/providers/sftp/account_type_transformer.rb
|
295
|
+
- lib/ach_client/providers/sftp/ach_batch.rb
|
296
|
+
- lib/ach_client/providers/sftp/ach_status_checker.rb
|
297
|
+
- lib/ach_client/providers/sftp/ach_transaction.rb
|
298
|
+
- lib/ach_client/providers/sftp/nacha_provider.rb
|
299
|
+
- lib/ach_client/providers/sftp/sftp_provider.rb
|
300
|
+
- lib/ach_client/providers/sftp/transaction_type_transformer.rb
|
301
|
+
- lib/ach_client/providers/soap/ach_works/account_type_transformer.rb
|
302
|
+
- lib/ach_client/providers/soap/ach_works/ach_batch.rb
|
303
|
+
- lib/ach_client/providers/soap/ach_works/ach_status_checker.rb
|
304
|
+
- lib/ach_client/providers/soap/ach_works/ach_transaction.rb
|
305
|
+
- lib/ach_client/providers/soap/ach_works/ach_works.rb
|
306
|
+
- lib/ach_client/providers/soap/ach_works/company_info.rb
|
307
|
+
- lib/ach_client/providers/soap/ach_works/correction_details_processor.rb
|
308
|
+
- lib/ach_client/providers/soap/ach_works/date_formatter.rb
|
309
|
+
- lib/ach_client/providers/soap/ach_works/response_record_processor.rb
|
310
|
+
- lib/ach_client/providers/soap/ach_works/transaction_type_transformer.rb
|
311
|
+
- lib/ach_client/providers/soap/i_check_gateway/account_type_transformer.rb
|
312
|
+
- lib/ach_client/providers/soap/i_check_gateway/ach_batch.rb
|
313
|
+
- lib/ach_client/providers/soap/i_check_gateway/ach_status_checker.rb
|
314
|
+
- lib/ach_client/providers/soap/i_check_gateway/ach_transaction.rb
|
315
|
+
- lib/ach_client/providers/soap/i_check_gateway/company_info.rb
|
316
|
+
- lib/ach_client/providers/soap/i_check_gateway/i_check_gateway.rb
|
317
|
+
- lib/ach_client/providers/soap/i_check_gateway/response_record_processor.rb
|
318
|
+
- lib/ach_client/providers/soap/i_check_gateway/transaction_type_transformer.rb
|
319
|
+
- lib/ach_client/providers/soap/soap_provider.rb
|
320
|
+
- lib/ach_client/version.rb
|
321
|
+
homepage: https://github.com/ForwardFinancing/ach_client
|
322
|
+
licenses:
|
323
|
+
- MIT
|
324
|
+
metadata: {}
|
325
|
+
post_install_message:
|
326
|
+
rdoc_options: []
|
327
|
+
require_paths:
|
328
|
+
- lib
|
329
|
+
- config
|
330
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
331
|
+
requirements:
|
332
|
+
- - ">="
|
333
|
+
- !ruby/object:Gem::Version
|
334
|
+
version: '0'
|
335
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
336
|
+
requirements:
|
337
|
+
- - ">="
|
338
|
+
- !ruby/object:Gem::Version
|
339
|
+
version: '0'
|
340
|
+
requirements: []
|
341
|
+
rubyforge_project:
|
342
|
+
rubygems_version: 2.5.1
|
343
|
+
signing_key:
|
344
|
+
specification_version: 4
|
345
|
+
summary: Adapter to interact with various ACH service providers
|
346
|
+
test_files: []
|