Current section

Files

Jump to
ex_paystack lib ex_paystack.ex
Raw

lib/ex_paystack.ex

defmodule ExPaystack do
alias PaystackBase
@moduledoc """
Documentation for `ExPaystack`.
"""
@moduledoc since: "0.0.1"
@doc """
Setup
mix.exs
`{:ex_paystack, "~> 0.1.0"}`
mix deps.get
config.exs
config :ex_paystack,
secret_key: "PAYSTACK_SECRET_KEY"
"""
@doc """
List transactions.
## Examples
iex> ExPaystack.list_transactions()
"""
def list_transactions(url_params \\ %{}) do
PaystackBase.api_call("/transaction", :get, url_params)
end
def verify_payment(reference) do
PaystackBase.api_call("/transaction/verify/#{reference}", :get)
end
def initialize(params) do
PaystackBase.api_call("/transaction/initialize", :post, params)
end
@spec fetch_transaction(any) ::
{:error, any}
| {:ok,
%{
:body =>
false
| nil
| true
| binary
| [false | nil | true | binary | list | number | {any, any, any} | map]
| number
| %{
optional(atom | binary | {any, any, any}) =>
false | nil | true | binary | list | number | {any, any, any} | map
},
:status_code => any,
optional(any) => any
}}
def fetch_transaction(id) do
PaystackBase.api_call("/transaction/#{id}", :get)
end
def charge_authorization(params) do
PaystackBase.api_call("/transaction/charge_authorization", :post, params)
end
def check_authorization(params) do
PaystackBase.api_call("/transaction/charge_authorization", :post, params)
end
def check_authorization(params) do
PaystackBase.api_call("/transaction/charge_authorization", :post, params)
end
def total_transactions(params \\ %{}) do
PaystackBase.api_call("/transaction/totals", :get, params)
end
def export_transactions(params \\ %{}) do
PaystackBase.api_call("/transaction/export", :get, params)
end
def partial_debit(params \\ %{}) do
PaystackBase.api_call("/transaction/partial_debit", :get, params)
end
end