Packages

Elixir client library to <https://api.securionpay.com>.

Current section

Files

Jump to
securion lib card.ex
Raw

lib/card.ex

defmodule Securion.Card do
@moduledoc """
CRUD operations for payment cards.
## Prelude to the examples
iex> customer_id = Securion.Customer.create("foo@example.com")
iex> token_id = Securion.Token.create()
"""
use Ecto.Schema
alias Securion.Resource
defp url(customer_id, id \\ nil) do
base_path = "/customers/" <> customer_id
case id do
nil -> base_path
_ -> base_path <> "/cards/" <> id
end
end
@doc """
[https://securionpay.com/docs/api#card-retrieve]()
Retrieves an existing card object.
## Examples
iex> Securion.Card.create(customer_id, token_id)
"""
def get(customer_id, id) do
Resource.fetch(url(customer_id, id), [])
end
@doc """
Creates a new card object.
## Examples
"""
def create(customer_id, token_id) do
Resource.create(url(customer_id), %{id: token_id})
end
def update(customer_id, id, params) do
Resource.update(url(customer_id, id), params)
end
def delete(customer_id, id) do
Resource.delete(url(customer_id, id))
end
end