Base behaviour for payment gateways.
@callback config() :: {:ok, %BasePayment.BaseConfig{ access_token: term(), api_key: term(), api_secret: term(), api_url: term(), currency: term(), environment: term(), locale: term(), version: term() }} | {:error, String.t()}