Omise.Charge (omise v0.9.0)
Provides Charge API interfaces.
Link to this section Summary
Functions
Capture a charge.
Create a charge.
List all charges.
List all refunds.
List all charge schedules.
Create a refund.
Retrieve a charge.
Retrieve a refund.
Reverse an uncaptured charge.
Search all the charges.
Update a charge.
Link to this section Types
Specs
t() :: %Omise.Charge{
amount: String.t(),
authorize_uri: String.t(),
authorized: boolean(),
branch: String.t(),
capturable: boolean(),
capture: boolean(),
captured: boolean(),
card: Omise.Card.t(),
created: String.t(),
currency: String.t(),
customer: String.t(),
description: String.t(),
device: String.t(),
disputable: boolean(),
dispute: Omise.Dispute.t(),
expired: boolean(),
expired_at: String.t(),
expires_at: String.t(),
failure_code: String.t(),
failure_message: String.t(),
fee: integer(),
fee_vat: integer(),
funding_amount: integer(),
funding_currency: String.t(),
id: String.t(),
installment_terms: integer(),
interest: integer(),
interest_vat: integer(),
ip: String.t(),
link: String.t(),
livemode: boolean(),
location: String.t(),
metadata: map(),
net: integer(),
object: String.t(),
offline: map(),
offsite: String.t(),
paid: boolean(),
platform_fee: integer(),
reference: String.t(),
refundable: boolean(),
refunded: String.t(),
refunded_amount: integer(),
refunds: Omise.List.t(),
return_uri: String.t(),
reversed: boolean(),
reversible: boolean(),
schedule: String.t(),
source: Omise.Source.t(),
source_of_fund: String.t(),
status: String.t(),
terminal: String.t(),
transaction: String.t(),
zero_interest_installments: boolean()
}
Link to this section Functions
capture(id, opts \\ [])
Specs
capture(String.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Capture a charge.
Returns {:ok, charge} if the request is successful, {:error, error} otherwise.
NOTE:
If you have created a charge and passed capture=false you'll have an authorized only charge that you can capture at a later time.
You can hold it for as long as permitted by the issuing bank. This delay may vary between cards from 1 to 30 days.
Examples
Omise.Charge.capture("chrg_test_4xso2s8ivdej29pqnhz")
create(params, opts \\ [])
Specs
create(Keyword.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Create a charge.
Returns {:ok, charge} if the request is successful, {:error, error} otherwise.
Request Parameters:
customer- (required or optional) A validCUSTOMER_IDthat has at least one card already associated. By default the default card of the customer will be used. This parameter is required unless passing aTOKEN_IDin the card parameter.card- (required or optional) A valid unusedTOKEN_IDorCARD_ID. In the case of theCARD_IDthe customer parameter must be present and be the owner of the card. For theTOKEN_ID, the customer must not be passed.amount- (required) The amount in the smallest subunits of the currency used. For thb (Thai Baht) you'll need to pass the amount in satangs.currency- (required) The currency in which you want the charge to be done. The default and only valid value is thb.description- (optional) A custom description for the charge. This value can be searched for in your dashboard.capture- (optional) Whether or not you want the charge to be captured right away, when not specified it is set to true.return_uri- (optional) The url where we will return the customer after the charge has been authorized with 3-D Secure.
Examples
# Charge a card using a token.
Omise.Charge.create(
amount: 1000_00,
currency: "thb",
card: "tokn_test_51w6fvilnsxalda4cih"
)
# Charge a card using a customer.
Omise.Charge.create(
amount: 1000_00,
currency: "thb",
customer: "cust_test_51vtchzn51al0jaa92q"
)
# Charge a card using a customer and a card.
Omise.Charge.create(
amount: 1000_00,
currency: "thb",
customer: "cust_test_51vtchzn51al0jaa92q",
card: "card_test_51w6jblhhpzmc2g8bcm"
)
# Create an internet banking charge
Omise.Charge.create(
amount: 1000_00,
currency: "thb",
return_uri: "https://example.com/orders/123/complete",
source: "src_test_59vbms154ab4pe4jh2i"
)
# Create a bill payment charge
Omise.Charge.create(
amount: 1000_00,
currency: "thb",
source: "src_test_59vb8av645gxw48glui"
)
list(params \\ [], opts \\ [])
Specs
list(Keyword.t(), Keyword.t()) :: {:ok, Omise.List.t()} | {:error, Omise.Error.t()}
List all charges.
Returns {:ok, charges} if the request is successful, {:error, error} otherwise.
Query Parameters:
offset- (optional, default: 0) The offset of the first record returned.limit- (optional, default: 20, maximum: 100) The maximum amount of records returned.from- (optional, default: 1970-01-01T00:00:00Z, format: ISO 8601) The UTC date and time limiting the beginning of returned records.to- (optional, default: current UTC Datetime, format: ISO 8601) The UTC date and time limiting the end of returned records.
Examples
Omise.Charge.list
Omise.Charge.list(limit: 10)
list_refunds(id, params \\ [], opts \\ [])
Specs
list_refunds(String.t(), Keyword.t(), Keyword.t()) :: {:ok, Omise.List.t()} | {:error, Omise.Error.t()}
List all refunds.
Returns {:ok, refunds} if the request is successful, {:error, error} otherwise.
Query Parameters:
offset- (optional, default: 0) The offset of the first record returned.limit- (optional, default: 20, maximum: 100) The maximum amount of records returned.from- (optional, default: 1970-01-01T00:00:00Z, format: ISO 8601) The UTC date and time limiting the beginning of returned records.to- (optional, default: current UTC Datetime, format: ISO 8601) The UTC date and time limiting the end of returned records.
Examples
Omise.Charge.list_refunds("chrg_test_52oo08bwpgnwb95rye8")
list_schedules(params \\ [], opts \\ [])
Specs
list_schedules(Keyword.t(), Keyword.t()) :: {:ok, Omise.List.t()} | {:error, Omise.Error.t()}
List all charge schedules.
Returns {:ok, schedules} if the request is successful, {:error, error} otherwise.
Query Parameters:
offset- (optional, default: 0) The offset of the first record returned.limit- (optional, default: 20, maximum: 100) The maximum amount of records returned.from- (optional, default: 1970-01-01T00:00:00Z, format: ISO 8601) The UTC date and time limiting the beginning of returned records.to- (optional, default: current UTC Datetime, format: ISO 8601) The UTC date and time limiting the end of returned records.
Examples
Omise.Charge.list_schedules
refund(id, params, opts \\ [])
Specs
refund(String.t(), Keyword.t(), Keyword.t()) :: {:ok, Omise.Refund.t()} | {:error, Omise.Error.t()}
Create a refund.
Returns {:ok, refund} if the request is successful, {:error, error} otherwise.
Request Parameters:
amount- The amount in the smallest subunits of the currency used. So for thb (Thai Baht) you'll need to pass the amount in satangs.
Examples
Omise.Charge.refund("chrg_test_520jim7x8u6t4si58va", amount: 100_00)
retrieve(id, opts \\ [])
Specs
retrieve(String.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Retrieve a charge.
Examples
Omise.Charge.retrieve("chrg_test_4xso2s8ivdej29pqnhz")
retrieve_refund(id, refund_id, opts \\ [])
Specs
retrieve_refund(String.t(), String.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Retrieve a refund.
Returns {:ok, refund} if the request is successful, {:error, error} otherwise.
Examples
Omise.Charge.retrieve_refund("chrg_test_520jim7x8u6t4si58va", "rfnd_test_4zgf1d7jcw5kr123puq")
reverse(id, opts \\ [])
Specs
reverse(String.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Reverse an uncaptured charge.
Returns {:ok, charge} if the request is successful, {:error, error} otherwise.
NOTE:
If you have created a charge and passed capture=false,
you'll have an authorized only charge that can be reversed, release hold money, at a later time.
Examples
Omise.Charge.reverse("chrg_test_4xso2s8ivdej29pqnhz")
search(params \\ [], opts \\ [])
Specs
search(Keyword.t(), Keyword.t()) :: {:ok, Omise.Search.t()} | {:error, Omise.Error.t()}
Search all the charges.
Returns {:ok, charges} if the request is successful, {:error, error} otherwise.
Query Parameters:
<https://www.omise.co/search-query-and-filters>Examples
Omise.Charge.search(filters: [paid: true])
Omise.Charge.search(query: "omise")
update(id, params, opts \\ [])
Specs
update(String.t(), Keyword.t(), Keyword.t()) :: {:ok, t()} | {:error, Omise.Error.t()}
Update a charge.
Returns {:ok, charge} if the request is successful, {:error, error} otherwise.
Request Parameters:
description- (optional) A custom description for the charge. This value can be searched for in your dashboard.
Examples
Omise.Charge.update("chrg_test_4xso2s8ivdej29pqnhz",
description: "The funny thing is that when I am okay, oh it makes me wish for rain")