Skip to content

kdaker/conekta-elixir

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: "[email protected]",
  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.

About

Elixir library for Conekta api calls

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 100.0%