omise v0.4.2 Omise.Charge
Provides Charge API interfaces.
https://www.omise.co/charges-api
Summary
Functions
Capture a charge
Create a charge
List all charges
Retrieve a charge
Reverse an uncaptured charge
Search all the charges
Update a charge
Types
t() :: %Omise.Charge{amount: integer, authorize_uri: String.t, authorized: boolean, capture: boolean, captured: boolean, card: Omise.Card.t, created: String.t, currency: String.t, customer: String.t, description: String.t, dispute: Omise.Dispute.t, failure_code: String.t, failure_message: String.t, id: String.t, ip: String.t, livemode: boolean, location: String.t, object: String.t, paid: boolean, reference: String.t, refunded: integer, refunds: Omise.List.t, return_uri: String.t, reversed: boolean, status: String.t, transaction: String.t}
Functions
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 a charge.
Returns {:ok, charge}
if the request is successful, {:error, error}
otherwise.
Request Parameters:
customer
- (required or optional) A validCUSTOMER_ID
that 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_ID
in the card parameter.card
- (required or optional) A valid unusedTOKEN_ID
orCARD_ID
. In the case of theCARD_ID
the customer parameter must be present and be the owner of the card. For theTOKEN_ID
, the customer must not be passed.amount
- (required, minimum: 2000, maximum: 100000000) 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"
)
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)
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(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(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")