io.swagger.annotations.Authorization Java Examples
The following examples show how to use
io.swagger.annotations.Authorization.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AccountApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read Balance", nickname = "getBalances", notes = "Reads account data from a given account addressed by \"account-id\". **Remark:** This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the \"GET Account List\" call. The account-id is constant at least throughout the lifecycle of a given consent. ", response = ReadAccountBalanceResponse200.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ReadAccountBalanceResponse200.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/accounts/{account-id}/balances", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ReadAccountBalanceResponse200> _getBalances(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #2
Source File: ConsentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Delete Consent", nickname = "deleteConsent", notes = "The TPP can delete an account information consent object if needed.", authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 204, message = "No Content"), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/consents/{consentId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.DELETE) ResponseEntity<Void> _deleteConsent(@ApiParam(value = "ID of the corresponding consent object as returned by an Account Information Consent Request. ", required = true) @PathVariable("consentId") String consentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #3
Source File: ConsentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Get Consent Authorisation Sub-Resources Request", nickname = "getConsentAuthorisation", notes = "Return a list of all authorisation subresources IDs which have been created. This function returns an array of hyperlinks to all generated authorisation sub-resources. ", response = Authorisations.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = Authorisations.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/consents/{consentId}/authorisations", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<Authorisations> _getConsentAuthorisation(@ApiParam(value = "ID of the corresponding consent object as returned by an Account Information Consent Request. ", required = true) @PathVariable("consentId") String consentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #4
Source File: DeviceLogPluginSettingsResource.java From hmdm-server with Apache License 2.0 | 6 votes |
@ApiOperation( value = "Create or update plugin settings", notes = "Creates a new plugin settings record (if id is not provided) or updates existing one otherwise", authorizations = {@Authorization("Bearer Token")} ) @PUT @Path("/private") @Consumes(MediaType.APPLICATION_JSON) @Produces(MediaType.APPLICATION_JSON) public Response saveMainSettings(String settingsJSON) { try { ObjectMapper mapper = new ObjectMapper(); DeviceLogPluginSettings settings = mapper.readValue(settingsJSON, this.settingsDAO.getSettingsClass()); if (settings.getIdentifier() == null) { this.settingsDAO.insertPluginSettings(settings); } else { this.settingsDAO.updatePluginSettings(settings); } return Response.OK(); } catch (Exception e) { log.error("Failed to create or update device log plugin settings", e); return Response.INTERNAL_ERROR(); } }
Example #5
Source File: ConsentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Get Consent Request", nickname = "getConsentInformation", notes = "Returns the content of an account information consent object. This is returning the data for the TPP especially in cases, where the consent was directly managed between ASPSP and PSU e.g. in a re-direct SCA Approach. ", response = ConsentInformationResponse200Json.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ConsentInformationResponse200Json.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/consents/{consentId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ConsentInformationResponse200Json> _getConsentInformation(@ApiParam(value = "ID of the corresponding consent object as returned by an Account Information Consent Request. ", required = true) @PathVariable("consentId") String consentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #6
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Start the authorisation process for the cancellation of the addressed payment", nickname = "startPaymentInitiationCancellationAuthorisation", notes = "Creates an authorisation sub-resource and start the authorisation process of the cancellation of the addressed payment. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the cancellation-authorisation. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. ", response = StartScaprocessResponse.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 201, message = "Created", response = StartScaprocessResponse.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations", produces = {"application/json", "application/problem+json"}, method = RequestMethod.POST) ResponseEntity<StartScaprocessResponse> _startPaymentInitiationCancellationAuthorisation(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #7
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Payment initiation request", nickname = "initiatePayment", notes = "This method is used to initiate a payment at the ASPSP. ## Variants of Payment Initiation Requests This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path. There are the following **payment products**: - Payment products with payment information in *JSON* format: - ***sepa-credit-transfers*** - ***instant-sepa-credit-transfers*** - ***target-2-payments*** - ***cross-border-credit-transfers*** - Payment products with payment information in *pain.001* XML format: - ***pain.001-sepa-credit-transfers*** - ***pain.001-instant-sepa-credit-transfers*** - ***pain.001-target-2-payments*** - ***pain.001-cross-border-credit-transfers*** Furthermore the request body depends on the **payment-service** * ***payments***: A single payment initiation request. * ***bulk-payments***: A collection of several payment iniatiation requests. In case of a *pain.001* message there are more than one payments contained in the *pain.001 message. In case of a *JSON* there are several JSON payment blocks contained in a joining list. * ***periodic-payments***: Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. This is the first step in the API to initiate the related recurring/periodic payment. ## Single and mulitilevel SCA Processes The Payment Initiation Requests are independent from the need of one ore multilevel SCA processing, i.e. independent from the number of authorisations needed for the execution of payments. But the response messages are specific to either one SCA processing or multilevel SCA processing. For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the response message of a Payment Initation Request for a payment, where multiple authorisations are needed. Also if any data is needed for the next action, like selecting an SCA method is not supported in the response, since all starts of the multiple authorisations are fully equal. In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link. ", response = Object.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 201, message = "CREATED", response = Object.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}", produces = {"application/json", "application/problem+json"}, consumes = {"application/xml", "multipart/form-data"}, method = RequestMethod.POST) ResponseEntity<Object> _initiatePayment(@ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ", required = true) @RequestHeader(value = "PSU-IP-Address", required = true) String psUIPAddress, @ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "") @RequestParam(value = "xml_sct", required = false) String xmlSct, @ApiParam(value = "") @RequestParam(value = "json_standingorderType", required = false) String jsonStandingorderType, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ") @RequestHeader(value = "Consent-ID", required = false) String consentID, @ApiParam(value = "If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach. If it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Redirect-Preferred", required = false) String tpPRedirectPreferred, @ApiParam(value = "URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach (including OAuth2 SCA approach), specifically when TPP-Redirect-Preferred equals \"true\". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. ") @RequestHeader(value = "TPP-Redirect-URI", required = false) String tpPRedirectURI, @ApiParam(value = "If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. ") @RequestHeader(value = "TPP-Nok-Redirect-URI", required = false) String tpPNokRedirectURI, @ApiParam(value = "If it equals \"true\", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. If it equals \"false\" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Explicit-Authorisation-Preferred", required = false) boolean tpPExplicitAuthorisationPreferred, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #8
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Payment initiation request", nickname = "initiatePayment", notes = "This method is used to initiate a payment at the ASPSP. ## Variants of Payment Initiation Requests This method to initiate a payment initiation at the ASPSP can be sent with either a JSON body or an pain.001 body depending on the payment product in the path. There are the following **payment products**: - Payment products with payment information in *JSON* format: - ***sepa-credit-transfers*** - ***instant-sepa-credit-transfers*** - ***target-2-payments*** - ***cross-border-credit-transfers*** - Payment products with payment information in *pain.001* XML format: - ***pain.001-sepa-credit-transfers*** - ***pain.001-instant-sepa-credit-transfers*** - ***pain.001-target-2-payments*** - ***pain.001-cross-border-credit-transfers*** Furthermore the request body depends on the **payment-service** * ***payments***: A single payment initiation request. * ***bulk-payments***: A collection of several payment iniatiation requests. In case of a *pain.001* message there are more than one payments contained in the *pain.001 message. In case of a *JSON* there are several JSON payment blocks contained in a joining list. * ***periodic-payments***: Create a standing order initiation resource for recurrent i.e. periodic payments addressable under {paymentId} with all data relevant for the corresponding payment product and the execution of the standing order contained in a JSON body. This is the first step in the API to initiate the related recurring/periodic payment. ## Single and mulitilevel SCA Processes The Payment Initiation Requests are independent from the need of one ore multilevel SCA processing, i.e. independent from the number of authorisations needed for the execution of payments. But the response messages are specific to either one SCA processing or multilevel SCA processing. For payment initiation with multilevel SCA, this specification requires an explicit start of the authorisation, i.e. links directly associated with SCA processing like 'scaRedirect' or 'scaOAuth' cannot be contained in the response message of a Payment Initation Request for a payment, where multiple authorisations are needed. Also if any data is needed for the next action, like selecting an SCA method is not supported in the response, since all starts of the multiple authorisations are fully equal. In these cases, first an authorisation sub-resource has to be generated following the 'startAuthorisation' link. ", response = Object.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 201, message = "CREATED", response = Object.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}", produces = {"application/json", "application/problem+json"}, consumes = {"application/json"}, method = RequestMethod.POST) ResponseEntity<PaymentInitationRequestResponse201> _initiatePayment(@ApiParam(value = "JSON request body for a payment inition request message There are the following payment-products supported: * \"sepa-credit-transfers\" with JSON-Body * \"instant-sepa-credit-transfers\" with JSON-Body * \"target-2-payments\" with JSON-Body * \"cross-border-credit-transfers\" with JSON-Body * \"pain.001-sepa-credit-transfers\" with XML pain.001.001.03 body for SCT scheme * \"pain.001-instant-sepa-credit-transfers\" with XML pain.001.001.03 body for SCT INST scheme * \"pain.001-target-2-payments\" with pain.001 body. Only country specific schemes are currently available * \"pain.001-cross-border-credit-transfers\" with pain.001 body. Only country specific schemes are currently available There are the following payment-services supported: * \"payments\" * \"periodic-payments\" * \"bulk-paments\" All optional, conditional and predefined but not yet used fields are defined. ", required = true) @Valid @RequestBody Object body, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ", required = true) @RequestHeader(value = "PSU-IP-Address", required = true) String psUIPAddress, @ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ") @RequestHeader(value = "Consent-ID", required = false) String consentID, @ApiParam(value = "If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach. If it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Redirect-Preferred", required = false) String tpPRedirectPreferred, @ApiParam(value = "URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach (including OAuth2 SCA approach), specifically when TPP-Redirect-Preferred equals \"true\". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. ") @RequestHeader(value = "TPP-Redirect-URI", required = false) String tpPRedirectURI, @ApiParam(value = "If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. ") @RequestHeader(value = "TPP-Nok-Redirect-URI", required = false) String tpPNokRedirectURI, @ApiParam(value = "If it equals \"true\", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. If it equals \"false\" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Explicit-Authorisation-Preferred", required = false) boolean tpPExplicitAuthorisationPreferred, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #9
Source File: DeviceLogResource.java From hmdm-server with Apache License 2.0 | 6 votes |
/** * <p>Gets the list of device log records matching the specified filter.</p> * * @param filter a filter to be used for filtering the records. * @return a response with list of device log records matching the specified filter. */ @ApiOperation( value = "Search logs", notes = "Gets the list of log records matching the specified filter", response = PaginatedData.class, authorizations = {@Authorization("Bearer Token")} ) @POST @Path("/private/search") @Produces(MediaType.APPLICATION_JSON) public Response getLogs(DeviceLogFilter filter) { try { List<DeviceLogRecord> records = this.deviceLogDAO.findAll(filter); long count = this.deviceLogDAO.countAll(filter); return Response.OK(new PaginatedData<>(records, count)); } catch (Exception e) { logger.error("Failed to search the log records due to unexpected error. Filter: {}", filter, e); return Response.INTERNAL_ERROR(); } }
Example #10
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read the SCA Status of the payment authorisation", nickname = "getPaymentInitiationScaStatus", notes = "This method returns the SCA status of a payment initiation's authorisation sub-resource. ", response = ScaStatusResponse.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ScaStatusResponse.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}/authorisations/{authorisationId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ScaStatusResponse> _getPaymentInitiationScaStatus(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "Resource identification of the related SCA.", required = true) @PathVariable("authorisationId") String authorisationId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #11
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Get Payment Initiation Authorisation Sub-Resources Request", nickname = "getPaymentInitiationAuthorisation", notes = "Read a list of all authorisation subresources IDs which have been created. This function returns an array of hyperlinks to all generated authorisation sub-resources. ", response = Authorisations.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = Authorisations.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}/authorisations", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<Authorisations> _getPaymentInitiationAuthorisation(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #12
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Get Payment Information", nickname = "getPaymentInformation", notes = "Returns the content of a payment object", response = Object.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = Object.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}", produces = {"application/json", "application/xml", "multipart/form-data", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<Object> _getPaymentInformation(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #13
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Start the authorisation process for a payment initiation", nickname = "startPaymentAuthorisation", notes = "Create an authorisation sub-resource and start the authorisation process. The message might in addition transmit authentication and authorisation related data. This method is iterated n times for a n times SCA authorisation in a corporate context, each creating an own authorisation sub-endpoint for the corresponding PSU authorising the transaction. The ASPSP might make the usage of this access method unnecessary in case of only one SCA process needed, since the related authorisation resource might be automatically created by the ASPSP after the submission of the payment data with the first POST payments/{payment-product} call. The start authorisation process is a process which is needed for creating a new authorisation or cancellation sub-resource. This applies in the following scenarios: * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Initiation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms. * 'startAuthorisationWithPsuIdentfication', * 'startAuthorisationWithPsuAuthentication' #TODO * 'startAuthorisationWithAuthentciationMethodSelection' * The related payment initiation cannot yet be executed since a multilevel SCA is mandated. * The ASPSP has indicated with an 'startAuthorisation' hyperlink in the preceeding Payment Cancellation Response that an explicit start of the authorisation process is needed by the TPP. The 'startAuthorisation' hyperlink can transport more information about data which needs to be uploaded by using the extended forms as indicated above. * The related payment cancellation request cannot be applied yet since a multilevel SCA is mandate for executing the cancellation. * The signing basket needs to be authorised yet. ", response = StartScaprocessResponse.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 201, message = "Created", response = StartScaprocessResponse.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}/authorisations", produces = {"application/json", "application/problem+json"}, method = RequestMethod.POST) ResponseEntity<StartScaprocessResponse> _startPaymentAuthorisation(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #14
Source File: ConsentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Update PSU Data for consents", nickname = "updateConsentsPsuData", notes = "This method update PSU data on the consents resource if needed. It may authorise a consent within the Embedded SCA Approach where needed. Independently from the SCA Approach it supports e.g. the selection of the authentication method and a non-SCA PSU authentication. This methods updates PSU data on the cancellation authorisation resource if needed. There are several possible Update PSU Data requests in the context of a consent request if needed, which depends on the SCA approach: * Redirect SCA Approach: A specific Update PSU Data Request is applicable for * the selection of authentication methods, before choosing the actual SCA approach. * Decoupled SCA Approach: A specific Update PSU Data Request is only applicable for * adding the PSU Identification, if not provided yet in the Payment Initiation Request or the Account Information Consent Request, or if no OAuth2 access token is used, or * the selection of authentication methods. * Embedded SCA Approach: The Update PSU Data Request might be used * to add credentials as a first factor authentication data of the PSU and * to select the authentication method and * transaction authorisation. The SCA Approach might depend on the chosen SCA method. For that reason, the following possible Update PSU Data request can apply to all SCA approaches: * Select an SCA method in case of several SCA methods are available for the customer. There are the following request types on this access path: * Update PSU Identification * Update PSU Authentication * Select PSU Autorization Method WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. * Transaction Authorisation WARNING: This method need a reduced header, therefore many optional elements are not present. Maybe in a later version the access path will change. ", response = Object.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = Object.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/consents/{consentId}/authorisations/{authorisationId}", produces = {"application/json", "application/problem+json"}, consumes = {"application/json"}, method = RequestMethod.PUT) ResponseEntity<UpdatePsuAuthenticationResponse> _updateConsentsPsuData(@ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "ID of the corresponding consent object as returned by an Account Information Consent Request. ", required = true) @PathVariable("consentId") String consentId, @ApiParam(value = "Resource identification of the related SCA.", required = true) @PathVariable("authorisationId") String authorisationId, @ApiParam(value = "") @Valid @RequestBody Object body, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #15
Source File: AccountApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read Account List", nickname = "getAccountList", notes = "Read the identifiers of the available payment account together with booking balance information, depending on the consent granted. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token. Returns all identifiers of the accounts, to which an account access has been granted to through the /consents endpoint by the PSU. In addition, relevant information about the accounts and hyperlinks to corresponding account information resources are provided if a related consent has been already granted. Remark: Note that the /consents endpoint optionally offers to grant an access on all available payment accounts of a PSU. In this case, this endpoint will deliver the information about all available payment accounts of the PSU at this ASPSP. ", response = AccountList.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = AccountList.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/accounts", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<AccountList> _getAccountList(@ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. ") @Valid @RequestParam(value = "withBalance", required = false) Boolean withBalance, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #16
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read the SCA status of the payment cancellation's authorisation.", nickname = "getPaymentCancellationScaStatus", notes = "This method returns the SCA status of a payment initiation's authorisation sub-resource. ", response = ScaStatusResponse.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ScaStatusResponse.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPIS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}/cancellation-authorisations/{cancellationId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ScaStatusResponse> _getPaymentCancellationScaStatus(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "Identification for cancellation resource.", required = true) @PathVariable("cancellationId") String cancellationId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #17
Source File: AccountApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read Transaction Details", nickname = "getTransactionDetails", notes = "Reads transaction details from a given transaction addressed by \"resourceId\" on a given account addressed by \"account-id\". This call is only available on transactions as reported in a JSON format. **Remark:** Please note that the PATH might be already given in detail by the corresponding entry of the response of the \"Read Transaction List\" call within the _links subfield. ", response = TransactionDetails.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = TransactionDetails.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/accounts/{account-id}/transactions/{resourceId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<TransactionDetails> _getTransactionDetails(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @ApiParam(value = "This identification is given by the attribute resourceId of the corresponding entry of a transaction list. ", required = true) @PathVariable("resourceId") String resourceId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #18
Source File: AccountApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read transaction list of an account", nickname = "getTransactionList", notes = "Read transaction reports or transaction lists of a given account ddressed by \"account-id\", depending on the steering parameter \"bookingStatus\" together with balances. For a given account, additional parameters are e.g. the attributes \"dateFrom\" and \"dateTo\". The ASPSP might add balance information, if transaction lists without balances are not supported. ", response = TransactionsResponse200Json.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = TransactionsResponse200Json.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/accounts/{account-id}/transactions/", produces = {"application/json", "application/xml", "application/text", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<TransactionsResponse200Json> _getTransactionList(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @NotNull @ApiParam(value = "Permitted codes are * \"booked\", * \"pending\" and * \"both\" \"booked\" shall be supported by the ASPSP. To support the \"pending\" and \"both\" feature is optional for the ASPSP, Error code if not supported in the online banking frontend ", required = true, allowableValues = "booked, pending, both") @Valid @RequestParam(value = "bookingStatus", required = true) String bookingStatus, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. ") @Valid @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @RequestParam(value = "dateFrom", required = false) LocalDate dateFrom, @ApiParam(value = "End date (inclusive the data dateTo) of the transaction list, is \"now\" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. ") @Valid @DateTimeFormat(iso = DateTimeFormat.ISO.DATE) @RequestParam(value = "dateTo", required = false) LocalDate dateTo, @ApiParam(value = "This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries \"dateFrom\" and \"dateTo\" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider. ") @Valid @RequestParam(value = "entryReferenceFrom", required = false) String entryReferenceFrom, @ApiParam(value = "This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider") @Valid @RequestParam(value = "deltaList", required = false) Boolean deltaList, @ApiParam(value = "If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. ") @Valid @RequestParam(value = "withBalance", required = false) Boolean withBalance, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #19
Source File: AccountApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read Account Details", nickname = "readAccountDetails", notes = "Reads details about an account, with balances where required. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed details of this account depends then on the stored consent addressed by consentId, respectively the OAuth2 access token. **NOTE:** The account-id can represent a multicurrency account. In this case the currency code is set to \"XXX\". Give detailed information about the addressed account. Give detailed information about the addressed account together with balance information ", response = AccountDetails.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = AccountDetails.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/accounts/{account-id}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<AccountDetails> _readAccountDetails(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. ") @Valid @RequestParam(value = "withBalance", required = false) Boolean withBalance, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #20
Source File: SigningBasketApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Create a signing basket resource", nickname = "createSigningBasket", notes = "Create a signing basket resource for authorising several transactions with one SCA method. The resource identifications of these transactions are contained in the payload of this access method ", response = SigningBasketResponse201.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 201, message = "Created", response = SigningBasketResponse201.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGSBS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGSBS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGSBS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGSBS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGSBS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/signing-baskets", produces = {"application/json", "application/problem+json"}, method = RequestMethod.POST) ResponseEntity<SigningBasketResponse201> _createSigningBasket(@ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ", required = true) @RequestHeader(value = "PSU-IP-Address", required = true) String psUIPAddress, @ApiParam(value = "Request body for a confirmation of an establishing signing basket request ") @Valid @RequestBody SigningBasket body, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "This data element may be contained, if the payment initiation transaction is part of a session, i.e. combined AIS/PIS service. This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ") @RequestHeader(value = "Consent-ID", required = false) String consentID, @ApiParam(value = "If it equals \"true\", the TPP prefers a redirect over an embedded SCA approach. If it equals \"false\", the TPP prefers not to be redirected for SCA. The ASPSP will then choose between the Embedded or the Decoupled SCA approach, depending on the choice of the SCA procedure by the TPP/PSU. If the parameter is not used, the ASPSP will choose the SCA approach to be applied depending on the SCA method chosen by the TPP/PSU. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Redirect-Preferred", required = false) String tpPRedirectPreferred, @ApiParam(value = "URI of the TPP, where the transaction flow shall be redirected to after a Redirect. Mandated for the Redirect SCA Approach (including OAuth2 SCA approach), specifically when TPP-Redirect-Preferred equals \"true\". It is recommended to always use this header field. **Remark for Future:** This field might be changed to mandatory in the next version of the specification. ") @RequestHeader(value = "TPP-Redirect-URI", required = false) String tpPRedirectURI, @ApiParam(value = "If this URI is contained, the TPP is asking to redirect the transaction flow to this address instead of the TPP-Redirect-URI in case of a negative result of the redirect SCA method. This might be ignored by the ASPSP. ") @RequestHeader(value = "TPP-Nok-Redirect-URI", required = false) String tpPNokRedirectURI, @ApiParam(value = "If it equals \"true\", the TPP prefers to start the authorisation process separately, e.g. because of the usage of a signing basket. This preference might be ignored by the ASPSP, if a signing basket is not supported as functionality. If it equals \"false\" or if the parameter is not used, there is no preference of the TPP. This especially indicates that the TPP assumes a direct authorisation of the transaction in the next step, without using a signing basket. ", allowableValues = "true, false") @RequestHeader(value = "TPP-Explicit-Authorisation-Preferred", required = false) String tpPExplicitAuthorisationPreferred, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #21
Source File: MessagingResource.java From hmdm-server with Apache License 2.0 | 6 votes |
@ApiOperation( value = "Purge old messages", notes = "Deletes all messages older than a specified number of days.", authorizations = {@Authorization("Bearer Token")} ) @GET @Path("/private/purge/{days}") @Produces(MediaType.APPLICATION_JSON) public Response purgeMessages(@PathParam("days") Integer days) { try { final boolean canPurgeMessages = SecurityContext.get().hasPermission("plugin_messaging_delete"); if (!canPurgeMessages) { logger.error("Unauthorized attempt to purge old messages", SecurityException.onCustomerDataAccessViolation(0, "message")); return Response.PERMISSION_DENIED(); } this.messagingDAO.purgeOldMessages(days); return Response.OK(); } catch (Exception e) { logger.error("Unexpected error when purging old messages", e); return Response.ERROR(); } }
Example #22
Source File: SigningBasketApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Get Signing Basket Authorisation Sub-Resources Request", nickname = "getSigningBasketAuthorisation", notes = "Read a list of all authorisation subresources IDs which have been created. This function returns an array of hyperlinks to all generated authorisation sub-resources. ", response = Authorisations.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = Authorisations.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGSBS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGSBS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGSBS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGSBS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGSBS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/signing-baskets/{basketId}/authorisations", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<Authorisations> _getSigningBasketAuthorisation(@ApiParam(value = "This identification of the corresponding signing basket object. ", required = true) @PathVariable("basketId") String basketId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #23
Source File: SigningBasketApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read the SCA status of the signing basket authorisation", nickname = "getSigningBasketScaStatus", notes = "This method returns the SCA status of a signing basket's authorisation sub-resource. ", response = ScaStatusResponse.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ScaStatusResponse.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGSBS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGSBS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGSBS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGSBS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGSBS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/signing-baskets/{basketId}/authorisations/{authorisationId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ScaStatusResponse> _getSigningBasketScaStatus(@ApiParam(value = "This identification of the corresponding signing basket object. ", required = true) @PathVariable("basketId") String basketId, @ApiParam(value = "Resource identification of the related SCA.", required = true) @PathVariable("authorisationId") String authorisationId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #24
Source File: SigningBasketApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read the status of the signing basket", nickname = "getSigningBasketStatus", notes = "Returns the status of a signing basket object. ", response = SigningBasketStatusResponse200.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = SigningBasketStatusResponse200.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGSBS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGSBS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGSBS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGSBS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGSBS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/signing-baskets/{basketId}/status", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<SigningBasketStatusResponse200> _getSigningBasketStatus(@ApiParam(value = "This identification of the corresponding signing basket object. ", required = true) @PathVariable("basketId") String basketId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "Client ID of the PSU in the ASPSP client interface. Might be mandated in the ASPSP's documentation. Is not contained if an OAuth2 based authentication was performed in a pre-step or an OAuth2 based SCA was performed in an preceeding AIS service in the same session. ") @RequestHeader(value = "PSU-ID", required = false) String PSU_ID, @ApiParam(value = "Type of the PSU-ID, needed in scenarios where PSUs have several PSU-IDs as access possibility. ") @RequestHeader(value = "PSU-ID-Type", required = false) String psUIDType, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID", required = false) String psUCorporateID, @ApiParam(value = "Might be mandated in the ASPSP's documentation. Only used in a corporate context. ") @RequestHeader(value = "PSU-Corporate-ID-Type", required = false) String psUCorporateIDType, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #25
Source File: SigningBasketApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Delete the signing basket", nickname = "deleteSigningBasket", notes = "Delete the signing basket structure as long as no (partial) authorisation has yet been applied. The undlerying transactions are not affected by this deletion. Remark: The signing basket as such is not deletable after a first (partial) authorisation has been applied. Nevertheless, single transactions might be cancelled on an individual basis on the XS2A interface. ", authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 204, message = "No Content"), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGSBS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGSBS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGSBS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGSBS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGSBS.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/signing-baskets/{basketId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.DELETE) ResponseEntity<Void> _deleteSigningBasket(@ApiParam(value = "This identification of the corresponding signing basket object. ", required = true) @PathVariable("basketId") String basketId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #26
Source File: CardAccountsApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Reads a list of card accounts", nickname = "getCardAccount", notes = "Reads a list of card accounts with additional information, e.g. balance information. It is assumed that a consent of the PSU to this access is already given and stored on the ASPSP system. The addressed list of card accounts depends then on the PSU ID and the stored consent addressed by consentId, respectively the OAuth2 access token. ", response = CardAccountList.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = CardAccountList.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/card-accounts", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<CardAccountList> _getCardAccount(@ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #27
Source File: CardAccountsApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read card account balances", nickname = "getCardAccountBalances", notes = "Reads balance data from a given card account addressed by \"account-id\". Remark: This account-id can be a tokenised identification due to data protection reason since the path information might be logged on intermediary servers within the ASPSP sphere. This account-id then can be retrieved by the \"GET Card Account List\" call ", response = ReadCardAccountBalanceResponse200.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = ReadCardAccountBalanceResponse200.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/card-accounts/{account-id}/balances", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<ReadCardAccountBalanceResponse200> _getCardAccountBalances(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #28
Source File: CardAccountsApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Read transaction list of an account", nickname = "getCardAccountTransactionList", notes = "Reads account data from a given card account addressed by \"account-id\". ", response = CardAccountsTransactionsResponse200.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 200, message = "OK", response = CardAccountsTransactionsResponse200.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGAIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGAIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGAIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGAIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGAIS.class), @ApiResponse(code = 406, message = "Not Acceptable", response = Error406NGAIS.class), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests", response = Error429NGAIS.class), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/card-accounts/{account-id}/transactions", produces = {"application/json", "application/problem+json"}, method = RequestMethod.GET) ResponseEntity<CardAccountsTransactionsResponse200> _getCardAccountTransactionList(@ApiParam(value = "This identification is denoting the addressed account. The account-id is retrieved by using a \"Read Account List\" call. The account-id is the \"id\" attribute of the account structure. Its value is constant at least throughout the lifecycle of a given consent. ", required = true) @PathVariable("account-id") String accountId, @NotNull @ApiParam(value = "Permitted codes are * \"booked\", * \"pending\" and * \"both\" \"booked\" shall be supported by the ASPSP. To support the \"pending\" and \"both\" feature is optional for the ASPSP, Error code if not supported in the online banking frontend ", required = true, allowableValues = "booked, pending, both") @Valid @RequestParam(value = "bookingStatus", required = true) String bookingStatus, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "This then contains the consentId of the related AIS consent, which was performed prior to this payment initiation. ", required = true) @RequestHeader(value = "Consent-ID", required = true) String consentID, @ApiParam(value = "Conditional: Starting date (inclusive the date dateFrom) of the transaction list, mandated if no delta access is required. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. ") @Valid @RequestParam(value = "dateFrom", required = false) LocalDate dateFrom, @ApiParam(value = "End date (inclusive the data dateTo) of the transaction list, is \"now\" if not given. Might be ignored if a delta function is used. For booked transactions, the relevant date is the booking date. For pending transactions, the relevant date is the entry date, which may not be transparent neither in this API nor other channels of the ASPSP. ") @Valid @RequestParam(value = "dateTo", required = false) LocalDate dateTo, @ApiParam(value = "This data attribute is indicating that the AISP is in favour to get all transactions after the transaction with identification entryReferenceFrom alternatively to the above defined period. This is a implementation of a delta access. If this data element is contained, the entries \"dateFrom\" and \"dateTo\" might be ignored by the ASPSP if a delta report is supported. Optional if supported by API provider. ") @Valid @RequestParam(value = "entryReferenceFrom", required = false) String entryReferenceFrom, @ApiParam(value = "This data attribute is indicating that the AISP is in favour to get all transactions after the last report access for this PSU on the addressed account. This is another implementation of a delta access-report. This delta indicator might be rejected by the ASPSP if this function is not supported. Optional if supported by API provider") @Valid @RequestParam(value = "deltaList", required = false) Boolean deltaList, @ApiParam(value = "If contained, this function reads the list of accessible payment accounts including the booking balance, if granted by the PSU in the related consent and available by the ASPSP. This parameter might be ignored by the ASPSP. ") @Valid @RequestParam(value = "withBalance", required = false) Boolean withBalance, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding HTTP request IP Address field between PSU and TPP. It shall be contained if and only if this request was actively initiated by the PSU. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #29
Source File: PaymentApiClient.java From XS2A-Sandbox with Apache License 2.0 | 6 votes |
@ApiOperation(value = "Payment Cancellation Request", nickname = "cancelPayment", notes = "This method initiates the cancellation of a payment. Depending on the payment-service, the payment-product and the ASPSP's implementation, this TPP call might be sufficient to cancel a payment. If an authorisation of the payment cancellation is mandated by the ASPSP, a corresponding hyperlink will be contained in the response message. Cancels the addressed payment with resource identification paymentId if applicable to the payment-service, payment-product and received in product related timelines (e.g. before end of business day for scheduled payments of the last business day before the scheduled execution day). The response to this DELETE command will tell the TPP whether the * access method was rejected * access method was successful, or * access method is generally applicable, but further authorisation processes are needed. ", response = PaymentInitiationCancelResponse202.class, authorizations = { @Authorization(value = "BearerAuthOAuth") }, tags = {}) @ApiResponses(value = { @ApiResponse(code = 204, message = "OK", response = PaymentInitiationCancelResponse202.class), @ApiResponse(code = 202, message = "Received", response = PaymentInitiationCancelResponse202.class), @ApiResponse(code = 400, message = "Bad Request", response = Error400NGPIS.class), @ApiResponse(code = 401, message = "Unauthorized", response = Error401NGPIS.class), @ApiResponse(code = 403, message = "Forbidden", response = Error403NGPIS.class), @ApiResponse(code = 404, message = "Not found", response = Error404NGPIS.class), @ApiResponse(code = 405, message = "Method Not Allowed", response = Error405NGPISCANC.class), @ApiResponse(code = 406, message = "Not Acceptable"), @ApiResponse(code = 408, message = "Request Timeout"), @ApiResponse(code = 415, message = "Unsupported Media Type"), @ApiResponse(code = 429, message = "Too Many Requests"), @ApiResponse(code = 500, message = "Internal Server Error"), @ApiResponse(code = 503, message = "Service Unavailable")}) @RequestMapping(value = "/v1/{payment-service}/{payment-product}/{paymentId}", produces = {"application/json", "application/problem+json"}, method = RequestMethod.DELETE) ResponseEntity<PaymentInitiationCancelResponse202> _cancelPayment(@ApiParam(value = "Payment service: Possible values are: * payments * bulk-payments * periodic-payments ", required = true, allowableValues = "\"payments\", \"bulk-payments\", \"periodic-payments\"") @PathVariable("payment-service") String paymentService, @ApiParam(value = "The addressed payment product endpoint, e.g. for SEPA Credit Transfers (SCT). The ASPSP will publish which of the payment products/endpoints will be supported. The following payment products are supported: - sepa-credit-transfers - instant-sepa-credit-transfers - target-2-payments - cross-border-credit-transfers - pain.001-sepa-credit-transfers - pain.001-instant-sepa-credit-transfers - pain.001-target-2-payments - pain.001-cross-border-credit-transfers **Remark:** For all SEPA Credit Transfer based endpoints which accept XML encoding, the XML pain.001 schemes provided by EPC are supported by the ASPSP as a minimum for the body content. Further XML schemes might be supported by some communities. **Remark:** For cross-border and TARGET-2 payments only community wide pain.001 schemes do exist. There are plenty of country specificic scheme variants. ", required = true, allowableValues = "\"sepa-credit-transfers\", \"instant-sepa-credit-transfers\", \"target-2-payments\", \"cross-border-credit-transfers\", \"pain.001-sepa-credit-transfers\", \"pain.001-instant-sepa-credit-transfers\", \"pain.001-target-2-payments\", \"pain.001-cross-border-credit-transfers\"") @PathVariable("payment-product") String paymentProduct, @ApiParam(value = "Resource identification of the generated payment initiation resource.", required = true) @PathVariable("paymentId") String paymentId, @ApiParam(value = "ID of the request, unique to the call, as determined by the initiating party.", required = true) @RequestHeader(value = "X-Request-ID", required = true) UUID xRequestID, @ApiParam(value = "Is contained if and only if the \"Signature\" element is contained in the header of the request.") @RequestHeader(value = "Digest", required = false) String digest, @ApiParam(value = "A signature of the request by the TPP on application level. This might be mandated by ASPSP. ") @RequestHeader(value = "Signature", required = false) String signature, @ApiParam(value = "The certificate used for signing the request, in base64 encoding. Must be contained if a signature is contained. ") @RequestHeader(value = "TPP-Signature-Certificate", required = false) byte[] tpPSignatureCertificate, @ApiParam(value = "The forwarded IP Address header field consists of the corresponding http request IP Address field between PSU and TPP. ") @RequestHeader(value = "PSU-IP-Address", required = false) String psUIPAddress, @ApiParam(value = "The forwarded IP Port header field consists of the corresponding HTTP request IP Port field between PSU and TPP, if available. ") @RequestHeader(value = "PSU-IP-Port", required = false) String psUIPPort, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept", required = false) String psUAccept, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Charset", required = false) String psUAcceptCharset, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Encoding", required = false) String psUAcceptEncoding, @ApiParam(value = "The forwarded IP Accept header fields consist of the corresponding HTTP request Accept header fields between PSU and TPP, if available. ") @RequestHeader(value = "PSU-Accept-Language", required = false) String psUAcceptLanguage, @ApiParam(value = "The forwarded Agent header field of the HTTP request between PSU and TPP, if available. ") @RequestHeader(value = "PSU-User-Agent", required = false) String psUUserAgent, @ApiParam(value = "HTTP method used at the PSU ? TPP interface, if available. Valid values are: * GET * POST * PUT * PATCH * DELETE ", allowableValues = "GET, POST, PUT, PATCH, DELETE") @RequestHeader(value = "PSU-Http-Method", required = false) String psUHttpMethod, @ApiParam(value = "UUID (Universally Unique Identifier) for a device, which is used by the PSU, if available. UUID identifies either a device or a device dependant application installation. In case of an installation identification this ID need to be unaltered until removal from device. ") @RequestHeader(value = "PSU-Device-ID", required = false) UUID psUDeviceID, @ApiParam(value = "The forwarded Geo Location of the corresponding http request between PSU and TPP if available. ") @RequestHeader(value = "PSU-Geo-Location", required = false) String psUGeoLocation);
Example #30
Source File: AuditResource.java From hmdm-server with Apache License 2.0 | 6 votes |
/** * <p>Gets the list of audit log records matching the specified filter.</p> * * @param filter a filter to be used for filtering the records. * @return a response with list of audit log records matching the specified filter. */ @ApiOperation( value = "Search logs", notes = "Gets the list of audit log records matching the specified filter", response = PaginatedData.class, authorizations = {@Authorization("Bearer Token")} ) @POST @Path("/private/log/search") @Produces(MediaType.APPLICATION_JSON) public Response getLogs(AuditLogFilter filter) { try { List<AuditLogRecord> records = this.auditDAO.findAll(filter); long count = this.auditDAO.countAll(filter); return Response.OK(new PaginatedData<>(records, count)); } catch (Exception e) { logger.error("Failed to search the audit log records due to unexpected error. Filter: {}", filter, e); return Response.INTERNAL_ERROR(); } }