Elixir library for Conekta api calls
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
config
lib
test
.gitignore
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
mix.exs
mix.lock

README.md

Build Status

Conekta Library

Wrapper to connect with https://api.conekta.io.

conekta-elixir documentation

Setup

Installation

Add Conekta to your mix.exs dependencies:

#mix.exs
defp deps do
  [
    #If you have trouble with poison add
    #{:poison, "~> 3.1", override: true}
    {:conekta, "~> 1.0"}
  ]
end

Configuration

Add your keys in your config.exs file

# config.exs
config :conekta,
  publickey: "YOUR-PUBLIC-KEY",
  privatekey: "YOUR-PRIVATE-KEY"

Customers

Get

Get all current customers

#Get the last
Conekta.Customers.customers()

Create

Create a customer by passing a %Conekta.Customer{} struct

#Create a new customer map
new_customer = %Customer{
  name: "Fake Name",
  email: "fake@email.com",
  corporate: true,
  payment_sources: [%{
      token_id: "tok_test_visa_4242",
      type: "card"
  }]
}

#Create a new customer
Conekta.Customers.create(new_customer)

Find

Find a customer by passing the unique ID

Conekta.Customers.find(id)

Delete

Delete a customer by passing the unique ID

Conekta.Customers.delete(id)

Orders

Get

Conekta.Orders.orders()

Create

#Create a new order map
new_order = %Order{currency: "MXN",
customer_info: %{
    customer_id: content.id
}, line_items: [%{
    name: "Product 1",
    unit_price: 35000,
    quantity: 1
}], charges: [%{
    payment_method: %{
        type: "default"
    }
}]}

#Create an order
response = Conekta.Orders.create(new_order)

WebHooks

Helper function for webhook handling. check possible events

case Conekta.WebHook.received(params) do
  {:charge_created, struct} -> ...
  {:charge_paid, struct} -> ...
  {:plan_created, struct} -> ...
  {:customer_created, struct} -> ...
  {:subscription_created, struct} -> ...
  {:subscription_paid, struct} -> ...
  {:subscription_canceled, struct} -> ...
  {:chargeback_created, struct} -> ...
  {:chargeback_lost, struct} -> ...
end

Test

If you want to add something new, make sure all the tests pass before making a PR

mix test

Send pull request

I would love to check new contributions to this repository. Fork from dev and do a PR into dev again.

License

Developed by Jorge Chavez. Available with MIT License.