We have a requirement where we have to use the Encryption key from a Third Party Engine and encrypt the credit card number using that key. We have disabled the OOB credit card number encryption as mentioned in the below link https://wiki.hybris.com/display/forum/INFO+How+to+disable+encryption+of+creditcard+numbers
To encrypt the credit card number, we have written a PrepareInterceptor on CreditCardPaymenInfo item type. This interceptor will encrypt the credit card number from the Third party engine. Similarly we have created one LoadInterceptor that will decrypt the credit card number from the Third party engine.
Interceptor beans in customextension-spring.xml file:
<property name="interceptor" ref="creditCardPaymentInfoPrepareInterceptor"/> <property name="typeCode" value="CreditCardPaymentInfo"/> <property name="interceptor" ref="creditCardPaymentInfoLoadInterceptor"/> <property name="typeCode" value="CreditCardPaymentInfo"/>
The interceptors are getting called while creating/viewing the credit cards from the storefront(checkout process) and hmc.
Issue: The interceptors are not getting called when we import the impex for CreditCardPaymenInfo and hence the credit card number got saved as a plain text in database. Also, impex.legacy.mode is false but still the issue persists.