Junex.Client (Junex v0.1.0) View Source
Main Module! Defines all possible functions to call Juno API
Link to this section Summary
Functions
Returns the latest charge status
Returns a new client to perform other requests!
Creates and return a new charge
Creates and returns a new Payment
Return you current balance!
Return a card_info map to use on Junex.Client.get_payment_info/2
Return a new charge_billing_info map to be used on Junex.Client.create_charges/4
Retuns a charge_info map with installments == 1 to be used on Junex.Client.create_charges/4
Returns a charge_info map to be used on Junex.Client.create_charges/2
Returns a payment_billing_info map to use on Junex.Client.get_payment_info/2
Returns a payment_info map to be used on Junex.Client.create_payment/3
List all possible banks for Juno transfers
Link to this section Types
Specs
card_info() :: %{creditCardHash: String.t()}
Specs
Specs
Specs
Specs
payment_info() :: %{ chargeId: String.t(), billing: payment_billing_info(), creditCardDetails: card_info() }
Specs
Link to this section Functions
Specs
check_charge_status( %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}, String.t(), atom() ) :: {:ok, map()}
Returns the latest charge status
Parameters
- client: Got from Junex.Client.create/2
- charge_id: One of results do Junex.Client.create_charges/4
- mode: :prod | :sandbox
Specs
create(String.t(), String.t()) :: {:ok, %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}}
Returns a new client to perform other requests!
Params
- access_token: Got from Junex.Auth.get_access_token
- resource_token: You can generate one on your Juno's account, is the "Private Token"
Examples
iex> Junex.Client.create("access_token", "resource_token")
Specs
create_charges( %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}, total_charge_info() | charge_info(), charge_billing_info(), atom() ) :: {:ok, map()} | {:error, atom() | String.t() | {atom(), atom()}}
Creates and return a new charge
Parameters
- client: Got from Junex.Client.create/2
- charge_info: Build mannualy or generated with Junex.Client.get_charge_info/3 or /4
- billing: Build mannualy or generated with Junex.Client.get_charge_billing_info/4
- mode: :prod | :sandbox
Specs
create_payment( %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}, payment_info(), atom() ) :: {:ok, map()} | {:error, atom() | String.t() | {atom(), atom()}}
Creates and returns a new Payment
Parameters
- client: Got from Junex.Client.create/2
- payment_info: Build mannualy or got from Junex.Client.get_payment_info/3
- mode: :prod | :sandbox
Specs
get_balance( %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}, atom() ) :: {:ok, map()} | {:error, atom()}
Return you current balance!
Parameters
- client: Get from Junex.Client.create/2
- mode: :prod | :sandbox
Examples
iex> Junex.Client.getbalance(client, :sandbox) {:ok, %{"links" => , "balance" => , "transferableBalance" => , "withheldBalance" => _}}
Specs
Return a card_info map to use on Junex.Client.get_payment_info/2
Specs
get_charge_billing_info(String.t(), String.t(), String.t(), String.t()) :: charge_billing_info()
Return a new charge_billing_info map to be used on Junex.Client.create_charges/4
Specs
get_charge_info(String.t(), String.t(), float()) :: charge_info()
Retuns a charge_info map with installments == 1 to be used on Junex.Client.create_charges/4
Specs
get_charge_info(String.t(), integer(), String.t(), float()) :: total_charge_info()
Returns a charge_info map to be used on Junex.Client.create_charges/2
get_payment_billing_info(email, street, st_number, compl, city, state, post_code)
View SourceSpecs
get_payment_billing_info( String.t(), String.t(), integer(), String.t(), String.t(), String.t(), String.t() ) :: payment_billing_info()
Returns a payment_billing_info map to use on Junex.Client.get_payment_info/2
Specs
get_payment_info(String.t(), card_info(), payment_billing_info()) :: payment_info()
Returns a payment_info map to be used on Junex.Client.create_payment/3
Parameters
- charge_id: Result of one entries of Junex.Client.create_charges/4
- card_info: Build mannualy or got from Junex.Client.get_card_info/1
- payment_billing_info: Build mannually or got from Junex.Client.get_payment_billing_info/7
Specs
list_banks( %Tesla.Client{adapter: term(), fun: term(), post: term(), pre: term()}, atom() ) :: {:ok, [map()]} | {:error, atom() | String.t() | {atom(), atom()}}
List all possible banks for Juno transfers
Parameters
- client: from Junex.Client.create/2
- mode: :prod | :sandbox
Examples
iex> Junex.Client.list_banks(client, :sandbox) {:ok, [%{"name" => "", "number" => ""}]}