Class 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)
    • 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 interface com.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 in paymentInfo.
        Parameters:
        paymentInfo - the information about payment
        applicationId - the application id
        tenantId - 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 payment
        applicationId - the id for the current application
        tenantId - 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 interface com.broadleafcommerce.paymentgateway.service.PaymentGatewayTypeAware