Class PaymentCancellationSpiImpl

  • All Implemented Interfaces:
    de.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi

    @Component
    public class PaymentCancellationSpiImpl
    extends AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
    implements de.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Default Methods 
      Modifier and Type Method Description
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> authorisePsu​(de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0, String arg1, de.adorsys.psd2.xs2a.spi.domain.psu.SpiPsuData arg2, String arg3, T arg4, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg5)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse.VoidResponse> cancelPaymentWithoutSca​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      Cancels payment without performing strong customer authentication
      protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO executeBusinessObject​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)  
      protected de.adorsys.psd2.xs2a.core.error.TppMessage getAuthorisePsuFailureMessage​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)  
      protected String getBusinessObjectId​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)  
      protected de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTO getOpType()  
      protected Optional<List<de.adorsys.ledgers.middleware.api.domain.um.ScaUserDataTO>> getScaMethods​(de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)  
      protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO initiateBusinessObject​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider, String authorisationId)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.payment.response.SpiPaymentCancellationResponse> initiatePaymentCancellation​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      Initiates payment cancellation process
      protected boolean isFirstInitiationOfMultilevelSca​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject, de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO scaPaymentResponseTO)  
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> requestAuthorisationCode​(de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0, String arg1, T arg2, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg3)  
      de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAvailableScaMethodsResponse> requestAvailableScaMethods​(de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0, T arg1, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg2)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<Boolean> requestTrustedBeneficiaryFlag​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData spiContextData, @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment, @NotNull String authorisationId, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider spiAspspConsentDataProvider)  
      default de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorisationDecoupledScaResponse> startScaDecoupled​(de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0, String arg1, String arg2, T arg3, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg4)  
      protected boolean validateStatuses​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject, de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)  
      @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.payment.response.SpiPaymentExecutionResponse> verifyScaAuthorisationAndCancelPaymentWithResponse​(@NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData, @NotNull de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaConfirmation spiScaConfirmation, @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
      Sends authorisation confirmation information (secure code or such) to ASPSP and if case of successful validation cancels payment at ASPSP.
    • Method Detail

      • initiatePaymentCancellation

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.payment.response.SpiPaymentCancellationResponse> initiatePaymentCancellation​(@NotNull
                                                                                                                                                                                          @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                                          @NotNull
                                                                                                                                                                                          @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment,
                                                                                                                                                                                          @NotNull
                                                                                                                                                                                          @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
        Initiates payment cancellation process
        Specified by:
        initiatePaymentCancellation in interface de.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi
        Parameters:
        contextData - holder of call's context data (e.g. about PSU and TPP)
        payment - Payment to be cancelled
        aspspConsentDataProvider - Provides access to read/write encrypted data to be stored in the consent management system
        Returns:
        Payment cancellation response with information about transaction status and whether authorisation of the request is required
      • cancelPaymentWithoutSca

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse.VoidResponse> cancelPaymentWithoutSca​(@NotNull
                                                                                                                                                                        @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                        @NotNull
                                                                                                                                                                        @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment,
                                                                                                                                                                        @NotNull
                                                                                                                                                                        @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
        Cancels payment without performing strong customer authentication
        Specified by:
        cancelPaymentWithoutSca in interface de.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi
        Parameters:
        contextData - holder of call's context data (e.g. about PSU and TPP)
        payment - Payment to be cancelled
        aspspConsentDataProvider - Provides access to read/write encrypted data to be stored in the consent management system
        Returns:
        Return a positive or negative response as part of SpiResponse
      • verifyScaAuthorisationAndCancelPaymentWithResponse

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.payment.response.SpiPaymentExecutionResponse> verifyScaAuthorisationAndCancelPaymentWithResponse​(@NotNull
                                                                                                                                                                                                              @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData contextData,
                                                                                                                                                                                                              @NotNull
                                                                                                                                                                                                              @NotNull de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaConfirmation spiScaConfirmation,
                                                                                                                                                                                                              @NotNull
                                                                                                                                                                                                              @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment,
                                                                                                                                                                                                              @NotNull
                                                                                                                                                                                                              @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
        Sends authorisation confirmation information (secure code or such) to ASPSP and if case of successful validation cancels payment at ASPSP.
        Specified by:
        verifyScaAuthorisationAndCancelPaymentWithResponse in interface de.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi
        Parameters:
        contextData - holder of call's context data (e.g. about PSU and TPP)
        spiScaConfirmation - payment cancellation confirmation information
        payment - Payment to be cancelled
        aspspConsentDataProvider - Provides access to read/write encrypted data to be stored in the consent management system
        Returns:
        Return a positive or negative response as part of SpiResponse
      • getOpType

        protected de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTO getOpType()
        Specified by:
        getOpType in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • getAuthorisePsuFailureMessage

        protected de.adorsys.psd2.xs2a.core.error.TppMessage getAuthorisePsuFailureMessage​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)
        Specified by:
        getAuthorisePsuFailureMessage in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • initiateBusinessObject

        protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO initiateBusinessObject​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject,
                                                                                                          @NotNull
                                                                                                          @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider,
                                                                                                          String authorisationId)
        Specified by:
        initiateBusinessObject in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • validateStatuses

        protected boolean validateStatuses​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject,
                                           de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)
        Overrides:
        validateStatuses in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • isFirstInitiationOfMultilevelSca

        protected boolean isFirstInitiationOfMultilevelSca​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject,
                                                           de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO scaPaymentResponseTO)
        Specified by:
        isFirstInitiationOfMultilevelSca in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • executeBusinessObject

        protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO executeBusinessObject​(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)
        Specified by:
        executeBusinessObject in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • getScaMethods

        protected Optional<List<de.adorsys.ledgers.middleware.api.domain.um.ScaUserDataTO>> getScaMethods​(de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)
        Overrides:
        getScaMethods in class AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
      • requestTrustedBeneficiaryFlag

        @NotNull
        public @NotNull de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<Boolean> requestTrustedBeneficiaryFlag​(@NotNull
                                                                                                                    @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData spiContextData,
                                                                                                                    @NotNull
                                                                                                                    @NotNull de.adorsys.psd2.xs2a.spi.service.SpiPayment payment,
                                                                                                                    @NotNull
                                                                                                                    @NotNull String authorisationId,
                                                                                                                    @NotNull
                                                                                                                    @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider spiAspspConsentDataProvider)
      • authorisePsu

        public abstract de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiPsuAuthorisationResponse> authorisePsu​(@NotNull
                                                                                                                                                                     de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0,
                                                                                                                                                                     @NotNull
                                                                                                                                                                     String arg1,
                                                                                                                                                                     @NotNull
                                                                                                                                                                     de.adorsys.psd2.xs2a.spi.domain.psu.SpiPsuData arg2,
                                                                                                                                                                     String arg3,
                                                                                                                                                                     T arg4,
                                                                                                                                                                     @NotNull
                                                                                                                                                                     de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg5)
      • requestAvailableScaMethods

        public abstract de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAvailableScaMethodsResponse> requestAvailableScaMethods​(@NotNull
                                                                                                                                                                                      de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0,
                                                                                                                                                                                      T arg1,
                                                                                                                                                                                      @NotNull
                                                                                                                                                                                      de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg2)
      • requestAuthorisationCode

        @NotNull
        public abstract de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorizationCodeResult> requestAuthorisationCode​(@NotNull
                                                                                                                                                                                de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                String arg1,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                T arg2,
                                                                                                                                                                                @NotNull
                                                                                                                                                                                de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg3)
      • startScaDecoupled

        @NotNull
        public default de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiAuthorisationDecoupledScaResponse> startScaDecoupled​(@NotNull
                                                                                                                                                                                  de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg0,
                                                                                                                                                                                  @NotNull
                                                                                                                                                                                  String arg1,
                                                                                                                                                                                  @Nullable
                                                                                                                                                                                  String arg2,
                                                                                                                                                                                  @NotNull
                                                                                                                                                                                  T arg3,
                                                                                                                                                                                  @NotNull
                                                                                                                                                                                  de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg4)