Checkout constructor

Checkout({
  1. bool testing = false,
  2. BaseTokensRepository? tokensRepository,
  3. BaseCustomerRepository? customerRepository,
  4. BasePaymentsRepository? paymentsRepository,
  5. BaseInstrumentRepository? instrumentRepository,
  6. required String secretKey,
  7. required String publicKey,
})

Implementation

Checkout(
    {bool testing = false,
    BaseTokensRepository? tokensRepository,
    BaseCustomerRepository? customerRepository,
    BasePaymentsRepository? paymentsRepository,
    BaseInstrumentRepository? instrumentRepository,
    required String secretKey,
    required String publicKey}) {
  final secretHeaders = {
    'Content-Type': 'Application/json',
    'Authorization': secretKey,
  };

  final publicHeaders = {
    'Content-Type': 'Application/json',
    'Authorization': publicKey,
  };

  if (customerRepository == null) {
    this.customerRepository = HttpCustomersRepository(
        apiBase: testing ? ApiBase(testingUrl) : ApiBase(testingUrl),
        headers: secretHeaders);
  } else {
    this.customerRepository = customerRepository;
  }
  if (instrumentRepository == null) {
    this.instrumentRepository = HttpInstrumentRepository(
        apiBase: testing ? ApiBase(testingUrl) : ApiBase(testingUrl),
        headers: secretHeaders);
  } else {
    this.instrumentRepository = instrumentRepository;
  }
  if (tokensRepository == null) {
    this.tokensRepository = HttpTokensRepository(
        apiBase: testing ? ApiBase(testingUrl) : ApiBase(testingUrl),
        headers: publicHeaders);
  } else {
    this.tokensRepository = tokensRepository;
  }
  if (paymentsRepository == null) {
    this.paymentsRepository = HttpPaymentsRepository(
        apiBase: testing ? ApiBase(testingUrl) : ApiBase(testingUrl),
        tokensRepo: this.tokensRepository,
        headers: secretHeaders);
  } else {
    this.paymentsRepository = paymentsRepository;
  }
}