A (very) simple interface to opennode.co - more to come if this gets wings.
The package can be installed by adding opennodex
to your list of dependencies in mix.exs
:
def deps do
[
{:opennodex, "~> 0.6.0"}
]
end
API Documentation is also available at https://hexdocs.pm/opennodex.
You can set a default api key and alternative request module via the configuration:
config :opennodex,
request: OpenNodex.Request,
api_key: "api_key"
Create a $99 charge, with callback and success URLs:
OpenNodex.Client.new("[your api_key here]")
|> OpenNodex.create_charge(99, %{currency: "USD", callback_url: "https://example.com/callback", success_url: "https://example.com/success"})
Will return an {:ok, %Charge{id: ...}}
upon success or {:error, ...}
on failure.
A MockRequest module has been supplied, and is interchangeable with the default Request module. By configuring the request to use the MockRequest module instead, you can test your app without side-effects or external service dependencies. Also, you can replace the stock request library for your own.
As an example, you can place the following in your config.exs (or config/test.exs
) in order to override the request module when tests are run.
config :opennodex,
request: OpenNodex.MockRequest
- Phoenix integration for the callback events.