README.md

# CheckoutSdk

**TODO: Add description**

## Installation

If [available in Hex](https://hex.pm/docs/publish), the package can be installed
by adding `checkout_sdk` to your list of dependencies in `mix.exs`:

```elixir
def deps do
  [
    {:checkout_sdk, "~> 0.1.0"}
  ]
end
```

Documentation can be generated with [ExDoc](https://github.com/elixir-lang/ex_doc)
and published on [HexDocs](https://hexdocs.pm). Once published, the docs can
be found at <https://hexdocs.pm/checkout_sdk>.


Built tests
consolodate Client down and use Response and no custom code
Build out Response to handle all cases
Add options to return normal responses (i.e. config raw_response: true -> send create customer -> returns customer)
Keep Response handling in CheckoutSdk 
try to find a standard set of objects that can make everyones life easier
Goal:
  params
  |> Requests.build()
  |> Client.post("instruments")
  |> Responses.build(opts)

  {:ok, raw_response}
  or
  {:ok, restful_response}

Update documentation 
  - @doc
  - @moduledoc

Update types

For hard examples
https://api-reference.checkout.com/#operation/requestAPaymentOrPayout

List of customer payment methods (instruments)