Class: FdxV660Api::RequestForPaymentsController
- Inherits:
-
BaseController
- Object
- BaseController
- FdxV660Api::RequestForPaymentsController
- Defined in:
- lib/fdx_v660_api/controllers/request_for_payments_controller.rb
Overview
RequestForPaymentsController
Constant Summary
Constants inherited from BaseController
Instance Attribute Summary
Attributes inherited from BaseController
Instance Method Summary collapse
-
#get_request_for_payment(x_fapi_interaction_id, rfp_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse
Get the details for a request for payment 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) Uniquely identifies a request for payment whether the customer is present (USER) or it is a BATCH operation financial institution responding to the request for the data recipient(s) on whose behalf the request is being made.
-
#search_for_request_for_payments(x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil, account_id: nil, start_date: nil, end_date: nil, status: nil, updated_since: nil, page_key: nil, limit: nil) ⇒ ApiResponse
Search for request for payments 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 financial institution responding to the request for the data recipient(s) on whose behalf the request is being made in searching or authorization.
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_request_for_payment(x_fapi_interaction_id, rfp_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) ⇒ ApiResponse
Get the details for a request for payment 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) Uniquely identifies a request for payment whether the customer is present (USER) or it is a BATCH operation financial institution responding to the request for the data recipient(s) on whose behalf the request is being made
139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 |
# File 'lib/fdx_v660_api/controllers/request_for_payments_controller.rb', line 139 def get_request_for_payment(x_fapi_interaction_id, rfp_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/request-for-payments/{rfpId}', Server::DEFAULT) .header_param(new_parameter(x_fapi_interaction_id, key: 'x-fapi-interaction-id') .is_required(true)) .template_param(new_parameter(rfp_id, key: 'rfpId') .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_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(RequestForPaymentEntity.method(:from_hash)) .is_api_response(true) .local_error('404', 'Request for payment with provided ID was not found', 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 |
#search_for_request_for_payments(x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil, account_id: nil, start_date: nil, end_date: nil, status: nil, updated_since: nil, page_key: nil, limit: nil) ⇒ ApiResponse
Search for request for payments 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 financial institution responding to the request for the data recipient(s) on whose behalf the request is being made in searching or authorization. Optional retrieval of elements (ISO 8601 format). Provider to define the date ranges and behaviors they will support. Example of defined behavior: - Recipients need to either specify both start date and end date or neither. If both start date and end date are not specified; default provided. Default range: 7 Days of past data. (Today's date - 6 days both dates are inclusive) - Recipient can specify the same start date and end date. The returned data will reflect transactions from that date - If start date and end date both are specified and if start date is later than end date, return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec - If start Date and end date both are specified and if start date is older than what the Data Provider supports, then the Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec. Example: If today is 5/14/2024 and the DP supports 24 months, the start date should be 5/14/2022 and newer; it should not be 5/13/2022 or older - If start date is specified but end date is not specified or vice versa; Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec of elements (ISO 8601 format). Provider to define the date ranges and behaviors they will support. Example of defined behavior: - Recipients need to either specify both start date and end date or neither. If both start date and end date are not specified; default provided. Default range: 7 Days of past data. (Today's date - 6 days both dates are inclusive) - Recipient can specify the same start date and end date. The returned data will reflect transactions from that date - If start date and end date both are specified and if start date is later than end date, return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec
- If start Date and end date both are specified and if start date is older than what the Data Provider supports, then the Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec. Example: If today is 5/14/2024 and the DP supports 24 months, the start date should be 5/14/2022 and newer; it should not be 5/13/2022 or older - If start date is specified but end date is not specified or vice versa; Data Provider should return 'invalid date range' error code: 703, HTTPS 400 per the FDX spec - If end date is today's date, the most recent transactions from the time the request is received will be returned more request for payment status enums to filter the payments being requested. Comma separated been created or updated since the nextUpdateId provider to send the next set of records. Pagination can be implemented per provider's preference consumer wishes to receive. Providers should implement reasonable default/maximum/minimum values based on their internal architecture and update their documentation accordingly
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 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 |
# File 'lib/fdx_v660_api/controllers/request_for_payments_controller.rb', line 74 def search_for_request_for_payments(x_fapi_interaction_id, fdx_api_actor_type: nil, fdx_api_data_provider_id: nil, fdx_api_data_recipient_id: nil, account_id: nil, start_date: nil, end_date: nil, status: nil, updated_since: nil, page_key: nil, limit: nil) @api_call .request(new_request_builder(HttpMethodEnum::GET, '/request-for-payments', Server::DEFAULT) .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_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(account_id, key: 'accountId')) .query_param(new_parameter(start_date, key: 'startDate')) .query_param(new_parameter(end_date, key: 'endDate')) .query_param(new_parameter(status, key: 'status')) .query_param(new_parameter(updated_since, key: 'updatedSince')) .query_param(new_parameter(page_key, key: 'pageKey')) .query_param(new_parameter(limit, key: 'limit')) .header_param(new_parameter('application/json', key: 'accept'))) .response(new_response_handler .deserializer(APIHelper.method(:custom_type_deserializer)) .deserialize_into(RequestForPaymentsEntity.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 |