Class ExternalVerifoneProvider

    • Constructor Detail

      • ExternalVerifoneProvider

        public ExternalVerifoneProvider​(org.springframework.web.reactive.function.client.WebClient webClient,
                                        com.fasterxml.jackson.databind.ObjectMapper objectMapper,
                                        ExternalVerifoneProviderProperties properties,
                                        VerifoneAuthProvider verifoneAuthProvider)
    • Method Detail

      • authorizeTransaction

        public Map<String,​Object> authorizeTransaction​(@NonNull
                                                             @NonNull Map<String,​Object> bodyParams,
                                                             @Nullable
                                                             String applicationId,
                                                             @Nullable
                                                             String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.AUTHORIZE transactions.
        Specified by:
        authorizeTransaction in interface VerifoneProvider
        Parameters:
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • authorizeAndCaptureTransaction

        public Map<String,​Object> authorizeAndCaptureTransaction​(@NonNull
                                                                       @NonNull Map<String,​Object> bodyParams,
                                                                       @Nullable
                                                                       String applicationId,
                                                                       @Nullable
                                                                       String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.AUTHORIZE_AND_CAPTURE transactions.
        Specified by:
        authorizeAndCaptureTransaction in interface VerifoneProvider
        Parameters:
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • reverseAuthorizeTransaction

        public Map<String,​Object> reverseAuthorizeTransaction​(@NonNull
                                                                    @NonNull String transactionId,
                                                                    @Nullable
                                                                    String applicationId,
                                                                    @Nullable
                                                                    String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.REVERSE_AUTH transactions.
        Specified by:
        reverseAuthorizeTransaction in interface VerifoneProvider
        Parameters:
        transactionId - the transaction id to reverse
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • captureTransaction

        public Map<String,​Object> captureTransaction​(@NonNull
                                                           @NonNull String transactionId,
                                                           @NonNull
                                                           @NonNull Map<String,​Object> bodyParams,
                                                           @Nullable
                                                           String applicationId,
                                                           @Nullable
                                                           String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.CAPTURE transactions.
        Specified by:
        captureTransaction in interface VerifoneProvider
        Parameters:
        transactionId - the transaction id to capture
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • refundTransaction

        public Map<String,​Object> refundTransaction​(@NonNull
                                                          @NonNull String transactionId,
                                                          @NonNull
                                                          @NonNull Map<String,​Object> bodyParams,
                                                          @Nullable
                                                          String applicationId,
                                                          @Nullable
                                                          String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.REFUND transactions. The transaction status should be SETTLEMENT_COMPLETED.
        Specified by:
        refundTransaction in interface VerifoneProvider
        Parameters:
        transactionId - the transaction id to reverse
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • voidTransaction

        public Map<String,​Object> voidTransaction​(@NonNull
                                                        @NonNull String transactionId,
                                                        @Nullable
                                                        String applicationId,
                                                        @Nullable
                                                        String tenantId)
        Description copied from interface: VerifoneProvider
        Executes the DefaultTransactionTypes.REFUND transactions. The transaction status should be SETTLEMENT_REQUESTED.
        Specified by:
        voidTransaction in interface VerifoneProvider
        Parameters:
        transactionId - the transaction id to reverse
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • createUpdateToken

        public Map<String,​Object> createUpdateToken​(@NonNull
                                                          @NonNull Map<String,​Object> bodyParams,
                                                          @Nullable
                                                          String applicationId,
                                                          @Nullable
                                                          String tenantId)
        Description copied from interface: VerifoneProvider
        Create/Update a token using the Verifone Tokenisation Service.
        Specified by:
        createUpdateToken in interface VerifoneProvider
        Parameters:
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • updateToken

        public Map<String,​Object> updateToken​(@NonNull
                                                    @NonNull String id,
                                                    @NonNull
                                                    @NonNull Map<String,​Object> bodyParams,
                                                    @Nullable
                                                    String applicationId,
                                                    @Nullable
                                                    String tenantId)
        Description copied from interface: VerifoneProvider
        Updates a token using the Verifone Tokenisation Service.
        Specified by:
        updateToken in interface VerifoneProvider
        Parameters:
        id - the reuse token to update
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • deleteToken

        public void deleteToken​(@NonNull
                                @NonNull String id,
                                @Nullable
                                String applicationId,
                                @Nullable
                                String tenantId)
        Description copied from interface: VerifoneProvider
        Deletes a token using the Verifone Tokenisation Service.
        Specified by:
        deleteToken in interface VerifoneProvider
        Parameters:
        id - the reuse token to delete
        applicationId - the application id
        tenantId - the tenant id
      • initiateWalletPayment

        public Map<String,​Object> initiateWalletPayment​(@NonNull
                                                              @NonNull Map<String,​Object> bodyParams,
                                                              @Nullable
                                                              String applicationId,
                                                              @Nullable
                                                              String tenantId)
        Description copied from interface: VerifoneProvider
        Initiate a wallet payment using Google Pay or Apple Pay.
        Specified by:
        initiateWalletPayment in interface VerifoneProvider
        Parameters:
        bodyParams - the request body
        applicationId - the application id
        tenantId - the tenant id
        Returns:
        the response from Verifone API
      • executeTransactionRequest

        protected Map<String,​Object> executeTransactionRequest​(@NonNull
                                                                     @NonNull String url,
                                                                     @Nullable
                                                                     String applicationId,
                                                                     @Nullable
                                                                     String tenantId)
      • getApiUrlBuilder

        protected org.springframework.web.util.UriComponentsBuilder getApiUrlBuilder()