Wrapper to connect with https://api.conekta.io.
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"}
]
endAdd your keys in your config.exs file
# config.exs
config :conekta,
publickey: "YOUR-PUBLIC-KEY",
privatekey: "YOUR-PRIVATE-KEY"Get all current customers
#Get the last
Conekta.Customers.customers()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 a customer by passing the unique ID
Conekta.Customers.find(id)Delete a customer by passing the unique ID
Conekta.Customers.delete(id)Conekta.Orders.orders()#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)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} -> ...
endIf you want to add something new, make sure all the tests pass before making a PR
mix testI would love to check new contributions to this repository. Fork from dev and do a PR into dev again.
Available with MIT License.