Class PaymentCancellationSpiImpl
- java.lang.Object
-
- de.adorsys.aspsp.xs2a.connector.spi.impl.authorisation.AbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
-
- de.adorsys.aspsp.xs2a.connector.spi.impl.authorisation.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
-
-
Constructor Summary
Constructors Constructor Description PaymentCancellationSpiImpl(PaymentRestClient ledgersRestClient, ScaMethodConverter scaMethodConverter, AuthRequestInterceptor authRequestInterceptor, AspspConsentDataService consentDataService, GeneralAuthorisationService authorisationService, FeignExceptionReader feignExceptionReader, RedirectScaRestClient redirectScaRestClient, de.adorsys.ledgers.keycloak.client.api.KeycloakTokenService keycloakTokenService, GeneralPaymentService paymentService, ScaResponseMapper scaResponseMapper)
-
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 authenticationprotected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTOexecuteBusinessObject(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)protected de.adorsys.psd2.xs2a.core.error.TppMessagegetAuthorisePsuFailureMessage(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)protected StringgetBusinessObjectId(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)protected de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTOgetOpType()protected Optional<List<de.adorsys.ledgers.middleware.api.domain.um.ScaUserDataTO>>getScaMethods(de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTO sca)de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaStatusResponse>getScaStatus(de.adorsys.psd2.xs2a.core.sca.ScaStatus arg0, de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg1, String arg2, T arg3, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg4)protected de.adorsys.ledgers.middleware.api.domain.sca.GlobalScaResponseTOinitiateBusinessObject(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 processprotected booleanisFirstInitiationOfMultilevelSca(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)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 voidupdateStatusInCms(String businessObjectId, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)protected booleanvalidateStatuses(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.-
Methods inherited from class de.adorsys.aspsp.xs2a.connector.spi.impl.authorisation.AbstractAuthorisationSpi
authorisePsu, generatePsuMessage, getScaObjectResponse, getScaStatus, getSelectMethodResponse, requestAuthorisationCode, requestAvailableScaMethods, resolveErrorResponse, startScaDecoupled
-
-
-
-
Constructor Detail
-
PaymentCancellationSpiImpl
public PaymentCancellationSpiImpl(PaymentRestClient ledgersRestClient, ScaMethodConverter scaMethodConverter, AuthRequestInterceptor authRequestInterceptor, AspspConsentDataService consentDataService, GeneralAuthorisationService authorisationService, FeignExceptionReader feignExceptionReader, RedirectScaRestClient redirectScaRestClient, de.adorsys.ledgers.keycloak.client.api.KeycloakTokenService keycloakTokenService, GeneralPaymentService paymentService, ScaResponseMapper scaResponseMapper)
-
-
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:
initiatePaymentCancellationin interfacede.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi- Parameters:
contextData- holder of call's context data (e.g. about PSU and TPP)payment- Payment to be cancelledaspspConsentDataProvider- 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:
cancelPaymentWithoutScain interfacede.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi- Parameters:
contextData- holder of call's context data (e.g. about PSU and TPP)payment- Payment to be cancelledaspspConsentDataProvider- 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:
verifyScaAuthorisationAndCancelPaymentWithResponsein interfacede.adorsys.psd2.xs2a.spi.service.PaymentCancellationSpi- Parameters:
contextData- holder of call's context data (e.g. about PSU and TPP)spiScaConfirmation- payment cancellation confirmation informationpayment- Payment to be cancelledaspspConsentDataProvider- 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
-
getBusinessObjectId
protected String getBusinessObjectId(de.adorsys.psd2.xs2a.spi.service.SpiPayment businessObject)
- Specified by:
getBusinessObjectIdin classAbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
-
getOpType
protected de.adorsys.ledgers.middleware.api.domain.sca.OpTypeTO getOpType()
- Specified by:
getOpTypein classAbstractAuthorisationSpi<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:
getAuthorisePsuFailureMessagein classAbstractAuthorisationSpi<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:
initiateBusinessObjectin classAbstractAuthorisationSpi<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:
validateStatusesin classAbstractAuthorisationSpi<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:
isFirstInitiationOfMultilevelScain classAbstractAuthorisationSpi<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:
executeBusinessObjectin classAbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
-
updateStatusInCms
protected void updateStatusInCms(String businessObjectId, de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider aspspConsentDataProvider)
- Specified by:
updateStatusInCmsin classAbstractAuthorisationSpi<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:
getScaMethodsin classAbstractAuthorisationSpi<de.adorsys.psd2.xs2a.spi.service.SpiPayment>
-
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)
-
getScaStatus
public abstract de.adorsys.psd2.xs2a.spi.domain.response.SpiResponse<de.adorsys.psd2.xs2a.spi.domain.authorisation.SpiScaStatusResponse> getScaStatus(@NotNull de.adorsys.psd2.xs2a.core.sca.ScaStatus arg0, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiContextData arg1, @NotNull String arg2, @NotNull T arg3, @NotNull de.adorsys.psd2.xs2a.spi.domain.SpiAspspConsentDataProvider arg4)
-
-