wire4_auth 0.0.3.pre.SNAPSHOT

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 91be7d2fbaeff4c75e2fca18f881cd3731a8b96f795d70dfffe5efced4f448b1
4
+ data.tar.gz: 5f52234512e058313dbe80fd6b53d4af024ac33c4ae42075277638dd16320e26
5
+ SHA512:
6
+ metadata.gz: c6d0aad8ab23c580f470dc39bac61c8bb940253d7eaa5a0a62a7ae1cc51faf0afecabeb9567f1277df51ae055dbbfe49d6c7c1a929ea21aace8ed5293d6c2a04
7
+ data.tar.gz: fc8e30fba52cbcabdbe2edb24b27c90529d4c289bb972147ef83ccf68d45e4828fca4ea9013d4d30c2c2dae36c398a144fc521bc7d230b7e657267725125831b
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+
5
+ group :development, :test do
6
+ gem 'oauth2', '~> 1.4.2'
7
+ gem 'wire4_client', '~> 0.0.3.pre.SNAPSHOT'
8
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,32 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ wire4_auth (0.0.1.pre.SNAPSHOT)
5
+ oauth2 (~> 1.4, >= 1.4.2)
6
+
7
+ GEM
8
+ remote: https://rubygems.org/
9
+ specs:
10
+ faraday (0.17.1)
11
+ multipart-post (>= 1.2, < 3)
12
+ jwt (2.2.1)
13
+ multi_json (1.14.1)
14
+ multi_xml (0.6.0)
15
+ multipart-post (2.1.1)
16
+ oauth2 (1.4.2)
17
+ faraday (>= 0.8, < 2.0)
18
+ jwt (>= 1.0, < 3.0)
19
+ multi_json (~> 1.3)
20
+ multi_xml (~> 0.5)
21
+ rack (>= 1.2, < 3)
22
+ rack (2.0.7)
23
+
24
+ PLATFORMS
25
+ ruby
26
+
27
+ DEPENDENCIES
28
+ oauth2 (~> 1.4.2)
29
+ wire4_auth!
30
+
31
+ BUNDLED WITH
32
+ 1.17.2
data/lib/wire4_auth.rb ADDED
@@ -0,0 +1,32 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ # COPYRIGHT © 2017. TCPIP.
4
+ # PATENT PENDING. ALL RIGHTS RESERVED.
5
+ # SPEI GATEWAY IS REGISTERED TRADEMARKS OF TCPIP.
6
+ #
7
+ # This software is confidential and proprietary information of TCPIP.
8
+ # You shall not disclose such Confidential Information and shall use it only
9
+ # in accordance with the company policy.
10
+
11
+ =begin
12
+ #Wire4Auth
13
+
14
+ Fecha de creación: 11 de diciembre, 2019
15
+ author: Saintiago García
16
+ version: 1.0
17
+ =end
18
+
19
+ require 'wire4_auth/version'
20
+
21
+ require 'wire4_auth/auth/oauth_wire4'
22
+
23
+ require 'wire4_auth/core/cached_token'
24
+ require 'wire4_auth/core/environment_enum'
25
+
26
+ require 'wire4_auth/webhook_verification_signature/utils_compute'
27
+
28
+ module Wire4Auth
29
+ class << self
30
+ # Nothing more to do now
31
+ end
32
+ end
@@ -0,0 +1,124 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ # COPYRIGHT © 2017. TCPIP.
4
+ # PATENT PENDING. ALL RIGHTS RESERVED.
5
+ # SPEI GATEWAY IS REGISTERED TRADEMARKS OF TCPIP.
6
+ #
7
+ # This software is confidential and proprietary information of TCPIP.
8
+ # You shall not disclose such Confidential Information and shall use it only
9
+ # in accordance with the company policy.
10
+
11
+ =begin
12
+ #Wire4Auth
13
+
14
+ Fecha de creación: 11 de diciembre, 2019
15
+ author: Saintiago García
16
+ version: 1.0
17
+ =end
18
+
19
+ require 'oauth2'
20
+ require 'wire4_client'
21
+ require 'wire4_auth/core/cached_token'
22
+ require 'wire4_auth/core/environment_enum'
23
+
24
+ module Wire4Auth
25
+ class OAuthWire4
26
+
27
+ MAX_APP_USER_SIZE_CACHED = 100
28
+
29
+ # accessor get method
30
+ attr_reader :client_id
31
+
32
+ # accessor get method
33
+ attr_reader :client_secret
34
+
35
+ # accessor get method
36
+ attr_reader :environment
37
+
38
+ def initialize(client_id, client_secret, environment)
39
+
40
+ raise 'Not EnvironmentEnum class instance' unless environment.is_a? Wire4Auth::EnvironmentEnum
41
+
42
+ @client_id = client_id
43
+ @client_secret = client_secret
44
+ @environment = environment
45
+
46
+ @token_cached_app = Wire4Auth::CachedToken.new(nil, nil, nil)
47
+ @tokens_cached_app_user = {}
48
+ end
49
+
50
+ def is_expire(expires_at)
51
+
52
+ time = Time.at(expires_at)
53
+ # Get current time using the time zone
54
+ now = Time.now - 5 * 60 # minus 5 minutes
55
+
56
+ time > now
57
+ end
58
+
59
+ def obtain_access_token_app(scope = "general")
60
+
61
+ if !@token_cached_app.access_token.nil? and !@token_cached_app.access_token.params.nil? and
62
+ !@token_cached_app.access_token.params['scope'].nil? and
63
+ @token_cached_app.access_token.params['scope'].include? scope and
64
+ !@token_cached_app.access_token.expires_at.nil? and @token_cached_app.access_token.expires_at.is_a? Integer and
65
+ is_expire(@token_cached_app.access_token.expires_at) and !@token_cached_app.access_token.token.nil?
66
+
67
+ return @token_cached_app.access_token.token
68
+ end
69
+
70
+ begin
71
+ client = OAuth2::Client.new(@client_id, @client_secret, :token_url => @environment.token_url)
72
+ access_token = client.get_token({:grant_type => "client_credentials", :scope => scope})
73
+ @token_cached_app.access_token = access_token
74
+
75
+ return access_token.token
76
+ rescue OAuth2::Error => e
77
+ raise Wire4Client::ApiError.new(:code => e.code,
78
+ :message => e.description)
79
+ end
80
+ end
81
+
82
+ def obtain_access_token_app_user(user_key, secret_key, scope = "spei_admin")
83
+
84
+ key_search = user_key + scope
85
+ token_cached = @tokens_cached_app_user[key_search]
86
+ if !token_cached.nil? and !token_cached.access_token.nil? and !token_cached.access_token.params.nil? and
87
+ !token_cached.access_token.params['scope'].nil? and token_cached.access_token.params['scope'].include? scope and
88
+ !token_cached.access_token.expires_at.nil? and token_cached.access_token.expires_at.is_a? Integer and
89
+ is_expire(token_cached.access_token.expires_at) and !token_cached.access_token.token.nil?
90
+
91
+ return token_cached.access_token.token
92
+ end
93
+
94
+ begin
95
+ client = OAuth2::Client.new(@client_id, @client_secret, :token_url => @environment.token_url)
96
+ access_token = client.get_token({ :grant_type => "password", :scope => scope,
97
+ :username => user_key, :password => secret_key })
98
+
99
+ if @tokens_cached_app_user.length + 1 > MAX_APP_USER_SIZE_CACHED
100
+ @tokens_cached_app_user.each_key do |key|
101
+ @tokens_cached_app_user.delete(key)
102
+ break
103
+ end
104
+ end
105
+
106
+ @tokens_cached_app_user[key_search] = Wire4Auth::CachedToken.new(user_key, secret_key, access_token)
107
+
108
+ return access_token.token
109
+ rescue OAuth2::Error => e
110
+ raise Wire4Client::ApiError.new(:code => e.code,
111
+ :message => e.description)
112
+ end
113
+ end
114
+
115
+ def config_default_api_client(token)
116
+ # Setup authorization
117
+ Wire4Client.configure do |config|
118
+ # Configure OAuth2 access token for authorization
119
+ config.access_token = token
120
+ config.host = @environment.service_url
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,38 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ # COPYRIGHT © 2017. TCPIP.
4
+ # PATENT PENDING. ALL RIGHTS RESERVED.
5
+ # SPEI GATEWAY IS REGISTERED TRADEMARKS OF TCPIP.
6
+ #
7
+ # This software is confidential and proprietary information of TCPIP.
8
+ # You shall not disclose such Confidential Information and shall use it only
9
+ # in accordance with the company policy.
10
+
11
+ =begin
12
+ #Wire4Auth
13
+
14
+ Fecha de creación: 13 de diciembre, 2019
15
+ author: Saintiago García
16
+ version: 1.0
17
+ =end
18
+
19
+ require 'oauth2'
20
+
21
+ module Wire4Auth
22
+ class CachedToken
23
+ attr_reader :user_key
24
+
25
+ attr_reader :user_secret
26
+
27
+ attr_accessor :access_token
28
+
29
+ def initialize(user_key, user_secret, access_token)
30
+
31
+ raise 'Not OAuth2::AccessToken class instance' unless access_token.nil? or access_token.is_a? OAuth2::AccessToken
32
+
33
+ @user_key = user_key
34
+ @user_secret = user_secret
35
+ @access_token = access_token
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,42 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ # COPYRIGHT © 2017. TCPIP.
4
+ # PATENT PENDING. ALL RIGHTS RESERVED.
5
+ # SPEI GATEWAY IS REGISTERED TRADEMARKS OF TCPIP.
6
+ #
7
+ # This software is confidential and proprietary information of TCPIP.
8
+ # You shall not disclose such Confidential Information and shall use it only
9
+ # in accordance with the company policy.
10
+
11
+ =begin
12
+ #Wire4Auth
13
+
14
+ Fecha de creación: 11 de diciembre, 2019
15
+ author: Saintiago García
16
+ version: 1.0
17
+ =end
18
+
19
+ module Wire4Auth
20
+ class EnvironmentEnum
21
+
22
+ attr_reader :token_url
23
+
24
+ attr_reader :service_url
25
+
26
+ def initialize(token_url, service_url)
27
+ @token_url = token_url
28
+ @service_url = service_url
29
+ end
30
+
31
+ SANDBOX = new("https://sandbox-api.wire4.mx/token", "sandbox-api.wire4.mx")
32
+
33
+ DEVELOPMENT = new('https://development-api.wire4.mx/token', 'development-api.wire4.mx')
34
+
35
+ PRODUCTION = new("https://api.wire4.mx/token", "api.wire4.mx")
36
+
37
+ class << self
38
+ private :new
39
+ end
40
+ end
41
+ end
42
+
@@ -0,0 +1,1036 @@
1
+ #!/usr/bin/env ruby
2
+ # -*- encoding: utf-8 -*-
3
+
4
+ # COPYRIGHT © 2017. TCPIP.
5
+ # PATENT PENDING. ALL RIGHTS RESERVED.
6
+ # SPEI GATEWAY IS REGISTERED TRADEMARKS OF TCPIP.
7
+ #
8
+ # This software is confidential and proprietary information of TCPIP.
9
+ # You shall not disclose such Confidential Information and shall use it only
10
+ # in accordance with the company policy.
11
+
12
+ =begin
13
+ #Wire4Auth
14
+
15
+ Fecha de creación: 11 de diciembre, 2019
16
+ author: Saintiago García
17
+ version: 1.0
18
+ =end
19
+
20
+ require 'test/unit'
21
+ require 'wire4_auth/auth/oauth_wire4'
22
+ require 'wire4_auth/webhook_verification_signature/utils_compute'
23
+ require 'wire4_client'
24
+
25
+ class Wire4ExamplesTest < Test::Unit::TestCase
26
+
27
+ CLIENT_ID = "FxUWmqYGZuv8O1qjxstvIyJothMa"
28
+
29
+ CLIENT_SECRET = "kjwbkrPVgXsnaUGzthj55dsFhx4a"
30
+
31
+ USER_KEY = "071e2b59b354186b3a0158de493536@sandbox.wire4.mx"
32
+
33
+ SECRET_KEY = "0d1e33e94604f01b4e00d2fcb6b48f"
34
+
35
+ SUBSCRIPTION = "f1504fea-3a8f-475a-a50a-90d3c40efc59"
36
+
37
+ def test_send_contact
38
+ omit('Reason')
39
+ # Create the authenticator to obtain access token
40
+ # The token URL and Service URL are defined for this environment enum value.
41
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
42
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
43
+
44
+ begin
45
+ # Obtain an access token use application flow and scope "general" and add to request
46
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
47
+ rescue Wire4Client::ApiError => e
48
+ puts "Exception to obtain access token #{e}"
49
+ # Optional manage exception in access token flow
50
+ return
51
+ end
52
+
53
+ # create an instance of the API class
54
+ api_instance = Wire4Client::ContactoApi.new
55
+
56
+ # build body with info (check references for more info: types, required fields, etc.)
57
+ body = Wire4Client::ContactRequest.new
58
+ body.address = "Calle Falsa 123, Col Fantasía"
59
+ body.company = "Compu Mundo Hiper Mega Red"
60
+ body.contact_person = "Homer J Simpson"
61
+ body.email = "homer.simpson@compumundohipermegared.com"
62
+ body.phone_number = "4422102030"
63
+
64
+ begin
65
+ # Call the API
66
+ response = api_instance.send_contact_using_post_with_http_info(body)
67
+ p response
68
+ rescue Wire4Client::ApiError => e
69
+ puts "Exception to obtain access token #{e}"
70
+ # Optional manage exception in access token flow
71
+ return
72
+ end
73
+ end
74
+
75
+ def test_obtain_cep
76
+ omit('Reason')
77
+ # Create the authenticator to obtain access token
78
+ # The token URL and Service URL are defined for this environment enum value.
79
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
80
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
81
+
82
+ begin
83
+ # Obtain an access token use application flow and scope "general" and add to request
84
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
85
+ rescue Wire4Client::ApiError => e
86
+ puts "Exception to obtain access token #{e}"
87
+ # Optional manage exception in access token flow
88
+ return
89
+ end
90
+
91
+ # create an instance of the API class
92
+ api_instance = Wire4Client::ComprobanteElectrnicoDePagoCEPApi.new
93
+
94
+ # build body with info (check references for more info: types, required fields, etc.)
95
+ cep_data = Wire4Client::CepSearchBanxico.new # CepSearchBanxico | Información para buscar un CEP
96
+ cep_data.amount = 8963.25
97
+ cep_data.beneficiary_account = '072680004657656853'
98
+ cep_data.beneficiary_bank_key = '40072'
99
+ cep_data.clave_rastreo = '58735618'
100
+ cep_data.operation_date = '05-12-2018'
101
+ cep_data.reference = '1122334'
102
+ cep_data.sender_account = '112680000156896531'
103
+ cep_data.sender_bank_key = '40112'
104
+
105
+ begin
106
+ # Call the API
107
+ response = api_instance.obtain_transaction_cep_using_post(cep_data)
108
+ p response
109
+ rescue Wire4Client::ApiError => e
110
+ puts "Exception when calling the API: #{e}"
111
+ # Optional manage exception in call API
112
+ return
113
+ end
114
+ end
115
+
116
+ def test_make_pre_subscription
117
+ omit('Reason')
118
+ # Create the authenticator to obtain access token
119
+ # The token URL and Service URL are defined for this environment enum value.
120
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
121
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
122
+
123
+ begin
124
+ # Obtain an access token use application flow and scope "general" and add to request
125
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
126
+ rescue Wire4Client::ApiError => e
127
+ puts "Exception to obtain access token #{e}"
128
+ # Optional manage exception in access token flow
129
+ return
130
+ end
131
+
132
+ # create an instance of the API class
133
+ api_instance = Wire4Client::SuscripcionesApi.new
134
+
135
+ # build body with info (check references for more info: types, required fields, etc.)
136
+ body = Wire4Client::PreEnrollmentData.new
137
+ body.cancel_return_url = "https://your-app-url.mx/return"
138
+ body.return_url = "https://your-app-url.mx/cancel"
139
+
140
+ begin
141
+ # Call the API
142
+ response = api_instance.pre_enrollment_monex_user_using_post(body)
143
+ p response
144
+ rescue Wire4Client::ApiError => e
145
+ puts "Exception when calling the API: #{e}"
146
+ # Optional manage exception in call API
147
+ return
148
+ end
149
+ end
150
+
151
+ def test_delete_pre_subscription
152
+ omit('Reason')
153
+ # Create the authenticator to obtain access token
154
+ # The token URL and Service URL are defined for this environment enum value.
155
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
156
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
157
+
158
+ begin
159
+ # Obtain an access token use application flow and scope "general" and add to request
160
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
161
+ rescue Wire4Client::ApiError => e
162
+ puts "Exception to obtain access token #{e}"
163
+ # Optional manage exception in access token flow
164
+ return
165
+ end
166
+
167
+ # create an instance of the API class
168
+ api_instance = Wire4Client::SuscripcionesApi.new
169
+
170
+ # build body with info (check references for more info, types, required fields)
171
+ subscription = "55af515a-43ec-4537-96a4-489d1deef127"
172
+
173
+ begin
174
+ # Call the API
175
+ response = api_instance.remove_subscription_pending_status_using_delete_with_http_info(subscription)
176
+ p response
177
+ rescue Wire4Client::ApiError => e
178
+ puts "Exception when calling the API: #{e}"
179
+ # Optional manage exception in call API
180
+ return
181
+ end
182
+ end
183
+
184
+ #noinspection RubyLocalVariableNamingConvention
185
+ def test_delete_subscription
186
+ omit('Reason')
187
+ subscription_to_remove_user_key = "e7446202e95421dbb3c1b914e15c74@sandbox.wire4.mx"
188
+ subscription_to_remove_user_secret = "8617fa525ca4140b545b66c5adcbb1"
189
+
190
+ # Create the authenticator to obtain access token
191
+ # The token URL and Service URL are defined for this environment enum value.
192
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
193
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
194
+
195
+ begin
196
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
197
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(subscription_to_remove_user_key,
198
+ subscription_to_remove_user_secret, 'spei_admin'))
199
+ rescue Wire4Client::ApiError => e
200
+ puts "Exception to obtain access token #{e}"
201
+ # Optional manage exception in access token flow
202
+ return
203
+ end
204
+
205
+ # create an instance of the API class
206
+ api_instance = Wire4Client::SuscripcionesApi.new
207
+
208
+ # build body with info (check references for more info, types, required fields)
209
+ subscription = "5873240b-cf69-456a-ab5a-88f5e79ab4b8"
210
+
211
+ begin
212
+ # Call the API
213
+ response = api_instance.remove_enrollment_user_using_delete_with_http_info(subscription)
214
+ p response
215
+ rescue Wire4Client::ApiError => e
216
+ puts "Exception when calling the API: #{e}"
217
+ # Optional manage exception in call API
218
+ return
219
+ end
220
+ end
221
+
222
+ def test_obtain_relationships
223
+ omit('Reason')
224
+ # Create the authenticator to obtain access token
225
+ # The token URL and Service URL are defined for this environment enum value.
226
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
227
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
228
+
229
+ begin
230
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
231
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
232
+ rescue Wire4Client::ApiError => e
233
+ puts "Exception to obtain access token #{e}"
234
+ # Optional manage exception in access token flow
235
+ return
236
+ end
237
+
238
+ # create an instance of the API class
239
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
240
+
241
+ # build body with info (check references for more info, types, required fields)
242
+ subscription = SUBSCRIPTION
243
+
244
+ begin
245
+ # Call the API
246
+ response = api_instance.get_available_relationships_monex_using_get(subscription)
247
+ p response
248
+ rescue Wire4Client::ApiError => e
249
+ puts "Exception when calling the API: #{e}"
250
+ # Optional manage exception in call API
251
+ return
252
+ end
253
+ end
254
+
255
+ #noinspection RubyInstanceMethodNamingConvention
256
+ def test_pre_register_beneficiaries
257
+ omit('Reason')
258
+ # Create the authenticator to obtain access token
259
+ # The token URL and Service URL are defined for this environment enum value.
260
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
261
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
262
+
263
+ begin
264
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
265
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
266
+ rescue Wire4Client::ApiError => e
267
+ puts "Exception to obtain access token #{e}"
268
+ # Optional manage exception in access token flow
269
+ return
270
+ end
271
+
272
+ # create an instance of the API class
273
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
274
+
275
+ # build body with info (check references for more info: types, required fields, etc.)
276
+ subscription = SUBSCRIPTION
277
+ body = Wire4Client::AccountRequest.new
278
+ body.return_url = "https://your-app-url.mx/return"
279
+ body.cancel_return_url = "https://your-app-url.mx/cancel"
280
+ account = Wire4Client::Account.new
281
+ account.amount_limit = 10000.00
282
+ account.beneficiary_account = "112680000156896531"
283
+ account.email = ["beneficiary@wire4.mx"]
284
+ account.kind_of_relationship = "RECURRENTE"
285
+ account.numeric_reference_spei = "1234567"
286
+ account.payment_concept_spei = "concept spei"
287
+ person = Wire4Client::Person.new
288
+ person.last_name = "Simpson"
289
+ person.middle_name = "Jay"
290
+ person.name = "Bartolomeo"
291
+ account.person = person
292
+ account.relationship = "ACREEDOR"
293
+ account.rfc = "SJBA920125AB1"
294
+ body.accounts = [account]
295
+
296
+ begin
297
+ # Call the API
298
+ response = api_instance.pre_register_accounts_using_post(body, subscription)
299
+ p response
300
+ rescue Wire4Client::ApiError => e
301
+ puts "Exception when calling the API: #{e}"
302
+ # Optional manage exception in call API
303
+ return
304
+ end
305
+ end
306
+
307
+ #noinspection RubyInstanceMethodNamingConvention
308
+ def test_remove_beneficiaries_pending
309
+ omit('Reason')
310
+ # Create the authenticator to obtain access token
311
+ # The token URL and Service URL are defined for this environment enum value.
312
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
313
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
314
+
315
+ begin
316
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
317
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
318
+ rescue Wire4Client::ApiError => e
319
+ puts "Exception to obtain access token #{e}"
320
+ # Optional manage exception in access token flow
321
+ return
322
+ end
323
+
324
+ # create an instance of the API class
325
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
326
+
327
+ # build body with info (check references for more info: types, required fields, etc.)
328
+ subscription = SUBSCRIPTION
329
+ request_id = "b782a20b-d92c-4fd9-a5cc-33a88e9b0a79"
330
+
331
+ begin
332
+ # Call the API
333
+ response = api_instance.remove_beneficiaries_pending_using_delete_with_http_info(request_id, subscription)
334
+ p response
335
+ rescue Wire4Client::ApiError => e
336
+ puts "Exception when calling the API: #{e}"
337
+ # Optional manage exception in call API
338
+ return
339
+ end
340
+ end
341
+
342
+ def test_obtain_beneficiaries
343
+ omit('Reason')
344
+ # Create the authenticator to obtain access token
345
+ # The token URL and Service URL are defined for this environment enum value.
346
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
347
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
348
+
349
+ begin
350
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
351
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
352
+ rescue Wire4Client::ApiError => e
353
+ puts "Exception to obtain access token #{e}"
354
+ # Optional manage exception in access token flow
355
+ return
356
+ end
357
+
358
+ # create an instance of the API class
359
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
360
+
361
+ # build body with info (check references for more info: types, required fields, etc.)
362
+ subscription = SUBSCRIPTION
363
+
364
+ begin
365
+ # Call the API
366
+ # response = api_instance.get_beneficiaries_for_account_using_get(subscription, rfc: "RFCE010980AR3")
367
+ response = api_instance.get_beneficiaries_for_account_using_get(subscription)
368
+ p response
369
+ rescue Wire4Client::ApiError => e
370
+ puts "Exception when calling the API: #{e}"
371
+ # Optional manage exception in call API
372
+ return
373
+ end
374
+ end
375
+
376
+ #noinspection RubyInstanceMethodNamingConvention
377
+ def test_change_amount_limit_beneficiary
378
+ omit('Reason')
379
+ # Create the authenticator to obtain access token
380
+ # The token URL and Service URL are defined for this environment enum value.
381
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
382
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
383
+
384
+ begin
385
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
386
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
387
+ rescue Wire4Client::ApiError => e
388
+ puts "Exception to obtain access token #{e}"
389
+ # Optional manage exception in access token flow
390
+ return
391
+ end
392
+
393
+ # create an instance of the API class
394
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
395
+
396
+ # build body with info (check references for more info: types, required fields, etc.)
397
+ subscription = SUBSCRIPTION
398
+ account = "112680000156896531"
399
+ body = Wire4Client::AmountRequest.new
400
+ body.amount_limit = 20000.00
401
+ body.currency_code = "MXP"
402
+ body.previous_amount_limit = 10000.00
403
+
404
+ begin
405
+ # Call the API
406
+ response = api_instance.update_amount_limit_account_using_put_with_http_info(account, body, subscription)
407
+ p response
408
+ rescue Wire4Client::ApiError => e
409
+ puts "Exception when calling the API: #{e}"
410
+ # Optional manage exception in call API
411
+ return
412
+ end
413
+ end
414
+
415
+ def test_delete_beneficiary
416
+ # Create the authenticator to obtain access token
417
+ # The token URL and Service URL are defined for this environment enum value.
418
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
419
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
420
+
421
+ begin
422
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
423
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
424
+ rescue Wire4Client::ApiError => e
425
+ puts "Exception to obtain access token #{e}"
426
+ # Optional manage exception in access token flow
427
+ return
428
+ end
429
+
430
+ # create an instance of the API class
431
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPEIApi.new
432
+
433
+ # build body with info (check references for more info: types, required fields, etc.)
434
+ subscription = SUBSCRIPTION
435
+ account = "112680000156896531"
436
+
437
+ begin
438
+ # Call the API
439
+ response = api_instance.delete_account_using_delete_with_http_info(account, subscription)
440
+ p response
441
+ rescue Wire4Client::ApiError => e
442
+ puts "Exception when calling the API: #{e}"
443
+ # Optional manage exception in call API
444
+ return
445
+ end
446
+ end
447
+
448
+ def test_obtain_institutions
449
+ #omit('Reason')
450
+ # Create the authenticator to obtain access token
451
+ # The token URL and Service URL are defined for this environment enum value.
452
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
453
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
454
+
455
+ begin
456
+ # Obtain an access token use application flow and scope "general" and add to request
457
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
458
+ rescue Wire4Client::ApiError => e
459
+ puts "Exception to obtain access token #{e}"
460
+ # Optional manage exception in access token flow
461
+ return
462
+ end
463
+
464
+ # create an instance of the API class
465
+ api_instance = Wire4Client::InstitucionesApi.new
466
+
467
+ begin
468
+ # Call the API
469
+ response = api_instance.get_all_institutions_using_get
470
+ p response
471
+ rescue Wire4Client::ApiError => e
472
+ puts "Exception when calling the API: #{e}"
473
+ # Optional manage exception in call API
474
+ return
475
+ end
476
+ end
477
+
478
+ def test_obtain_balance
479
+ omit('Reason')
480
+ # Create the authenticator to obtain access token
481
+ # The token URL and Service URL are defined for this environment enum value.
482
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
483
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
484
+
485
+ begin
486
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
487
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
488
+ rescue Wire4Client::ApiError => e
489
+ puts "Exception to obtain access token #{e}"
490
+ # Optional manage exception in access token flow
491
+ return
492
+ end
493
+
494
+ # create an instance of the API class
495
+ api_instance = Wire4Client::SaldoApi.new
496
+
497
+ # build body with info (check references for more info, types, required fields)
498
+ subscription = SUBSCRIPTION
499
+
500
+ begin
501
+ # Call the API
502
+ response = api_instance.get_balance_using_get(subscription)
503
+ p response
504
+ rescue Wire4Client::ApiError => e
505
+ puts "Exception when calling the API: #{e}"
506
+ # Optional manage exception in call API
507
+ return
508
+ end
509
+ end
510
+
511
+ #noinspection RubyInstanceMethodNamingConvention
512
+ def test_obtain_SPID_classifications
513
+ omit('Reason')
514
+ # Create the authenticator to obtain access token
515
+ # The token URL and Service URL are defined for this environment enum value.
516
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
517
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
518
+
519
+ begin
520
+ # Obtain an access token use application flow and scope "spid_admin" and add to request
521
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spid_admin'))
522
+ rescue Wire4Client::ApiError => e
523
+ puts "Exception to obtain access token #{e}"
524
+ # Optional manage exception in access token flow
525
+ return
526
+ end
527
+
528
+ # create an instance of the API class
529
+ api_instance = Wire4Client::TransferenciasSPIDApi.new
530
+
531
+ # build body with info (check references for more info, types, required fields)
532
+ subscription = SUBSCRIPTION
533
+
534
+ begin
535
+ # Call the API
536
+ response = api_instance.get_spid_classifications_using_get(subscription)
537
+ p response
538
+ rescue Wire4Client::ApiError => e
539
+ puts "Exception when calling the API: #{e}"
540
+ # Optional manage exception in call API
541
+ return
542
+ end
543
+ end
544
+
545
+ #noinspection RubyInstanceMethodNamingConvention
546
+ def test_pre_register_beneficiaries_SPID
547
+ omit('Reason')
548
+ # Create the authenticator to obtain access token
549
+ # The token URL and Service URL are defined for this environment enum value.
550
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
551
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
552
+
553
+ begin
554
+ # Obtain an access token use application flow and scope "spid_admin" and add to request
555
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spid_admin'))
556
+ rescue Wire4Client::ApiError => e
557
+ puts "Exception to obtain access token #{e}"
558
+ # Optional manage exception in access token flow
559
+ return
560
+ end
561
+
562
+ # create an instance of the API class
563
+ api_instance = Wire4Client::CuentasDeBeneficiariosSPIDApi.new
564
+
565
+ # build body with info (check references for more info: types, required fields, etc.)
566
+ subscription = SUBSCRIPTION
567
+ body = Wire4Client::AccountSpid.new
568
+ body.return_url = "https://your-app-url.mx/return"
569
+ body.cancel_return_url = "https://your-app-url.mx/cancel"
570
+ body.amount_limit = 10000.00
571
+ body.beneficiary_account = "112680000156896531"
572
+ body.email = ["beneficiary.spid@wire4.mx"]
573
+ body.institution = Wire4Client::BeneficiaryInstitution.new(name: "BMONEX")
574
+ body.kind_of_relationship = "RECURRENTE"
575
+ body.numeric_reference = "1234567"
576
+ body.payment_concept = "concept spei"
577
+ body.relationship = "ACREEDOR"
578
+ body.rfc = "SJBA920125AB1"
579
+
580
+ begin
581
+ # Call the API
582
+ response = api_instance.pre_register_accounts_using_post1(body, subscription)
583
+ p response
584
+ rescue Wire4Client::ApiError => e
585
+ puts "Exception when calling the API: #{e}"
586
+ # Optional manage exception in call API
587
+ return
588
+ end
589
+ end
590
+
591
+ def test_get_depositants
592
+ omit('Reason')
593
+ # Create the authenticator to obtain access token
594
+ # The token URL and Service URL are defined for this environment enum value.
595
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
596
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
597
+
598
+ begin
599
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
600
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
601
+ rescue Wire4Client::ApiError => e
602
+ puts "Exception to obtain access token #{e}"
603
+ # Optional manage exception in access token flow
604
+ return
605
+ end
606
+
607
+ # create an instance of the API class
608
+ api_instance = Wire4Client::DepositantesApi.new
609
+
610
+ # build body with info (check references for more info: types, required fields, etc.)
611
+ subscription = SUBSCRIPTION
612
+
613
+ begin
614
+ # Call the API
615
+ response = api_instance.get_depositants_using_get(subscription)
616
+ p response
617
+ rescue Wire4Client::ApiError => e
618
+ puts "Exception when calling the API: #{e}"
619
+ # Optional manage exception in call API
620
+ return
621
+ end
622
+ end
623
+
624
+ def test_register_depositants
625
+ omit('Reason')
626
+ # Create the authenticator to obtain access token
627
+ # The token URL and Service URL are defined for this environment enum value.
628
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
629
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
630
+
631
+ begin
632
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
633
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
634
+ rescue Wire4Client::ApiError => e
635
+ puts "Exception to obtain access token #{e}"
636
+ # Optional manage exception in access token flow
637
+ return
638
+ end
639
+
640
+ # create an instance of the API class
641
+ api_instance = Wire4Client::DepositantesApi.new
642
+
643
+ # build body with info (check references for more info: types, required fields, etc.)
644
+ subscription = SUBSCRIPTION
645
+ body = Wire4Client::DepositantsRegister.new
646
+ body._alias = "Depositant 0292921"
647
+ body.currency_code = "MXP"
648
+ body.email = ["depositant@wire4.mx"]
649
+ body.name = "Marge Bouvier"
650
+
651
+ begin
652
+ # Call the API
653
+ response = api_instance.register_depositants_using_post(body, subscription)
654
+ p response
655
+ rescue Wire4Client::ApiError => e
656
+ puts "Exception when calling the API: #{e}"
657
+ # Optional manage exception in call API
658
+ return
659
+ end
660
+ end
661
+
662
+ #noinspection RubyInstanceMethodNamingConvention
663
+ def test_incoming_SPEI_transactions_report
664
+ omit('Reason')
665
+ # Create the authenticator to obtain access token
666
+ # The token URL and Service URL are defined for this environment enum value.
667
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
668
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
669
+
670
+ begin
671
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
672
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
673
+ rescue Wire4Client::ApiError => e
674
+ puts "Exception to obtain access token #{e}"
675
+ # Optional manage exception in access token flow
676
+ return
677
+ end
678
+
679
+ # create an instance of the API class
680
+ api_instance = Wire4Client::TransferenciasSPEIApi.new
681
+
682
+ # build body with info (check references for more info: types, required fields, etc.)
683
+ subscription = SUBSCRIPTION
684
+
685
+ begin
686
+ # Call the API
687
+ response = api_instance.incoming_spei_transactions_report_using_get(subscription)
688
+ p response
689
+ rescue Wire4Client::ApiError => e
690
+ puts "Exception when calling the API: #{e}"
691
+ # Optional manage exception in call API
692
+ return
693
+ end
694
+ end
695
+
696
+ #noinspection RubyInstanceMethodNamingConvention
697
+ def test_outgoing_SPEI_transactions_report
698
+ omit('Reason')
699
+ # Create the authenticator to obtain access token
700
+ # The token URL and Service URL are defined for this environment enum value.
701
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
702
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
703
+
704
+ begin
705
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
706
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
707
+ rescue Wire4Client::ApiError => e
708
+ puts "Exception to obtain access token #{e}"
709
+ # Optional manage exception in access token flow
710
+ return
711
+ end
712
+
713
+ # create an instance of the API class
714
+ api_instance = Wire4Client::TransferenciasSPEIApi.new
715
+
716
+ # build body with info (check references for more info: types, required fields, etc.)
717
+ subscription = SUBSCRIPTION
718
+
719
+ begin
720
+ # Call the API
721
+ response = api_instance.outgoing_spei_transactions_report_using_get(subscription)
722
+ p response
723
+ rescue Wire4Client::ApiError => e
724
+ puts "Exception when calling the API: #{e}"
725
+ # Optional manage exception in call API
726
+ return
727
+ end
728
+ end
729
+
730
+ #noinspection RubyInstanceMethodNamingConvention
731
+ def test_register_outgoing_SPEI_transaction
732
+ omit('Reason')
733
+ # Create the authenticator to obtain access token
734
+ # The token URL and Service URL are defined for this environment enum value.
735
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
736
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
737
+
738
+ begin
739
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
740
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
741
+ rescue Wire4Client::ApiError => e
742
+ puts "Exception to obtain access token #{e}"
743
+ # Optional manage exception in access token flow
744
+ return
745
+ end
746
+
747
+ # create an instance of the API class
748
+ api_instance = Wire4Client::TransferenciasSPEIApi.new
749
+
750
+ # build body with info (check references for more info: types, required fields, etc.)
751
+ subscription = SUBSCRIPTION
752
+ body = Wire4Client::TransactionsOutgoingRegister.new
753
+ body.return_url = "https://your-app-url.mx/return"
754
+ body.cancel_return_url = "https://your-app-url.mx/cancel"
755
+ transaction = Wire4Client::TransactionOutgoing.new
756
+ transaction.order_id = "137f14a4-9e12-4a98-bbd1-ab347753e68a"
757
+ transaction.amount = 1259.69
758
+ transaction.beneficiary_account = "112680000156896531"
759
+ transaction.currency_code = "MXP"
760
+ transaction.email = ["notificar@wire4.mx"]
761
+ transaction.reference = 1234567
762
+ transaction.concept = "Transfer out test 1"
763
+ body.transactions = [transaction]
764
+
765
+ begin
766
+ # Call the API
767
+ response = api_instance.register_outgoing_spei_transaction_using_post(subscription, body)
768
+ p response
769
+ rescue Wire4Client::ApiError => e
770
+ puts "Exception when calling the API: #{e}"
771
+ # Optional manage exception in call API
772
+ return
773
+ end
774
+ end
775
+
776
+ #noinspection RubyInstanceMethodNamingConvention
777
+ def test_delete_outgoing_pending_SPEI_transaction
778
+ #omit('Reason')
779
+ # Create the authenticator to obtain access token
780
+ # The token URL and Service URL are defined for this environment enum value.
781
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
782
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
783
+
784
+ begin
785
+ # Obtain an access token use application flow and scope "spei_admin" and add to request
786
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spei_admin'))
787
+ rescue Wire4Client::ApiError => e
788
+ puts "Exception to obtain access token #{e}"
789
+ # Optional manage exception in access token flow
790
+ return
791
+ end
792
+
793
+ # create an instance of the API class
794
+ api_instance = Wire4Client::TransferenciasSPEIApi.new
795
+
796
+ # build body with info (check references for more info: types, required fields, etc.)
797
+ subscription = SUBSCRIPTION
798
+ request_id = "8abc184f-c3ac-4abd-9045-a9b4a501f007"
799
+
800
+ begin
801
+ # Call the API
802
+ response = api_instance.drop_transactions_pending_using_delete_with_http_info(request_id, subscription)
803
+ p response
804
+ rescue Wire4Client::ApiError => e
805
+ puts "Exception when calling the API: #{e}"
806
+ # Optional manage exception in call API
807
+ return
808
+ end
809
+ end
810
+
811
+ #noinspection RubyInstanceMethodNamingConvention
812
+ def test_register_outgoing_SPID_transaction
813
+ omit('Reason')
814
+ # Create the authenticator to obtain access token
815
+ # The token URL and Service URL are defined for this environment enum value.
816
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
817
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
818
+
819
+ begin
820
+ # Obtain an access token use application flow and scope "spid_admin" and add to request
821
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app_user(USER_KEY, SECRET_KEY, 'spid_admin'))
822
+ rescue Wire4Client::ApiError => e
823
+ puts "Exception to obtain access token #{e}"
824
+ # Optional manage exception in access token flow
825
+ return
826
+ end
827
+
828
+ # create an instance of the API class
829
+ api_instance = Wire4Client::TransferenciasSPIDApi.new
830
+
831
+ # build body with info (check references for more info: types, required fields, etc.)
832
+ subscription = SUBSCRIPTION
833
+ body = Wire4Client::TransactionOutgoingSpid.new
834
+ body.return_url = "https://your-app-url.mx/return"
835
+ body.cancel_return_url = "https://your-app-url.mx/cancel"
836
+ body.amount = 1259.69
837
+ body.beneficiary_account = "112680000156896531"
838
+ body.classification_id = "01"
839
+ body.currency_code = "USD"
840
+ body.email = ["notificar@wire4.mx"]
841
+ body.numeric_reference_spid = 1234567
842
+ body.order_id = "77baa78f-be22-4f6a-b79e-60b20a198324"
843
+ body.payment_concept_spid = "Transfer out test 1"
844
+
845
+ begin
846
+ # Call the API
847
+ response = api_instance.register_outgoing_spid_transaction_using_post(subscription, body)
848
+ p response
849
+ rescue Wire4Client::ApiError => e
850
+ puts "Exception when calling the API: #{e}"
851
+ # Optional manage exception in call API
852
+ return
853
+ end
854
+ end
855
+
856
+ def test_register_web_hook
857
+ #omit('Reason')
858
+ # Create the authenticator to obtain access token
859
+ # The token URL and Service URL are defined for this environment enum value.
860
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
861
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
862
+
863
+ begin
864
+ # Obtain an access token use application flow and scope "general" and add to request
865
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
866
+ rescue Wire4Client::ApiError => e
867
+ puts "Exception to obtain access token #{e}"
868
+ # Optional manage exception in access token flow
869
+ return
870
+ end
871
+
872
+ # create an instance of the API class
873
+ api_instance = Wire4Client::WebhooksApi.new
874
+
875
+ # build body with info (check references for more info: types, required fields, etc.)
876
+ body = Wire4Client::WebhookRequest.new # CepSearchBanxico | Información para buscar un CEP
877
+ body.events = %w(ACCOUNT.CREATED TRANSACTION.OUTGOING.RECEIVED ENROLLMENT.CREATED)
878
+ body.name = "RUBY TEST SDK WEBHOOK-REGISTER"
879
+ body.url = "https://www.webhook.site/39034a03-8faf-424e-bb4a-7c3fee2bbfd3"
880
+
881
+ begin
882
+ # Call the API
883
+ response = api_instance.register_webhook(body)
884
+ p response
885
+ rescue Wire4Client::ApiError => e
886
+ puts "Exception when calling the API: #{e}"
887
+ # Optional manage exception in call API
888
+ return
889
+ end
890
+ end
891
+
892
+ def test_get_web_hooks
893
+ omit('Reason')
894
+ # Create the authenticator to obtain access token
895
+ # The token URL and Service URL are defined for this environment enum value.
896
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
897
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
898
+
899
+ begin
900
+ # Obtain an access token use application flow and scope "general" and add to request
901
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
902
+ rescue Wire4Client::ApiError => e
903
+ puts "Exception to obtain access token #{e}"
904
+ # Optional manage exception in access token flow
905
+ return
906
+ end
907
+
908
+ # create an instance of the API class
909
+ api_instance = Wire4Client::WebhooksApi.new
910
+
911
+ begin
912
+ # Call the API
913
+ response = api_instance.get_webhooks
914
+ p response
915
+ rescue Wire4Client::ApiError => e
916
+ puts "Exception when calling the API: #{e}"
917
+ # Optional manage exception in call API
918
+ return
919
+ end
920
+ end
921
+
922
+ def test_get_web_hook_by_id
923
+ omit('Reason')
924
+ # Create the authenticator to obtain access token
925
+ # The token URL and Service URL are defined for this environment enum value.
926
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
927
+ oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
928
+
929
+ begin
930
+ # Obtain an access token use application flow and scope "general" and add to request
931
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
932
+ rescue Wire4Client::ApiError => e
933
+ puts "Exception to obtain access token #{e}"
934
+ # Optional manage exception in access token flow
935
+ return
936
+ end
937
+
938
+ # create an instance of the API class
939
+ api_instance = Wire4Client::WebhooksApi.new
940
+
941
+ begin
942
+ # Call the API
943
+ response = api_instance.get_webhook("wh_3fe3e5f4849f4cabb147804fd55c86fc")
944
+ p response
945
+ rescue Wire4Client::ApiError => e
946
+ puts "Exception when calling the API: #{e}"
947
+ # Optional manage exception in call API
948
+ return
949
+ end
950
+ end
951
+
952
+ def test_get_facturas
953
+ omit('Reason')
954
+ # Create the authenticator to obtain access token
955
+ # The token URL and Service URL are defined for this environment enum value.
956
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
957
+
958
+ #oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
959
+ oauth_wire4 = Wire4Auth::OAuthWire4.new("kIinyEIYWUIF3pflFxhRdKft2_ga",
960
+ "gca6FwUE_9Dk23UhWoM81pZkNgEa", Wire4Auth::EnvironmentEnum::DEVELOPMENT)
961
+
962
+ begin
963
+ # Obtain an access token use application flow and scope "general" and add to request
964
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
965
+ rescue Wire4Client::ApiError => e
966
+ puts "Exception to obtain access token #{e}"
967
+ # Optional manage exception in access token flow
968
+ return
969
+ end
970
+
971
+ # create an instance of the API class
972
+ api_instance = Wire4Client::FacturasApi.new
973
+
974
+ begin
975
+ # Call the API
976
+ response = api_instance.billings_report_using_get(period: "2019-10")
977
+ p response
978
+ rescue Wire4Client::ApiError => e
979
+ puts "Exception when calling the API: #{e}"
980
+ # Optional manage exception in call API
981
+ return
982
+ end
983
+ end
984
+
985
+ def test_get_facturas_by_id
986
+ omit('Reason')
987
+ # Create the authenticator to obtain access token
988
+ # The token URL and Service URL are defined for this environment enum value.
989
+ # e.g. for Sandbox environment: Wire4Auth::EnvironmentEnum::SANDBOX
990
+
991
+ #oauth_wire4 = Wire4Auth::OAuthWire4.new(CLIENT_ID, CLIENT_SECRET, Wire4Auth::EnvironmentEnum::SANDBOX)
992
+ oauth_wire4 = Wire4Auth::OAuthWire4.new("kIinyEIYWUIF3pflFxhRdKft2_ga",
993
+ "gca6FwUE_9Dk23UhWoM81pZkNgEa", Wire4Auth::EnvironmentEnum::DEVELOPMENT)
994
+
995
+ begin
996
+ # Obtain an access token use application flow and scope "general" and add to request
997
+ oauth_wire4.config_default_api_client(oauth_wire4.obtain_access_token_app('general'))
998
+ rescue Wire4Client::ApiError => e
999
+ puts "Exception to obtain access token #{e}"
1000
+ # Optional manage exception in access token flow
1001
+ return
1002
+ end
1003
+
1004
+ # create an instance of the API class
1005
+ api_instance = Wire4Client::FacturasApi.new
1006
+
1007
+ begin
1008
+ # Call the API
1009
+ response = api_instance.billings_report_by_id_using_get("834BA74A-BBBB-43C4-8400-A4528153C2BD")
1010
+ p response
1011
+ rescue Wire4Client::ApiError => e
1012
+ puts "Exception when calling the API: #{e}"
1013
+ # Optional manage exception in call API
1014
+ return
1015
+ end
1016
+ end
1017
+
1018
+ def test_check_web_hook_sign
1019
+
1020
+ puts `cd .. && cd .. && find *`.split("\n").uniq.sort.select { |f| !f.empty? }
1021
+
1022
+ omit('Reason')
1023
+ payload = "{ \"responseCode\":0, \n" + \
1024
+ " \"message\":\"Ya existe este beneficiario de pago a ctas nacionales en el contrato\",\n" + \
1025
+ " \"statusCode\":\"ERROR\",\n" + \
1026
+ " \"externalReference\":\"8939TR\"\n" + \
1027
+ "}"
1028
+ expected_key = "8e63e88434679473bdb28546d7d91537601f4588e801972376d5c5addcb8fd706e6c92421b73151de3c1945ce000a8a" + \
1029
+ +"5aa1d5cc3cdd73f2769ee9980db420db9"
1030
+
1031
+ result = Wire4Auth::UtilsCompute.compare_webhook_msg_signatures(payload, "9ie93030?=", expected_key)
1032
+ puts "WebHook signature verification, correct: #{result}"
1033
+
1034
+ assert result
1035
+ end
1036
+ end