class RemotePaymentInitiationService implements PaymentInitiationService {

    @Override
    public Response<Authorisations> getPaymentInitiationAuthorisation(PaymentService paymentService,
                                                                      PaymentProduct paymentProduct,
                                                                      String paymentId,
                                                                      RequestHeaders requestHeaders,
                                                                      RequestParams requestParams) {
        ResponseEntity<Authorisations> responseEntity = client.getPaymentInitiationAuthorisation(
            paymentService,
            paymentProduct,
            paymentId,
            requestParams.toMap(),
            requestHeaders.toMap());
        return new Response<>(responseEntity.getStatusCodeValue(),
            responseEntity.getBody(),
            responseHeadersMapper.getHeaders(responseEntity.getHeaders()));
    }

    public  RemotePaymentInitiationService(PaymentInitiationClient paymentInitiationClient);
    public  RemotePaymentInitiationService(PaymentInitiationClient paymentInitiationClient, ObjectMapper objectMapper);

}