Skip to content

Omise Client Library for Elixir

License

Notifications You must be signed in to change notification settings

omise/omise-elixir

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Omise Elixir Client

Build Status Hex.pm Coverage Status

Opn Payments for Elixir

Installation

First, add omise to your list of dependencies in mix.exs:

def deps do
  [{:omise, "~> 0.10.0"}]
end

Then update your dependencies with:

$ mix deps.get

Configuration

Set the following configuration variables in config/config.exs:

config :omise,
  public_key: "pkey_test_xxx",
  secret_key: "skey_test_xxx"

Or manually configure at runtime:

Omise.configure(public_key: "pkey_test_xxx", secret_key: "skey_test_xxx")

To configure the HTTP options, you could optionally add the :http_options key to the Opn Payments configuration. For a full list of the available options, please check HTTPoison documentation.

config :omise,
  http_options: [timeout: 60_000, recv_timeout: 60_000]

Example

charge_params = [amount: 100_00, currency: "thb", card: "tokn_xxx"]

with {:ok, %Omise.Charge{paid: true}} <- Omise.Charge.create(charge_params) do
  # handle success
  IO.puts "Thank you :)"
else
  {:ok, %Omise.Charge{failure_code: failure_code}} ->
    # handle failure

  {:error, %Omise.Error{code: code, message: message}} ->
    # handle error
end

You can also set a per-request key and API version when making an API call:

Omise.Charge.list([], key: "skey_test_xxx", api_version: "2015-11-17")

Omise.Charge.retrieve("chrg_test_4yq7duw15p9hdrjp8oq", key: "skey_test_xxx")

Omise.Charge.create([
  amount: 1000_00,
  currency: "thb",
  customer: "cust_test_xxx"
], key: "skey_test_xxx")

Development

  • Install all dependencies with mix deps.get
  • Run tests with mix test

Documentation