Class VerifonePaymentModificationService
- java.lang.Object
-
- com.broadleafcommerce.vendor.verifone.service.AbstractVerifoneTokenService
-
- com.broadleafcommerce.vendor.verifone.service.VerifonePaymentModificationService
-
- All Implemented Interfaces:
com.broadleafcommerce.paymentgateway.service.PaymentGatewayPaymentModificationService
,com.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware
public class VerifonePaymentModificationService extends AbstractVerifoneTokenService implements com.broadleafcommerce.paymentgateway.service.PaymentGatewayPaymentModificationService
The default implementation to exchange the encrypted card for a reuse token that can be used to execute the payment transactions.- Author:
- Dima Myroniuk (dmyroniuk)
-
-
Constructor Summary
Constructors Constructor Description VerifonePaymentModificationService(VerifoneProvider verifoneProvider, VerifoneConfigurationProperties properties)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Map<String,Object>
buildZeroDollarAuthWithDigitalWalletRequest(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, String applicationId, String tenantId)
protected boolean
containsDigitalWalletPayload(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo)
String
getGatewayType()
Map<String,String>
modifyPaymentMethodProperties(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, String applicationId, String tenantId)
protected String
resolvePaymentProviderContract(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, String applicationId, String tenantId)
Resolves the payment provider contract id.protected Map<String,String>
swapDigitalWalletPayloadForReuseToken(@NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, String applicationId, String tenantId)
Communicates with Verifone APIs to convert a wallet payload into a reuse token-
Methods inherited from class com.broadleafcommerce.vendor.verifone.service.AbstractVerifoneTokenService
buildCreateReuseTokenRequest, createReuseToken, getProperties, getVerifoneProvider
-
-
-
-
Constructor Detail
-
VerifonePaymentModificationService
public VerifonePaymentModificationService(VerifoneProvider verifoneProvider, VerifoneConfigurationProperties properties)
-
-
Method Detail
-
modifyPaymentMethodProperties
public Map<String,String> modifyPaymentMethodProperties(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, @Nullable String applicationId, @Nullable String tenantId)
- Specified by:
modifyPaymentMethodProperties
in interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayPaymentModificationService
-
resolvePaymentProviderContract
protected String resolvePaymentProviderContract(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, @Nullable String applicationId, @Nullable String tenantId)
Resolves the payment provider contract id. By default, it returns the payment provider contract id for the specified application and tenant id. If one application has 2 and more PPCId, this method can be overridden with the additional logic to determine the PPCId based on the additional information provided inpaymentInfo
.- Parameters:
paymentInfo
- the information about paymentapplicationId
- the application idtenantId
- the tenant id- Returns:
- the payment provider contract id
-
containsDigitalWalletPayload
protected boolean containsDigitalWalletPayload(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo)
-
swapDigitalWalletPayloadForReuseToken
protected Map<String,String> swapDigitalWalletPayloadForReuseToken(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, @Nullable String applicationId, @Nullable String tenantId)
Communicates with Verifone APIs to convert a wallet payload into a reuse token- Parameters:
paymentInfo
- the information about paymentapplicationId
- the id for the current applicationtenantId
- the id for the current tenant- Returns:
- Reuse token properties
-
buildZeroDollarAuthWithDigitalWalletRequest
protected Map<String,Object> buildZeroDollarAuthWithDigitalWalletRequest(@NonNull @NonNull com.broadleafcommerce.paymentgateway.domain.PaymentInfo paymentInfo, @Nullable String applicationId, @Nullable String tenantId)
-
getGatewayType
public String getGatewayType()
- Specified by:
getGatewayType
in interfacecom.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware
-
-