Gocardlex.Behaviour.Customer behaviour (gocardlex v1.1.0)
Public API for Gocardless
Summary
Callbacks
Creates a new Customer
Gets a Customer based on their ID in GoCardless
Lists Customers from GoCardless
Updates a Customer based on their ID in GoCardless
Callbacks
Creates a new Customer
Examples
iex> params = %{
email: "name@email.com",
given_name: "Firstname",
family_name: "Lastname",
country_code: "GB"
}
iex> Gocardlex.Client.create_customer(%{customers: params})
{:ok,
%{"customers" => %{"address_line1" => nil, "address_line2" => nil,
"address_line3" => nil, "city" => nil, "company_name" => nil,
"country_code" => "GB", "created_at" => "2017-06-23T13:04:45.459Z",
"email" => "name@email.com", "family_name" => "Lastname",
"given_name" => "Firstname", "id" => "CU00099999999", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil}}}
Gets a Customer based on their ID in GoCardless
Examples
iex> Gocardlex.Client.get_customer("CU000999999998")
{:ok,
%{"customers" => %{"address_line1" => nil, "address_line2" => nil,
"address_line3" => nil, "city" => nil, "company_name" => nil,
"country_code" => "GB", "created_at" => "2017-06-23T10:47:22.248Z",
"email" => "name@email.com", "family_name" => "Lastname",
"given_name" => "Firstname", "id" => "CU000999999998", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil}}}
Lists Customers from GoCardless
Examples
iex> Gocardlex.Client.list_customers()
{:ok,
%{"customers" => [%{"address_line1" => nil, "address_line2" => nil,
"address_line3" => nil, "city" => nil, "company_name" => nil,
"country_code" => "GB", "created_at" => "2017-06-23T10:47:22.248Z",
"email" => "name@email.com", "family_name" => "Lastname",
"given_name" => "Firstname", "id" => "CU000999999997", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil},
%{"address_line1" => nil, "address_line2" => nil, "address_line3" => nil,
"city" => nil, "company_name" => nil, "country_code" => "GB",
"created_at" => "2017-06-22T17:11:04.112Z",
"email" => "name@email.com", "family_name" => "Lastname2",
"given_name" => "Firstname2", "id" => "CU000999999998", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil}],
"meta" => %{"cursors" => %{"after" => nil, "before" => nil}, "limit" => 50}}}
iex> Gocardlex.Client.list_customers(%{"created_at[gt]" => "2017-06-22T17:18:06.000Z"})
{:ok,
%{"customers" => [%{"address_line1" => nil, "address_line2" => nil,
"address_line3" => nil, "city" => nil, "company_name" => nil,
"country_code" => "GB", "created_at" => "2017-06-23T10:47:22.248Z",
"email" => "name@email.com", "family_name" => "Lastname",
"given_name" => "Firstname", "id" => "CU000999999997", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil}],
"meta" => %{"cursors" => %{"after" => nil, "before" => nil}, "limit" => 50}}}
Updates a Customer based on their ID in GoCardless
Examples
iex> params = %{email: "new@email.com"}
iex> Gocardlex.Client.update_customer("CU000999999998", %{customers: params})
{:ok,
%{"customers" => %{"address_line1" => nil, "address_line2" => nil,
"address_line3" => nil, "city" => nil, "company_name" => nil,
"country_code" => "GB", "created_at" => "2017-06-23T13:04:45.459Z",
"email" => "new@email.com", "family_name" => "Lastname",
"given_name" => "Firstname", "id" => "CU000999999998", "language" => "en",
"metadata" => %{}, "postal_code" => nil, "region" => nil,
"swedish_identity_number" => nil}}}