Awesome
Conekta Library
Wrapper to connect with https://api.conekta.io.
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
Available with MIT License.