ConektaEx
Conekta API Client for Elixir
Installation
-
Add
conekta_exto deps inmix.exs:
def deps do
[
{:conekta_ex, "~> 0.1.0"}
]
end-
Add your
private_keyto your config fileconfig :conekta_ex, :private_key, "PRIVATE_KEY"
Usage
ConektaEx.X.retrieve
ConektaEx.X.create
ConektaEx.X.update
ConektaEx.X.delete
ConektaEx.X.SUBMODEL_FN #Customer.create_source, Order.create_charge
Returns {:ok, %ConektaEx.X{}} when everything goes ok.
Returns {:error, %ConektaEx.Error{}} when the api returns an error.
raise on request error (bad request, timeout) all functions have an opts
param to change timeout opts = [timeout: 15_000, recv_timeout: 15_000] #defaults.
Webhooks
When using webhooks, you will have to handle different event types.
{:ok, event} = ConektaEx.Event.decode(json)
case Map.get(event, :type) do
"charge.paid" ->
do_something(:charge_paid, event)
"charge.refunded" ->
do_something(:charge_refunded, event)
"subscription.paid" ->
do_something(:subscription_paid, event)
"subscription.payment_failed" ->
do_something(:subscription_payment_failed, event)
end