PinElixir.Customer
Module handling customer operations
Summary
Functions
Given an email and card_map, creates a customer. The map may contain a card or a card token
Given a customer token, deletes the customer
Retrieves all customers
Given a customer token, retrieves customer details
Functions
Given an email and card_map, creates a customer. The map may contain a card or a card token.
Customer.create("minerva@hogwarts.wiz", %{card_token: "abc_a123" })
OR
card_map = %{
number: 4200000000000000,
expiry_month: "10",
expiry_year: 2016,
cvc: 456,
name: "Rubius Hagrid",
address_line1: "The Game Keepers Cottage",
address_city: "Hogwarts",
address_postcode: "H0G",
address_state: "WA",
address_country: "Straya"
}
Customer.create("rubius@hogwarts.wiz", %{card: card_map})
returns a tuple
{:ok,
%{customer: %{card: %{address_city: "Hogwarts", address_country: "Straya",
address_line1: "The Game Keepers Cottage", address_line2: nil,
address_postcode: "H0G", address_state: "WA",
customer_token: "cus_JVk_KByA5JiIsSPWVKt88Q",
display_number: "XXXX-XXXX-XXXX-0000", expiry_month: 10,
expiry_year: 2016, name: "Rubius Hagrid", primary: true, scheme: "visa",
token: "card_EPh4cn4-fEMeZM_osPz1dg"},
created_at: "2015-11-15T08:40:50Z", email: "hagrid@hogwarts.wiz",
token: "cus_JVk_KByA5JiIsSPWVKt88Q"}}}
OR
{:error, error_map}
Given a customer token, deletes the customer
return a tuple
{:ok}
OR
{:error, error_map}
Retrieves all customers
Returns a tuple
{:ok,
%{customers: [%{card: %{address_city: "Hogwarts", address_country: "Straya",
address_line1: "The Game Keepers Cottage", address_line2: nil,
address_postcode: "H0G", address_state: "WA",
customer_token: "cus_JVk_KByA5JiIsSPWVKt88Q",
display_number: "XXXX-XXXX-XXXX-0000", expiry_month: 10,
expiry_year: 2016, name: "Rubius Hagrid", primary: true, scheme: "visa",
token: "card_EPh4cn4-fEMeZM_osPz1dg"},
created_at: "2015-11-15T08:40:50Z", email: "hagrid@hogwarts.wiz",
token: "cus_JVk_KByA5JiIsSPWVKt88Q"}
],
pagination: %{count: 3, current: 1, next: nil, pages: 1, per_page: 25,
previous: nil}}}
OR
{:error, error_map}
Given a customer token, retrieves customer details
Returns a tuple
{:ok,
%{card: %{address_city: "Hogwarts", address_country: "Straya",
address_line1: "The Game Keepers Cottage", address_line2: nil,
address_postcode: "H0G", address_state: "WA",
customer_token: "cus_JVk_KByA5JiIsSPWVKt88Q",
display_number: "XXXX-XXXX-XXXX-0000", expiry_month: 10, expiry_year: 2016,
name: "Rubius Hagrid", primary: true, scheme: "visa",
token: "card_EPh4cn4-fEMeZM_osPz1dg"}, created_at: "2015-11-15T08:40:50Z",
email: "hagrid@hogwarts.wiz", token: "cus_JVk_KByA5JiIsSPWVKt88Q"}}
OR
{:error, error_map}