Class: FdxV660Api::MoneyMovementController

Inherits:
BaseController show all
Defined in:
lib/fdx_v660_api/controllers/money_movement_controller.rb

Overview

MoneyMovementController

Constant Summary

Constants inherited from BaseController

BaseController::GLOBAL_ERRORS

Instance Attribute Summary

Attributes inherited from BaseController

#config, #http_call_back

Instance Method Summary collapse

Methods inherited from BaseController

#initialize, #new_parameter, #new_request_builder, #new_response_handler, user_agent, user_agent_parameters

Constructor Details

This class inherits a constructor from FdxV660Api::BaseController

Instance Method Details

#get_account_asset_transfer_networks(x_fapi_interaction_id, account_id, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse

... identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made

Parameters:

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • account_id (String)

    Required parameter: Account Identifier

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/fdx_v660_api/controllers/money_movement_controller.rb', line 25

def (x_fapi_interaction_id,
                                        ,
                                        fdx_api_actor_type: nil,
                                        fdx_api_client_public_key: nil,
                                        fdx_api_data_provider_id: nil,
                                        fdx_api_data_recipient_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/accounts/{accountId}/asset-transfer-networks',
                                 Server::DEFAULT)
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .template_param(new_parameter(, key: 'accountId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AssetTransferNetworkList1.method(:from_hash))
                .is_api_response(true))
    .execute
end

#get_account_payment_network(account_id, payment_network_id, x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse

Get the payment network(s) on this account for the bankId and account identifier pair identified by the paymentNetworkId identifier for a bankId and account identifier pair, possibly used across multiple payment network types identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made

Parameters:

  • account_id (String)

    Required parameter: Account Identifier

  • payment_network_id (String)

    Required parameter: Payment network

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
# File 'lib/fdx_v660_api/controllers/money_movement_controller.rb', line 166

def (,
                                payment_network_id,
                                x_fapi_interaction_id,
                                fdx_api_actor_type: nil,
                                fdx_api_client_public_key: nil,
                                fdx_api_data_provider_id: nil,
                                fdx_api_data_recipient_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/accounts/{accountId}/payment-networks/{paymentNetworkId}',
                                 Server::DEFAULT)
               .template_param(new_parameter(, key: 'accountId')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(payment_network_id, key: 'paymentNetworkId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AccountPaymentNetworks1.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'Data not found for request parameters',
                             ErrorException)
                .local_error('500',
                             'Catch-all exception where request was not processed due to an'\
                              ' internal outage/issue. Consider other more specific errors'\
                              ' before using this error',
                             ErrorException)
                .local_error('501',
                             'Error when FdxVersion in Header is not one of those'\
                              ' implemented at backend',
                             ErrorException)
                .local_error('503',
                             'System is down for maintenance',
                             ErrorException))
    .execute
end

#get_account_payment_networks(account_id, x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil, offset: nil, page_key: nil, limit: nil, bank_id_type: nil, payment_network_types: nil, identifier_types: nil) ⇒ ApiResponse

Get payment networks supported by the account identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made provider to send the next set of records. Deprecated in favor of PageKeyQuery, will be removed with a future major release /accounts/{accountId}/payment-network is deprecated in v6.5 /accounts/{accountId}/payment-network is deprecated in v6.5 the Routing Number, if an international Bank Identifier Code (BIC) is needed for international payments. If omitted response should default to the appropriate domestic bank IDs of either US_ABA_NUMBER or CA_ROUTING_NUMBER depending upon institution parameter: Comma separated list of payment network types being requested, if the account supports them, such as US_ACH, US_CHECK, US_RTP, US_RTP_RFP, etc. parameter: Comma separated list of identifier types being requested, such as if a specific type is required for the requested paymentNetworkTypes. One or both of ACCOUNT_NUMBER, TOKENIZED_ACCOUNT_NUMBER

Parameters:

  • account_id (String)

    Required parameter: Account Identifier

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

  • offset (String) (defaults to: nil)

    Optional parameter: Opaque cursor used by the

  • page_key (Integer) (defaults to: nil)

    Optional parameter: Pagination for

  • limit (Integer) (defaults to: nil)

    Optional parameter: Pagination for

  • bank_id_type (BankIdType) (defaults to: nil)

    Optional parameter: Type of Bank ID or

  • payment_network_types (Array[PaymentNetworkType]) (defaults to: nil)

    Optional

  • identifier_types (Array[PaymentNetworkIdentifierType]) (defaults to: nil)

    Optional

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
# File 'lib/fdx_v660_api/controllers/money_movement_controller.rb', line 89

def (,
                                 x_fapi_interaction_id,
                                 fdx_api_actor_type: nil,
                                 fdx_api_client_public_key: nil,
                                 fdx_api_data_provider_id: nil,
                                 fdx_api_data_recipient_id: nil,
                                 offset: nil,
                                 page_key: nil,
                                 limit: nil,
                                 bank_id_type: nil,
                                 payment_network_types: nil,
                                 identifier_types: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/accounts/{accountId}/payment-networks',
                                 Server::DEFAULT)
               .template_param(new_parameter(, key: 'accountId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .query_param(new_parameter(offset, key: 'offset'))
               .query_param(new_parameter(page_key, key: 'pageKey'))
               .query_param(new_parameter(limit, key: 'limit'))
               .query_param(new_parameter(bank_id_type, key: 'bankIdType'))
               .query_param(new_parameter(payment_network_types, key: 'paymentNetworkTypes'))
               .query_param(new_parameter(identifier_types, key: 'identifierTypes'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(AccountPaymentNetworks1.method(:from_hash))
                .is_api_response(true)
                .local_error('404',
                             'Account with id not found',
                             ErrorException)
                .local_error('422',
                             'Unprocessable Entity',
                             ErrorException)
                .local_error('500',
                             'Catch-all exception where request was not processed due to an'\
                              ' internal outage/issue. Consider other more specific errors'\
                              ' before using this error',
                             ErrorException)
                .local_error('501',
                             'Error when FdxVersion in Header is not one of those'\
                              ' implemented at backend',
                             ErrorException)
                .local_error('503',
                             'System is down for maintenance',
                             ErrorException))
    .execute
end

#get_payment_network_lifecycle_events(account_id, payment_network_id, x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse

Retrieve revocation records of a payment network identifier pair of bankId and account identifier, possibly used across multiple payment network types identifier for a bankId and account identifier pair, possibly used across multiple payment network types identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made

Parameters:

  • account_id (String)

    Required parameter: Account Identifier

  • payment_network_id (String)

    Required parameter: Payment network

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
# File 'lib/fdx_v660_api/controllers/money_movement_controller.rb', line 309

def get_payment_network_lifecycle_events(,
                                         payment_network_id,
                                         x_fapi_interaction_id,
                                         fdx_api_actor_type: nil,
                                         fdx_api_client_public_key: nil,
                                         fdx_api_data_provider_id: nil,
                                         fdx_api_data_recipient_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::GET,
                                 '/accounts/{accountId}/payment-networks/{paymentNetworkId}/revocation',
                                 Server::DEFAULT)
               .template_param(new_parameter(, key: 'accountId')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(payment_network_id, key: 'paymentNetworkId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .header_param(new_parameter('application/json', key: 'accept')))
    .response(new_response_handler
                .deserializer(APIHelper.method(:custom_type_deserializer))
                .deserialize_into(PaymentNetworkLifecycleEventsEntity.method(:from_hash))
                .is_api_response(true)
                .local_error('401',
                             'Request lacks valid authentication credentials for the target'\
                              ' resource',
                             ErrorException)
                .local_error('404',
                             'Account with id not found',
                             ErrorException))
    .execute
end

#revoke_payment_network_id(account_id, payment_network_id, x_fapi_interaction_id, body, fdx_api_actor_type: nil, fdx_api_client_public_key: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse

Revoke the payment network pair of bankId and account identifier identified by the paymentNetworkId across all its multiple payment network types. For example, a TOKENIZED_ACCOUNT_NUMBER thought to be compromised will be revoked across both US_ACH and US_RTP (assuming it was issued across both) identifier for a bankId and account identifier pair, possibly used across multiple payment network types identifier for this interaction, as defined by [FAPI 2.0 Implementation Advice, 2.2.1 x-fapi-interaction-id](https://openid.bitbucket.io/fapi/fapi-2_0-implement ation_advice.html#name-x-fapi-interaction-id) initiator of payment network identifier revocation request whether the customer is present (USER) or it is a BATCH operation for data provider to encrypt sensitive response data financial institution responding to the request for the data recipient(s) on whose behalf the request is being made

Parameters:

  • account_id (String)

    Required parameter: Account Identifier

  • payment_network_id (String)

    Required parameter: Payment network

  • x_fapi_interaction_id (UUID | String)

    Required parameter: Unique

  • body (RevocationRequestEntity)

    Required parameter: Reason and

  • fdx_api_actor_type (FdxApiActorType) (defaults to: nil)

    Optional parameter: Identifies

  • fdx_api_client_public_key (String) (defaults to: nil)

    Optional parameter: Public key

  • fdx_api_data_provider_id (String) (defaults to: nil)

    Optional parameter: ID for the

  • fdx_api_data_recipient_id (Array[String]) (defaults to: nil)

    Optional parameter: ID(s)

Returns:

  • (ApiResponse)

    Complete http response with raw body and status code.



237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
# File 'lib/fdx_v660_api/controllers/money_movement_controller.rb', line 237

def revoke_payment_network_id(,
                              payment_network_id,
                              x_fapi_interaction_id,
                              body,
                              fdx_api_actor_type: nil,
                              fdx_api_client_public_key: nil,
                              fdx_api_data_provider_id: nil,
                              fdx_api_data_recipient_id: nil)
  @api_call
    .request(new_request_builder(HttpMethodEnum::PUT,
                                 '/accounts/{accountId}/payment-networks/{paymentNetworkId}/revocation',
                                 Server::DEFAULT)
               .template_param(new_parameter(, key: 'accountId')
                                .is_required(true)
                                .should_encode(true))
               .template_param(new_parameter(payment_network_id, key: 'paymentNetworkId')
                                .is_required(true)
                                .should_encode(true))
               .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id')
                              .is_required(true))
               .header_param(new_parameter('application/json', key: 'Content-Type'))
               .body_param(new_parameter(body)
                            .is_required(true))
               .header_param(new_parameter(fdx_api_actor_type, key: 'FDX-API-Actor-Type'))
               .header_param(new_parameter(fdx_api_client_public_key, key: 'FDX-API-Client-Public-Key'))
               .header_param(new_parameter(fdx_api_data_provider_id, key: 'FDX-API-Data-Provider-Id'))
               .header_param(new_parameter(fdx_api_data_recipient_id, key: 'FDX-API-Data-Recipient-Id'))
               .body_serializer(proc do |param| param.to_json unless param.nil? end))
    .response(new_response_handler
                .is_response_void(true)
                .is_api_response(true)
                .local_error('400',
                             'Input sent by client does not satisfy API specification',
                             ErrorException)
                .local_error('401',
                             'Request lacks valid authentication credentials for the target'\
                              ' resource',
                             ErrorException)
                .local_error('403',
                             'Forbidden, server understands the request but refuses to'\
                              ' authorize it',
                             ErrorException)
                .local_error('404',
                             'Account with id not found',
                             ErrorException)
                .local_error('409',
                             'Conflict with current state of target resource',
                             ErrorException))
    .execute
end