All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.truelayer.java.mandates.IMandatesHandler Maven / Gradle / Ivy

There is a newer version: 16.0.0
Show newest version
package com.truelayer.java.mandates;

import com.truelayer.java.http.entities.ApiResponse;
import com.truelayer.java.http.entities.Headers;
import com.truelayer.java.mandates.entities.*;
import com.truelayer.java.mandates.entities.mandatedetail.MandateDetail;
import com.truelayer.java.payments.entities.AuthorizationFlowResponse;
import com.truelayer.java.payments.entities.StartAuthorizationFlowRequest;
import com.truelayer.java.payments.entities.SubmitProviderSelectionRequest;
import java.util.concurrent.CompletableFuture;

/**
 * Provides /mandates API integration without the burden of Retrofit's annotation
 * and improve both usability and backward compatibility for the implemented endpoints.
 */
public interface IMandatesHandler {
    CompletableFuture> createMandate(CreateMandateRequest request);

    CompletableFuture> createMandate(Headers headers, CreateMandateRequest request);

    CompletableFuture> startAuthorizationFlow(
            String mandateId, StartAuthorizationFlowRequest request);

    CompletableFuture> startAuthorizationFlow(
            Headers headers, String mandateId, StartAuthorizationFlowRequest request);

    CompletableFuture> submitProviderSelection(
            String mandateId, SubmitProviderSelectionRequest request);

    CompletableFuture> submitProviderSelection(
            Headers headers, String mandateId, SubmitProviderSelectionRequest request);

    CompletableFuture> listMandates();

    CompletableFuture> listMandates(ListMandatesQuery query);

    CompletableFuture> getMandate(String mandateId);

    CompletableFuture> revokeMandate(String mandateId);

    CompletableFuture> revokeMandate(Headers headers, String mandateId);

    CompletableFuture> getConfirmationOfFunds(
            String mandateId, String amount, String currency);

    CompletableFuture> getMandateConstraints(String mandateId);
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy